Finds instances under this series. The Match event will be called for each instance.
Syntax
Visual Basic (Declaration) | |
---|
Public Sub FindInstances() |
Visual Basic (Usage) | Copy Code |
---|
Dim instance As Series
instance.FindInstances() |
C# | |
---|
public void FindInstances() |
Managed Extensions for C++ | |
---|
public: void FindInstances(); |
C++/CLI | |
---|
public:
void FindInstances(); |
Example
Finds a moves a study.
Visual Basic | Copy Code |
---|
Private AllSeries As List(Of Series) = New List(Of Series)()
Private SeriesInstances As List(Of CompositeObjectInstance) = New List(Of CompositeObjectInstance)()
Public Sub RetrieveSeries()
DicomEngine.Startup()
DicomNet.Startup()
Dim seriesRetrieve_Series As QueryRetrieveScu = New QueryRetrieveScu()
Dim query As FindQuery = New FindQuery()
Dim scp As DicomScp = New DicomScp(IPAddress.Parse("10.1.1.96"), "MI_SERVER", 104)
Dim ds As DicomDataSet = New DicomDataSet()
'
' Change these parameters to reflect your Dicom server.
'
scp.Timeout = 60
'
' Load a dataset that has information needed for a C-FIND-REQ at series level. Change
' this to reflect a dataset on your computer.
'
ds.Load(Path.Combine(LEAD_VARS.ImagesDir, "image1.dcm"), DicomDataSetLoadFlags.LoadAndClose)
query.QueryLevel = QueryLevel.Series
'
' Query for a specific study instance uid. Change this to a study instance
' that is available on your Dicom Server
'
query.StudyInstanceUID = "1.2.840.114257.3.6.5.41964868"
AddHandler seriesRetrieve_Series.MatchSeries, AddressOf seriesRetrieve_MatchSeries
AddHandler seriesRetrieve_Series.MatchInstance, AddressOf seriesRetrieve_MatchInstance
seriesRetrieve_Series.Find(scp, query, True, ds)
If AllSeries.Count > 0 Then
AllSeries(0).FindInstances()
If SeriesInstances.Count > 0 Then
'
' Move all instances to me
'
AllSeries(0).Move(String.Empty)
End If
End If
DicomNet.Shutdown()
DicomEngine.Shutdown()
End Sub
Private Sub seriesRetrieve_MatchSeries(ByVal sender As Object, ByVal e As MatchEventArgs(Of Series))
'
' Find all instances in series
'
AllSeries.Add(e.Info)
End Sub
Private Sub seriesRetrieve_MatchInstance(ByVal sender As Object, ByVal e As MatchEventArgs(Of CompositeObjectInstance))
SeriesInstances.Add(e.Info)
End Sub
Public NotInheritable Class LEAD_VARS
Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
End Class |
C# | Copy Code |
---|
List<Series> AllSeries = new List<Series>();
List<CompositeObjectInstance> SeriesInstances = new List<CompositeObjectInstance>();
public void RetrieveSeries()
{
DicomEngine.Startup();
DicomNet.Startup();
QueryRetrieveScu seriesRetrieve = new QueryRetrieveScu();
FindQuery query = new FindQuery();
DicomScp scp = new DicomScp(IPAddress.Parse("10.1.1.96"), "MI_SERVER", 104);
DicomDataSet ds = new DicomDataSet();
//
// Change these parameters to reflect your Dicom server.
//
scp.Timeout = 60;
//
// Load a dataset that has information needed for a C-FIND-REQ at series level. Change
// this to reflect a dataset on your computer.
//
ds.Load(Path.Combine(LEAD_VARS.ImagesDir,"Image1.dcm"), DicomDataSetLoadFlags.LoadAndClose);
query.QueryLevel = QueryLevel.Series;
//
// Query for a specific study instance uid. Change this to a study instance
// that is available on your Dicom Server
//
query.StudyInstanceUID = "1.2.840.114257.3.6.5.41964868";
seriesRetrieve.MatchSeries += new MatchSeriesDelegate(seriesRetrieve_MatchSeries);
seriesRetrieve.MatchInstance += new MatchInstanceDelegate(seriesRetrieve_MatchInstance);
seriesRetrieve.Find(scp, query, true, ds);
if(AllSeries.Count>0)
{
AllSeries[0].FindInstances();
if(SeriesInstances.Count > 0)
{
//
// Move all instances to me
//
AllSeries[0].Move(string.Empty);
}
}
DicomNet.Shutdown();
DicomEngine.Shutdown();
}
void seriesRetrieve_MatchSeries(object sender, MatchEventArgs<Series> e)
{
//
// Find all instances in series
//
AllSeries.Add(e.Info);
}
void seriesRetrieve_MatchInstance(object sender, MatchEventArgs<CompositeObjectInstance> e)
{
SeriesInstances.Add(e.Info);
}
static class LEAD_VARS
{
public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
} |
Requirements
Target Platforms: Microsoft .NET Framework 2.0, Windows 2000, Windows XP, Windows Server 2003 family, Windows Server 2008 family, Windows Vista, Windows 7
See Also