C#
VB
C++
Sends a C-STORE-REQ message to a peer member of a connection defined by Scp.
public void Store(DicomScp Scp,string Dir,string SearchPattern,bool Recurse)
Public Overloads Sub Store( _ByVal Scp As Leadtools.Dicom.Scu.DicomScp, _ByVal Dir As String, _ByVal SearchPattern As String, _ByVal Recurse As Boolean _)
public:void Store(Leadtools.Dicom.Scu.DicomScp^ Scp,String^ Dir,String^ SearchPattern,bool Recurse)
Scp
The peer connection to send the C-MOVE-REQ to.
Dir
The file directory to search for DICOM files.
SearchPattern
The search pattern.
Recurse
If set to true recurse the directory.
Stores all DICOM files in the specified directory to a DICOM server.
using Leadtools;using Leadtools.Dicom.Scu;using Leadtools.Dicom.Scu.Common;using Leadtools.Dicom;using Leadtools.Dicom.Common.DataTypes;public void StoreDirectory(){DicomEngine.Startup();DicomNet.Startup();StoreScu storeDirectory = new StoreScu();DicomScp scp = new DicomScp();//// Change these parameters to reflect the calling AETitle.//storeDirectory.AETitle = "LEAD_CLIENT";storeDirectory.HostPort = 1000;storeDirectory.HostAddress = Dns.GetHostEntry(Dns.GetHostName()).AddressList.FirstOrDefault(ip => ip.AddressFamily == AddressFamily.InterNetwork);//// Change these parameters to reflect the called AETitle (server).//scp.AETitle = "MI_SERVER";scp.Port = 104;scp.Timeout = 60;scp.PeerAddress = IPAddress.Parse("10.1.1.96");storeDirectory.BeforeAssociateRequest += new BeforeAssociationRequestDelegate(storeDirectory_BeforeAssociateRequest);storeDirectory.AfterAssociateRequest += new AfterAssociateRequestDelegate(storeDirectory_AfterAssociateRequest);storeDirectory.BeforeCStore += new BeforeCStoreDelegate(storeDirectory_BeforeCStore);storeDirectory.AfterCStore += new AfterCStoreDelegate(storeDirectory_AfterCStore);storeDirectory.Compression = Compression.Native;storeDirectory.Store(scp, LEAD_VARS.ImagesDir, "*.*", false);DicomNet.Shutdown();DicomEngine.Shutdown();}void storeDirectory_BeforeAssociateRequest(object sender, BeforeAssociateRequestEventArgs e){Console.WriteLine("Before AssociateRequest");}void storeDirectory_AfterAssociateRequest(object sender, AfterAssociateRequestEventArgs e){StoreScu scu = sender as StoreScu;Console.WriteLine("After AssociateRequest");for (int i = 0; i < e.Associate.PresentationContextCount; i++){byte pid = e.Associate.GetPresentationContextID(i);string absSyntax = e.Associate.GetAbstract(pid);DicomAssociateAcceptResultType result = e.Associate.GetResult(pid);DicomUid uid = DicomUidTable.Instance.Find(absSyntax);Console.WriteLine("\tPresentationContext ({0})", pid);Console.WriteLine("\t\tAbstractSyntax: {0}", absSyntax);if (uid != null)Console.WriteLine("\t\tDescription: {0}", uid.Name);Console.WriteLine("\t\tResult: {0}", result);}}void storeDirectory_BeforeCStore(object sender, BeforeCStoreEventArgs e){//// Stop storing if we received an error//if (e.Error != null)e.Skip = SkipMethod.AllFiles;}void storeDirectory_AfterCStore(object sender, AfterCStoreEventArgs e){string msg;msg = string.Format("{0} store complete. Status: {1}", e.FileInfo.FullName, e.Status);Console.WriteLine(msg);}static class LEAD_VARS{public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";}
Imports LeadtoolsImports Leadtools.Dicom.ScuImports Leadtools.Dicom.Scu.CommonImports Leadtools.DicomImports Leadtools.Dicom.Common.DataTypesPublic Sub StoreDirectory()DicomEngine.Startup()DicomNet.Startup()Dim cstoreFolder As StoreScu = New StoreScu()Dim scp As DicomScp = New DicomScp()'' Change these parameters to reflect the calling AETitle.'cstoreFolder.AETitle = "LEAD_CLIENT"cstoreFolder.HostPort = 1000cstoreFolder.HostAddress = Dns.GetHostEntry(Dns.GetHostName()).AddressList.FirstOrDefault(Function(ip) ip.AddressFamily = AddressFamily.InterNetwork)'' Change these parameters to reflect the called AETitle (server).'scp.AETitle = "MI_SERVER"scp.Port = 104scp.Timeout = 60scp.PeerAddress = IPAddress.Parse("10.1.1.96")AddHandler cstoreFolder.BeforeAssociateRequest, AddressOf cstoreFolder_BeforeAssociateRequestAddHandler cstoreFolder.AfterAssociateRequest, AddressOf cstoreFolder_AfterAssociateRequestAddHandler cstoreFolder.BeforeCStore, AddressOf cstoreFolder_BeforeCStoreAddHandler cstoreFolder.AfterCStore, AddressOf cstoreFolder_AfterCStorecstoreFolder.Compression = Compression.NativecstoreFolder.Store(scp, LEAD_VARS.ImagesDir, "*.*", False)DicomNet.Shutdown()DicomEngine.Shutdown()End SubPrivate Sub cstoreFolder_BeforeAssociateRequest(ByVal sender As Object, ByVal e As BeforeAssociateRequestEventArgs)Console.WriteLine("Before AssociateRequest")End SubPrivate Sub cstoreFolder_AfterAssociateRequest(ByVal sender As Object, ByVal e As AfterAssociateRequestEventArgs)Dim scu As StoreScu = TryCast(sender, StoreScu)Console.WriteLine("After AssociateRequest")Dim i As Integer = 0Do While i < e.Associate.PresentationContextCountDim pid As Byte = e.Associate.GetPresentationContextID(i)Dim absSyntax As String = e.Associate.GetAbstract(pid)Dim result As DicomAssociateAcceptResultType = e.Associate.GetResult(pid)Dim uid As DicomUid = DicomUidTable.Instance.Find(absSyntax)Console.WriteLine(Constants.vbTab & "PresentationContext ({0})", pid)Console.WriteLine(Constants.vbTab + Constants.vbTab & "AbstractSyntax: {0}", absSyntax)If Not uid Is Nothing ThenConsole.WriteLine(Constants.vbTab + Constants.vbTab & "Description: {0}", uid.Name)End IfConsole.WriteLine(Constants.vbTab + Constants.vbTab & "Result: {0}", result)i += 1LoopEnd SubPrivate Sub cstoreFolder_BeforeCStore(ByVal sender As Object, ByVal e As BeforeCStoreEventArgs)'' Stop storing if we received an error'If Not e.Error Is Nothing Thene.Skip = SkipMethod.AllFilesEnd IfEnd SubPrivate Sub cstoreFolder_AfterCStore(ByVal sender As Object, ByVal e As AfterCStoreEventArgs)Dim msg As Stringmsg = String.Format("{0} store complete. Status: {1}", e.FileInfo.FullName, e.Status)Console.WriteLine(msg)End SubPublic NotInheritable Class LEAD_VARSPublic Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"End Class
Raster .NET | C API | C++ Class Library | JavaScript HTML5
Document .NET | C API | C++ Class Library | JavaScript HTML5
Medical .NET | C API | C++ Class Library | JavaScript HTML5
Medical Web Viewer .NET
