PacsRetrieveClient Constructor(AeInfo,DicomScp,IStorageDataAccessAgent)

Summary
Initializes a new instance of the PacsRetrieveClient class.
Syntax
C#
C++/CLI
public: 
PacsRetrieveClient(  
   AeInfo^ clientInfo, 
   DicomScp^ scp, 
   IStorageDataAccessAgent^ localStorageDataAccess 
) 

Parameters

clientInfo
The Leadtools.Dicom.AddIn.Common.AeInfo for the calling client.

scp
The Leadtools.Dicom.Scu.DicomScp information against which the DICOM Retrieve is to be performed.

localStorageDataAccess
An object of type Leadtools.Medical.Storage.DataAccessLayer.IStorageDataAccessAgent to be used for storing the images locally.

Example
C#
using LeadtoolsExamples.Common; 
using Leadtools; 
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; 
 
public void RetrieveLocalDatabase() 
{ 
   Leadtools.Examples.Support.SetLicense(); 
 
   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:\LEADTOOLS22\Resources\Images"; 
} 
Requirements

Target Platforms

Help Version 22.0.2023.2.2
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.Medical.Workstation.Client Assembly
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.