Leadtools.Medical.Workstation.Client Namespace > RetrieveClient Class : RetrieveImages Method |
public IEnumerable<KeyValuePair<string,RetrievedDataSet>> RetrieveImages( string studyInstanceUID, string seriesInstanceUID )
'Declaration Public Function RetrieveImages( _ ByVal studyInstanceUID As String, _ ByVal seriesInstanceUID As String _ ) As IEnumerable(Of KeyValuePair(Of String,RetrievedDataSet))
'Usage 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)
public Windows.Foundation.Collections.IIterable //In WinRT the IEnumerableinterface is replaced by IIterable <KeyValuePair<string,RetrievedDataSet>> RetrieveImages( string studyInstanceUID, string seriesInstanceUID )
function Leadtools.Medical.Workstation.Client.RetrieveClient.RetrieveImages( studyInstanceUID , seriesInstanceUID )
public: IEnumerable<KeyValuePair<String^,RetrievedDataSet^>>^ RetrieveImages( String^ studyInstanceUID, String^ seriesInstanceUID )
The Leadtools.Medical.Workstation.Client.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.
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
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"; }
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