LEADTOOLS Medical (Leadtools.Medical.Workstation.Client assembly) Send comments on this topic. | Back to Introduction - All Topics | Help Version 17.0.3.30
RetrieveImages Method
See Also 
Leadtools.Medical.Workstation.Client Namespace > RetrieveClient Class : RetrieveImages Method



studyInstanceUID
The Study Instance UID System.String value against which to match the retrieved datasets. This can be null or System.String.Empty.
seriesInstanceUID
The Series Instance UID System.String value against which to match the retrieved datasets. This can be null or System.String.Empty.
studyInstanceUID
The Study Instance UID System.String value against which to match the retrieved datasets. This can be null or System.String.Empty.
seriesInstanceUID
The Series Instance UID System.String value against which to match the retrieved datasets. This can be null or System.String.Empty.
Starts the DICOM DataSets retrieval operation.

Syntax

Visual Basic (Declaration) 
Public Function RetrieveImages( _
   ByVal studyInstanceUID As String, _
   ByVal seriesInstanceUID As String _
) As IEnumerable(Of KeyValuePair(Of String,RetrievedDataSet))
Visual Basic (Usage)Copy Code
Dim instance As RetrieveClient
Dim studyInstanceUID As String
Dim seriesInstanceUID As String
Dim value As IEnumerable(Of KeyValuePair(Of String,RetrievedDataSet))
 
value = instance.RetrieveImages(studyInstanceUID, seriesInstanceUID)

Parameters

studyInstanceUID
The Study Instance UID System.String value against which to match the retrieved datasets. This can be null or System.String.Empty.
seriesInstanceUID
The Series Instance UID System.String value against which to match the retrieved datasets. This can be null or System.String.Empty.

Return Value

An System.Collections.IEnumerable of a KeyValuePair Enumerator which holds the DICOM instance SOP Instance UID as its key and a RetrievedDataSet as its value.

Example

Visual BasicCopy Code
Public Sub RetrieveLocalDatabase()
         Leadtools.Examples.Support.Unlock()

         Dim clientInfo As AeInfo = New AeInfo()


         clientInfo.Address = Dns.GetHostName() 'local machine
         clientInfo.AETitle = "TEST_CLIENT"
         clientInfo.Port = 1000
         Dim dataAccess As Medical.Storage.DataAccessLayer.IStorageDataAccessAgent

         Dim fromConfiguration As Boolean

         fromConfiguration = False
         If (fromConfiguration) Then

            'Make sure that the Sotrage Data Access is configured before creating an instance.
            dataAccess = DataAccessFactory.GetInstance(New StorageDataAccessConfigurationView()).CreateDataAccessAgent(Of IStorageDataAccessAgent)()
         Else

            Dim connectionString As String = "Data Source=local;Initial Catalog=DicomStorage;Integrated Security=True;User ID=;Password=;Pooling=True"
            'or you can directly create the data access object which works with your database
            dataAccess = New StorageSqlDbDataAccessAgent(connectionString)
         End If
         'Make sure that the MoveAddIn is configured properly before using this class.
         Dim client As DbRetrieveClient = New DbRetrieveClient(clientInfo, dataAccess)

         client.LoadDataSetOnRetrieve = False 'Enable this if you need to read information from the DICOM dataset.

         AddHandler client.InstanceMoved, AddressOf client_InstanceMoved
         client.EnableLog = True
         client.LogFileName = Path.Combine(LEAD_VARS.ImagesDir, "DicomLog.txt")

         PerformClientRetrieve(client)
      End Sub

      Sub client_InstanceMoved(ByVal sender As Object, ByVal e As InstanceMovedEventArgs)
         Console.WriteLine("Number of moved images: {0}", e.Completed)
      End Sub

      Public Sub PerformClientRetrieve(ByVal client As RetrieveClient)


         Dim images As IEnumerable(Of KeyValuePair(Of String, RetrievedDataSet))

         images = client.RetrieveImages("", "") 'perform a wild card search


         For Each imageInformation As KeyValuePair(Of String, RetrievedDataSet) In images
            Console.WriteLine("SOPInstanceUID: {0}", imageInformation.Key)
            Console.WriteLine(imageInformation.Value.DataSetFilePath)
            Console.WriteLine("---------------------------------------------")
         Next imageInformation

      End Sub

Public NotInheritable Class LEAD_VARS
   Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
End Class
C#Copy Code
public void RetrieveLocalDatabase()
      {
         Leadtools.Examples.Support.Unlock();

         AeInfo clientInfo = new AeInfo ( );


         clientInfo.Address = Dns.GetHostName(); //local machine
         clientInfo.AETitle = "TEST_CLIENT" ;
         clientInfo.Port    = 1000 ;

         IStorageDataAccessAgent dataAccess = null ;
         bool fromConfiguration = false ;

         if ( fromConfiguration )
         {
            //Make sure that the Sotrage Data Access is configured before creating an instance.
            dataAccess = DataAccessFactory.GetInstance ( new StorageDataAccessConfigurationView  ( ) ).CreateDataAccessAgent <IStorageDataAccessAgent> ( ) ;
         }
         else
         {
            string connectionString = @"Data Source=local;Initial Catalog=DicomStorage;Integrated Security=True;User ID=;Password=;Pooling=True";
            //or you can directly create the data access object which works with your database
            dataAccess = new StorageSqlDbDataAccessAgent ( connectionString ) ;
         }


         DbRetrieveClient client = new DbRetrieveClient(clientInfo, dataAccess);

         client.InstanceMoved += new EventHandler<InstanceMovedEventArgs>(client_InstanceMoved);
         client.EnableLog = true;
         client.LogFileName = Path.Combine(LEAD_VARS.ImagesDir, "DicomLog.txt");
         client.LoadDataSetOnRetrieve = false ;//Enable this if you need to read information from the DICOM dataset.
         PerformClientRetrieve(client); 
      }

      void client_InstanceMoved(object sender, InstanceMovedEventArgs e)
      {
         Console.WriteLine ( "Number of moved images: {0}", e.Completed ) ;
      }

      public void PerformClientRetrieve(RetrieveClient client) 
      {
         IEnumerable <KeyValuePair <string, RetrievedDataSet>> images = client.RetrieveImages ( "", "" ) ; //perform a wild card search


         foreach ( KeyValuePair <string, RetrievedDataSet> imageInformation in images ) 
         {
            Console.WriteLine ( "SOPInstanceUID: {0}", imageInformation.Key ) ;
            Console.WriteLine ( imageInformation.Value.DataSetFilePath ) ;
            Console.WriteLine("---------------------------------------------" );
         }
      }

static class LEAD_VARS
{
   public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
}

Remarks

The RetrieveClient.InstanceReceived event will be fired when each instance is received.

Calling this method while the Processing property is true results in an InvalidOperationException being thrown.

If the operation is cancelled this method throws a ClientCommunicationCanceled exception.

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

Leadtools.Medical.Workstation.Client requires a Medical toolkit license and unlock key. For more information, refer to: Imaging Pro/Document/Medical Features