←Select platform

FindInstances Method

Summary

Finds instances under this series. The Match event will be called for each instance.

Syntax

C#
VB
C++
public void FindInstances()
Public Sub FindInstances()
public: 
void FindInstances(); 

Example

Finds a moves a study.

C#
VB
Imports Leadtools 
Imports Leadtools.Dicom.Scu 
Imports Leadtools.Dicom.Scu.Common 
Imports Leadtools.Dicom 
Imports Leadtools.Dicom.Common.DataTypes 
 
Private AllSeries As List(Of Series) = New List(Of Series)() 
Private SeriesInstances As List(Of CompositeObjectInstance) = New List(Of CompositeObjectInstance)() 
 
<TestMethod()> _ 
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 
using Leadtools; 
using Leadtools.Dicom.Scu; 
using Leadtools.Dicom.Scu.Common; 
using Leadtools.Dicom; 
using Leadtools.Dicom.Common.DataTypes; 
 
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

See Also

Reference

Series Class

Series Members

Products | Support | Contact Us | Copyright Notices
© 1991-2017 LEAD Technologies, Inc. All Rights Reserved.
Leadtools.Dicom.Scu Assembly
Click or drag to resize