Leadtools.Medical.Workstation.Client Requires Medical product license | Send comments on this topic. | Back to Introduction - All Topics | Help Version 16.5.9.25
PacsRetrieveClient Class
See Also  Members   Example 
Leadtools.Medical.Workstation.Client.Pacs Namespace : PacsRetrieveClient Class



Performs DICOM Instance retrieve operations against DICOM servers.

Syntax

Visual Basic (Declaration) 
Public Class PacsRetrieveClient 
   Inherits RetrieveClient
Visual Basic (Usage)Copy Code
Dim instance As PacsRetrieveClient
C# 
public class PacsRetrieveClient : RetrieveClient 
C++/CLI 
public ref class PacsRetrieveClient : public RetrieveClient 

Example

Visual BasicCopy Code
<Test> _
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.LoadRetrievedDataSet = False 'Enable this if you need to read information from the DICOM dataset.

  client.EnableLog = True
  client.LogFileName = ("c:\DicomLog.txt")
  client.StoreRetrievedImages = True 'This will store the retrieved images into the local database.

  PerformClientRetrieve(client)
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
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.LoadRetrievedDataSet = false; //Enable this if you need to read information from the DICOM dataset. 
 
   client.EnableLog = true; 
   client.LogFileName = ( @"c:\DicomLog.txt" ) ; 
   client.StoreRetrievedImages = true ; //This will store the retrieved images into the local database. 
 
   PerformClientRetrieve(client); 

 
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("---------------------------------------------" ); 
   } 
}

Remarks

The implementation of this class uses the QueryRetrieveScu class to retrieve images from DICOM servers and the StoreAddIn to store the retrieved images into the database.

If the images are retrieved successfully from the remote DICOM Server, they will be stored into the configured database.

Check the StoreAddIn to ensure you set the database configuration correctly in order for that class to function.

Inheritance Hierarchy

System.Object
   Leadtools.Medical.Workstation.Client.RetrieveClient
      Leadtools.Medical.Workstation.Client.Pacs.PacsRetrieveClient

Requirements

Target Platforms: Microsoft .NET Framework 3.0, Windows XP, Windows Server 2003 family, Windows Server 2008 family

See Also

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