←Select platform

RetrieveImages Method

Summary

Starts the DICOM DataSets retrieval operation.

Syntax

C#
VB
C++
public IEnumerable<KeyValuePair<string,RetrievedDataSet>> RetrieveImages(  
   string studyInstanceUID, 
   string seriesInstanceUID 
) 
Public Function RetrieveImages( _ 
   ByVal studyInstanceUID As String, _ 
   ByVal seriesInstanceUID As String _ 
) As IEnumerable(Of KeyValuePair(Of String,RetrievedDataSet)) 
public: 
IEnumerable<KeyValuePair<String^,RetrievedDataSet^>>^ RetrieveImages(  
   String^ studyInstanceUID, 
   String^ 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.

Remarks

The 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.

Example

C#
VB
Imports Leadtools 
         Imports Leadtools.Examples 
         Imports Leadtools.Codecs 
         Imports Leadtools.Dicom 
         Imports Leadtools.Dicom.Scu.Common 
         Imports Leadtools.ImageProcessing 
         Imports Leadtools.Dicom.AddIn.Common 
         Imports Leadtools.Dicom.Scu 
         Imports Leadtools.Medical.DataAccessLayer 
         Imports Leadtools.Medical.Storage.DataAccessLayer 
         Imports Leadtools.Medical.Storage.DataAccessLayer.Configuration 
         Imports Leadtools.Medical.Workstation.Client 
         Imports Leadtools.Medical.Workstation.Client.Local 
         Imports Leadtools.Medical.Workstation.Client.Pacs 
 
         <TestMethod()> _ 
         Public Sub RetrieveLocalDatabase() 
#If LEADTOOLS_V175_OR_LATER Then 
                Leadtools.Examples.Support.SetLicense() 
#Else 
         Leadtools.Examples.Support.Unlock() 
#End If ''' #if LEADTOOLS_V175_OR_LATER 
            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 
using Leadtools; 
         using Leadtools.Examples ; 
         using Leadtools.Codecs; 
         using Leadtools.Dicom; 
         using Leadtools.Dicom.Scu.Common; 
         using Leadtools.ImageProcessing; 
         using Leadtools.Dicom.AddIn.Common ; 
         using Leadtools.Dicom.Scu ; 
         using Leadtools.Medical.Workstation.Client; 
         using Leadtools.Medical.Workstation.Client.Local; 
         using Leadtools.Medical.Workstation.Client.Pacs ; 
         using Leadtools.Medical.Storage.DataAccessLayer; 
         using Leadtools.Medical.DataAccessLayer; 
         using Leadtools.Medical.Storage.DataAccessLayer.Configuration; 
 
         [TestMethod] 
         public void RetrieveLocalDatabase() 
         { 
#if LEADTOOLS_V175_OR_LATER 
            Leadtools.Examples.Support.SetLicense(); 
#else 
            Leadtools.Examples.Support.Unlock(); 
#endif // #if LEADTOOLS_V175_OR_LATER 
            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"; 
         } 

Requirements

Target Platforms

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