Sends a C-MOVE-REQ message to a peer member of a connection defined by Scp.
public void Move(
DicomScp Scp,
string DestAE,
string StudyInstanceUID,
string SeriesInstanceUID
)
Public Overloads Sub Move( _
ByVal Scp As DicomScp, _
ByVal DestAE As String, _
ByVal StudyInstanceUID As String, _
ByVal SeriesInstanceUID As String _
)
public:
void Move(
DicomScp^ Scp,
String^ DestAE,
String^ StudyInstanceUID,
String^ SeriesInstanceUID
)
Scp
The peer connection to send the C-MOVE-REQ to.
DestAE
The name of the Application Entity to which to move the data. If DestAE is null or empty the dataset will be moved to the AETitle defined in DicomFindSCU
StudyInstanceUID
The study instance UID of the study to move.
SeriesInstanceUID
The series instance UID of the series to move.
Performs a series level move. All instances under the specified series will be moved to the DestAE. If the SCP does not support relational queries both StudyInstanceUID and SeriesInstanceUID must be provided. If relational queries are supported only SeriesInstanceUID is required.
Moves the specified series to the local computer.
using Leadtools;
using Leadtools.Dicom.Scu;
using Leadtools.Dicom.Scu.Common;
using Leadtools.Dicom;
using Leadtools.Dicom.Common.DataTypes;
public void MoveSeries()
{
DicomEngine.Startup();
DicomNet.Startup();
QueryRetrieveScu retrieveSeries = new QueryRetrieveScu();
FindQuery query = new FindQuery();
DicomScp scp = new DicomScp();
//
// Change these parameters to reflect the calling AETitle.
//
retrieveSeries.AETitle = "LEAD_CLIENT";
retrieveSeries.HostPort = 1000;
retrieveSeries.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");
retrieveSeries.BeforeCMove += new BeforeCMoveDelegate(retrieveSeries_BeforeCMove);
retrieveSeries.Moved += new MovedDelegate(retrieveSeries_Moved);
retrieveSeries.AfterCMove += new AfterCMoveDelegate(retrieveSeries_AfterCMove);
retrieveSeries.HostReady += RetrieveSeries_HostReady;
retrieveSeries.Move(scp, string.Empty, "1.2.840.114257.3.6.5.41964868", "1.2.840.114257.3.6.5.5.4214471");
DicomNet.Shutdown();
DicomEngine.Shutdown();
}
private void RetrieveSeries_HostReady(object sender, HostReadyEventArgs e)
{
if (e.ScpHost != null)
{
Console.WriteLine("HostReady: Host AETitle:{0} Host Port:{1}", e.ScpHost.AETitle, e.ScpHost.HostPort);
}
}
void retrieveSeries_BeforeCMove(object sender, BeforeCMoveEventArgs e)
{
Console.WriteLine("Before CMove");
}
void retrieveSeries_Moved(object sender, MovedEventArgs e)
{
Console.WriteLine(e.Patient.Name.Full);
Console.WriteLine(e.Study.AccessionNumber);
Console.WriteLine(e.Series.Number);
Console.WriteLine(e.Instance.SOPInstanceUID);
Console.WriteLine("==========================================");
}
void retrieveSeries_AfterCMove(object sender, AfterCMoveEventArgs e)
{
Console.WriteLine("After CMove");
Console.WriteLine("\t{0} Completed", e.Completed);
Console.WriteLine("\t{0} Failed", e.Failed);
Console.WriteLine("\t{0} Warning", e.Warning);
Console.WriteLine("\tStatus: {0}", e.Status);
}
Imports Leadtools
Imports Leadtools.Dicom.Scu
Imports Leadtools.Dicom.Scu.Common
Imports Leadtools.Dicom
Imports Leadtools.Dicom.Common.DataTypes
Public Sub MoveSeries()
DicomEngine.Startup()
DicomNet.Startup()
Dim retrieveSeries As QueryRetrieveScu = New QueryRetrieveScu()
Dim query As FindQuery = New FindQuery()
Dim scp As DicomScp = New DicomScp()
'
' Change these parameters to reflect the calling AETitle.
'
retrieveSeries.AETitle = "LEAD_CLIENT"
retrieveSeries.HostPort = 1000
retrieveSeries.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")
AddHandler retrieveSeries.BeforeCMove, AddressOf retrieveSeries_BeforeCMove
AddHandler retrieveSeries.Moved, AddressOf retrieveSeries_Moved
AddHandler retrieveSeries.AfterCMove, AddressOf retrieveSeries_AfterCMove
AddHandler retrieveSeries.HostReady, AddressOf retrieveSeries_HostReady
retrieveSeries.Move(scp, String.Empty, "1.2.840.114257.3.6.5.41964868", "1.2.840.114257.3.6.5.5.4214471")
DicomNet.Shutdown()
DicomEngine.Shutdown()
End Sub
Private Sub retrieveSeries_HostReady(ByVal sender As Object, ByVal e As HostReadyEventArgs)
If e.ScpHost IsNot Nothing Then
Console.WriteLine("HostReady: Host AETitle:{0} Host Port:{1}", e.ScpHost.AETitle, e.ScpHost.HostPort)
End If
End Sub
Private Sub retrieveSeries_BeforeCMove(ByVal sender As Object, ByVal e As BeforeCMoveEventArgs)
Console.WriteLine("Before CMove")
End Sub
Private Sub retrieveSeries_Moved(ByVal sender As Object, ByVal e As MovedEventArgs)
Console.WriteLine(e.Patient.Name.Full)
Console.WriteLine(e.Study.AccessionNumber)
Console.WriteLine(e.Series.Number)
Console.WriteLine(e.Instance.SOPInstanceUID)
Console.WriteLine("==========================================")
End Sub
Private Sub retrieveSeries_AfterCMove(ByVal sender As Object, ByVal e As AfterCMoveEventArgs)
Console.WriteLine("{0} Completed", e.Completed)
Console.WriteLine("{0} Failed", e.Failed)
Console.WriteLine("{0} Warning", e.Warning)
Console.WriteLine("Status: {0}", e.Status)
End Sub
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