LEADTOOLS Medical (Leadtools.Medical.Workstation.Client assembly) Send comments on this topic. | Back to Introduction - All Topics | Help Version 17.0.3.30
PacsRetrieveClient Constructor(AeInfo,DicomScp)
See Also  Example
Leadtools.Medical.Workstation.Client.Pacs Namespace > PacsRetrieveClient Class > PacsRetrieveClient Constructor : PacsRetrieveClient Constructor(AeInfo,DicomScp)



clientInfo
The Leadtools.Dicom.AddIn.Common.AeInfo for the calling client.
scp
The Leadtools.Dicom.Scu.DicomScp information to perform the DICOM Retrieve against.
Initializes a new instance of the PacsRetrieveClient class.

Syntax

Visual Basic (Declaration) 
Public Function New( _
   ByVal clientInfo As AeInfo, _
   ByVal scp As DicomScp _
)
Visual Basic (Usage)Copy Code
Dim clientInfo As AeInfo
Dim scp As DicomScp
 
Dim instance As New PacsRetrieveClient(clientInfo, scp)
C# 
public PacsRetrieveClient( 
   AeInfo clientInfo,
   DicomScp scp
)
C++/CLI 
public:
PacsRetrieveClient( 
   AeInfo^ clientInfo,
   DicomScp^ scp
)

Parameters

clientInfo
The Leadtools.Dicom.AddIn.Common.AeInfo for the calling client.
scp
The Leadtools.Dicom.Scu.DicomScp information to perform the DICOM Retrieve against.

Example

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

         Dim clientInfo As AeInfo = New AeInfo()
         Dim scpInfo As DicomScp = New DicomScp()

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

         scpInfo.AETitle = "LEAD_SERVER"
         scpInfo.Port = 104
         scpInfo.Timeout = 30

         Dim addressFound As Boolean
         Dim addresses As IPAddress()

         addressFound = False
         addresses = Dns.GetHostAddresses(Dns.GetHostName())

         For Each address As IPAddress In addresses
            'we need to get an IP V4, won't work with IP V6
            If address.AddressFamily = System.Net.Sockets.AddressFamily.InterNetwork Then
               addressFound = True

               scpInfo.PeerAddress = address

               Exit For
            End If
         Next address

         If (Not addressFound) Then
            Throw New ArgumentException("Couldn't resolve a valid host Address. Address must conform to IP version 4")
         End If

         Dim client As PacsRetrieveClient = New PacsRetrieveClient(clientInfo, scpInfo)

         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")
         client.StoreRetrievedImages = True 'This will store the retrieved images into the local database.

         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)) = 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 ( );
         DicomScp scpInfo = new DicomScp();

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

         scpInfo.AETitle = "LEAD_SERVER";
         scpInfo.Port = 104;
         scpInfo.Timeout = 30;

         bool addressFound;
         IPAddress[] addresses;

         addressFound = false;
         addresses = Dns.GetHostAddresses(Dns.GetHostName());

         foreach (IPAddress address in addresses)
         {
            //we need to get an IP V4, won't work with IP V6
            if (address.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork)
            {
               addressFound = true;

               scpInfo.PeerAddress = address;

               break;
            }
         }

         if (!addressFound)
         {
            throw new ArgumentException("Couldn't resolve a valid host Address. Address must conform to IP version 4");
         }

         PacsRetrieveClient client = new PacsRetrieveClient(clientInfo, scpInfo);

         client.InstanceMoved += new EventHandler<InstanceMovedEventArgs>(client_InstanceMoved);
         client.EnableLog = true;
         client.LogFileName = Path.Combine(LEAD_VARS.ImagesDir, "DicomLog.txt");
         client.StoreRetrievedImages = true ; //This will store the retrieved images into the local database.
         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: 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