Scp
The peer connection to send the C-STORE-REQ to.
DicomFile
The DICOM file to send.
Exceptions
| Exception | Description |
|---|---|
| System.IO.FileNotFoundException | Thrown when DicomFile does not exist |
| System.ArgumentNullException | Thrown when SCP is null. |
The file can be a single DICOM file or a DICOMDIR file. If the file is a DICOMDIR all files in the DICOM will be sent.
Stores a local file to a remote 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 StoreFile(){DicomEngine.Startup();DicomNet.Startup();StoreScu storeFile = new StoreScu();DicomScp scp = new DicomScp();//// Change these parameters to reflect the calling AETitle.//storeFile.AETitle = "LEAD_CLIENT";storeFile.HostPort = 1000;storeFile.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");storeFile.ReceiveBuffer += new ReceiveBufferDelegate(storeFile_ReceiveBuffer);storeFile.BeforeCStore += new BeforeCStoreDelegate(storeFile_BeforeCStore);storeFile.AfterCStore += new AfterCStoreDelegate(storeFile_AfterCStore);storeFile.Compression = Compression.Lossless;string fileName = Path.Combine(LEAD_VARS.ImagesDir, "DICOM", "Image1.dcm");storeFile.Store(scp, fileName);DicomNet.Shutdown();DicomEngine.Shutdown();}void storeFile_ReceiveBuffer(object sender, ReceiveBufferEventArgs e){Console.WriteLine("{0} bytes of data received", e.BufferSize);}void storeFile_BeforeCStore(object sender, BeforeCStoreEventArgs e){//// Stop storing if we received an error//if (e.Error != null)e.Skip = SkipMethod.AllFiles;}void storeFile_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 StoreFile()DicomEngine.Startup()DicomNet.Startup()Dim cstore As StoreScu = New StoreScu()Dim scp As DicomScp = New DicomScp()'' Change these parameters to reflect the calling AETitle.'cstore.AETitle = "LEAD_CLIENT"cstore.HostPort = 1000cstore.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 cstore.ReceiveBuffer, AddressOf cstore_ReceiveBufferAddHandler cstore.BeforeCStore, AddressOf cstore_BeforeCStoreAddHandler cstore.AfterCStore, AddressOf cstore_AfterCStorecstore.Compression = Compression.Losslesscstore.Store(scp, Path.Combine(LEAD_VARS.ImagesDir, "Image1.dic"))DicomNet.Shutdown()DicomEngine.Shutdown()End SubPrivate Sub cstore_ReceiveBuffer(ByVal sender As Object, ByVal e As ReceiveBufferEventArgs)Console.WriteLine("{0} bytes of data received", e.BufferSize)End SubPrivate Sub cstore_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 cstore_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
