LEADTOOLS Medical (Leadtools.Dicom.Scu assembly)
LEAD Technologies, Inc

FindInstances Method

Example 





Finds instances under this series. The Match event will be called for each instance.
Syntax
public void FindInstances()
'Declaration
 
Public Sub FindInstances() 
'Usage
 
Dim instance As Series
 
instance.FindInstances()
public void FindInstances()
 function Leadtools.Dicom.Scu.Series.FindInstances()
public:
void FindInstances(); 
Example
 
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
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: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

See Also

Reference

Series Class
Series Members

 

 


Products | Support | Contact Us | Copyright Notices

© 2006-2012 All Rights Reserved. LEAD Technologies, Inc.

Leadtools.Dicom.Scu requires a Medical toolkit license and unlock key. For more information, refer to: LEADTOOLS Toolkit Features