Imports Leadtools
Imports Leadtools.Dicom.Scu
Imports Leadtools.Dicom.Scu.Common
Imports Leadtools.Dicom
Imports Leadtools.Dicom.Common.DataTypes
Private Studies As List(Of Study) = New List(Of Study)()
Private StudySeries As List(Of Series) = New List(Of Series)()
Public Sub StudyRetrieve()
DicomEngine.Startup()
DicomNet.Startup()
Dim studyRetrieve_Dataset As QueryRetrieveScu = New QueryRetrieveScu()
Dim query As FindQuery = New FindQuery()
Dim scp As DicomScp = New DicomScp()
'
' Change these parameters to reflect the calling AETitle.
'
studyRetrieve_Dataset.AETitle = "LEAD_CLIENT"
studyRetrieve_Dataset.HostPort = 1000
studyRetrieve_Dataset.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")
'
' Find all studies
'
query.QueryLevel = QueryLevel.Study
AddHandler studyRetrieve_Dataset.MatchStudy, AddressOf studyRetrieve_MatchStudy
AddHandler studyRetrieve_Dataset.MatchSeries, AddressOf studyRetrieve_MatchSeries
studyRetrieve_Dataset.Find(scp, query)
If Studies.Count > 0 Then
'
' Find all series in study
'
Studies(0).FindSeries()
If StudySeries.Count > 0 Then
'
' Move all series to me
'
Studies(0).Move(String.Empty)
End If
End If
studyRetrieve_Dataset = Nothing
query = Nothing
scp = Nothing
DicomNet.Shutdown()
DicomEngine.Shutdown()
End Sub
Private Sub studyRetrieve_MatchStudy(ByVal sender As Object, ByVal e As MatchEventArgs(Of Study))
Studies.Add(e.Info)
End Sub
Private Sub studyRetrieve_MatchSeries(ByVal sender As Object, ByVal e As MatchEventArgs(Of Series))
StudySeries.Add(e.Info)
End Sub
using Leadtools;
using Leadtools.Dicom.Scu;
using Leadtools.Dicom.Scu.Common;
using Leadtools.Dicom;
using Leadtools.Dicom.Common.DataTypes;
List<Study> Studies = new List<Study>();
List<Series> StudySeries = new List<Series>();
public void StudyRetrieve()
{
DicomEngine.Startup();
DicomNet.Startup();
QueryRetrieveScu studyRetrieve = new QueryRetrieveScu();
FindQuery query = new FindQuery();
DicomScp scp = new DicomScp();
//
// Change these parameters to reflect the calling AETitle.
//
studyRetrieve.AETitle = "LEAD_CLIENT";
studyRetrieve.HostPort = 1000;
studyRetrieve.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");
//
// Find all studies
//
query.QueryLevel = QueryLevel.Study;
studyRetrieve.MatchStudy += new MatchStudyDelegate(studyRetrieve_MatchStudy);
studyRetrieve.MatchSeries += new MatchSeriesDelegate(studyRetrieve_MatchSeries);
studyRetrieve.Find(scp, query);
if(Studies.Count>0)
{
//
// Find all series in study
//
Studies[0].FindSeries();
if(StudySeries.Count>0)
{
//
// Move all series to me
//
Studies[0].Move(string.Empty);
}
}
studyRetrieve = null;
query = null;
scp = null;
DicomNet.Shutdown();
DicomEngine.Shutdown();
}
void studyRetrieve_MatchStudy(object sender, MatchEventArgs<Study> e)
{
Studies.Add(e.Info);
}
void studyRetrieve_MatchSeries(object sender, MatchEventArgs<Series> e)
{
StudySeries.Add(e.Info);
}