LEADTOOLS Medical (Leadtools.Medical.Workstation.Client assembly)

DbRetrieveClient Class

Show in webframe
Example 





Members 
Performs DICOM Instance retrieve operations against a DICOM database.
Object Model
Syntax
public class DbRetrieveClient : Leadtools.Medical.Workstation.Client.RetrieveClient 
'Declaration
 
Public Class DbRetrieveClient 
   Inherits Leadtools.Medical.Workstation.Client.RetrieveClient
'Usage
 
Dim instance As DbRetrieveClient

            

            
public ref class DbRetrieveClient : public Leadtools.Medical.Workstation.Client.RetrieveClient 
Example
Copy Code  
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

         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;

         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

See Also

Reference

DbRetrieveClient Members
Leadtools.Medical.Workstation.Client.Local Namespace

 

 


Products | Support | Contact Us | Copyright Notices
© 2006-2014 All Rights Reserved. LEAD Technologies, Inc.

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