public void Store(DicomScp Scp,string Dir,string SearchPattern,bool Recurse,bool singleConnection)
Public Overloads Sub Store( _ByVal Scp As DicomScp, _ByVal Dir As String, _ByVal SearchPattern As String, _ByVal Recurse As Boolean, _ByVal singleConnection As Boolean _)
public:void Store(DicomScp^ Scp,String^ Dir,String^ SearchPattern,bool Recurse,bool singleConnection)
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.
singleConnection
If set to true use a single DICOM connection for all C-STORE.
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;using Leadtools.Dicom.Common.DataTypes.Status;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 + "\\DICOM", "*.*", 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);if (e.Status != DicomCommandStatusType.Success){string statusAllString = e.StatusAll.ToString(StatusFormatFlags.IgnoreStatus, "\n", "\t");Console.WriteLine(statusAllString);}}static class LEAD_VARS{public const string ImagesDir = @"C:\LEADTOOLS21\Resources\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:\LEADTOOLS21\Resources\Images"End Class
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document
