Sends a C-STORE-REQ message to a peer member of a connection defined by SCP.
public void Store(
DicomScp Scp,
DicomDataSet dataset
)
Public Overloads Sub Store( _
ByVal Scp As DicomScp, _
ByVal dataset As DicomDataSet _
)
public:
void Store(
DicomScp^ Scp,
DicomDataSet^ dataset
)
Scp
The peer connection to send the C-STORE-REQ to.
dataset
The dataset to send.
Exceptions
Exception | Description |
---|---|
System.ArgumentNullException | Thrown when SCP is null. |
Stores a dataset a remote DICOM server.
using Leadtools;
using Leadtools.Dicom.Scu;
using Leadtools.Dicom.Scu.Common;
using Leadtools.Dicom;
using Leadtools.Dicom.Common.DataTypes;
public void StoreDataset()
{
DicomEngine.Startup();
DicomNet.Startup();
StoreScu storeDataset = new StoreScu();
DicomScp scp = new DicomScp();
DicomDataSet ds = new DicomDataSet();
//
// Change these parameters to reflect the calling AETitle.
//
storeDataset.AETitle = "LEAD_CLIENT";
storeDataset.HostPort = 1000;
storeDataset.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");
string fileName = Path.Combine(LEAD_VARS.ImagesDir, "Image1.dcm");
ds.Load(fileName, DicomDataSetLoadFlags.None);
storeDataset.ReceiveBuffer += new ReceiveBufferDelegate(storeDataset_ReceiveBuffer);
storeDataset.BeforeCStore += new BeforeCStoreDelegate(storeDataset_BeforeCStore);
storeDataset.AfterCStore += new AfterCStoreDelegate(storeDataset_AfterCStore);
storeDataset.Compression = Compression.Lossless;
storeDataset.Store(scp, ds);
DicomNet.Shutdown();
DicomEngine.Shutdown();
}
void storeDataset_ReceiveBuffer(object sender, ReceiveBufferEventArgs e)
{
Console.WriteLine("{0} bytes of data received", e.BufferSize);
}
void storeDataset_BeforeCStore(object sender, BeforeCStoreEventArgs e)
{
//
// Stop storing if we received an error
//
if (e.Error != null)
e.Skip = SkipMethod.AllFiles;
}
void storeDataset_AfterCStore(object sender, AfterCStoreEventArgs e)
{
string msg;
msg = string.Format("Dataset store complete. Status: {0}", e.Status);
Console.WriteLine(msg);
}
static class LEAD_VARS
{
public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
}
Imports Leadtools
Imports Leadtools.Dicom.Scu
Imports Leadtools.Dicom.Scu.Common
Imports Leadtools.Dicom
Imports Leadtools.Dicom.Common.DataTypes
Public Sub StoreDataset()
DicomEngine.Startup()
DicomNet.Startup()
Dim cstoreDataset As StoreScu = New StoreScu()
Dim scp As DicomScp = New DicomScp()
Dim ds As DicomDataSet = New DicomDataSet()
'
' Change these parameters to reflect the calling AETitle.
'
cstoreDataset.AETitle = "LEAD_CLIENT"
cstoreDataset.HostPort = 1000
cstoreDataset.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 = 104
scp.Timeout = 60
scp.PeerAddress = IPAddress.Parse("10.1.1.96")
ds.Load(Path.Combine(LEAD_VARS.ImagesDir, "Image1.dcm"), DicomDataSetLoadFlags.None)
AddHandler cstoreDataset.ReceiveBuffer, AddressOf cstoreDataset_ReceiveBuffer
AddHandler cstoreDataset.BeforeCStore, AddressOf cstoreDataset_BeforeCStore
AddHandler cstoreDataset.AfterCStore, AddressOf cstoreDataset_AfterCStore
cstoreDataset.Compression = Compression.Lossless
cstoreDataset.Store(scp, ds)
DicomNet.Shutdown()
DicomEngine.Shutdown()
End Sub
Private Sub cstoreDataset_ReceiveBuffer(ByVal sender As Object, ByVal e As ReceiveBufferEventArgs)
Console.WriteLine("{0} bytes of data received", e.BufferSize)
End Sub
Private Sub cstoreDataset_BeforeCStore(ByVal sender As Object, ByVal e As BeforeCStoreEventArgs)
'
' Stop storing if we received an error
'
If Not e.Error Is Nothing Then
e.Skip = SkipMethod.AllFiles
End If
End Sub
Private Sub cstoreDataset_AfterCStore(ByVal sender As Object, ByVal e As AfterCStoreEventArgs)
Dim msg As String
msg = String.Format("Dataset store complete. Status: {0}", e.Status)
Console.WriteLine(msg)
End Sub
Public NotInheritable Class LEAD_VARS
Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS 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
Your email has been sent to support! Someone should be in touch! If your matter is urgent please come back into chat.
Chat Hours:
Monday - Friday, 8:30am to 6pm ET
Thank you for your feedback!
Please fill out the form again to start a new chat.
All agents are currently offline.
Chat Hours:
Monday - Friday
8:30AM - 6PM EST
To contact us please fill out this form and we will contact you via email.