Performs DICOM Instance retrieve operations against DICOM servers.
public class PacsRetrieveClient : RetrieveClient Public Class PacsRetrieveClientInherits RetrieveClient
public ref class PacsRetrieveClient : public RetrieveClient
This class supports image retrieval either by moving them into another server or by retrieving them locally.
If the images are retrieved locally you can specify that the retrieved images be stored in a local storage source by setting the StoreRetrievedImages property to true.
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 machineclientInfo.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 V6if (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 searchforeach (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";}
Imports LeadtoolsExamples.CommonImports LeadtoolsImports Leadtools.CodecsImports Leadtools.DicomImports Leadtools.Dicom.Scu.CommonImports Leadtools.ImageProcessingImports Leadtools.Dicom.AddIn.CommonImports Leadtools.Dicom.ScuImports Leadtools.Medical.Workstation.ClientImports Leadtools.Medical.Workstation.Client.LocalImports Leadtools.Medical.Workstation.Client.PacsPublic Sub RetrieveLocalDatabase()Leadtools.Examples.Support.SetLicense()Dim clientInfo As AeInfo = New AeInfo()Dim scpInfo As DicomScp = New DicomScp()clientInfo.Address = Dns.GetHostName() 'local machineclientInfo.AETitle = "TEST_CLIENT"clientInfo.Port = 1000scpInfo.AETitle = "LEAD_SERVER"scpInfo.Port = 104scpInfo.Timeout = 30Dim addressFound As BooleanDim addresses As IPAddress()addressFound = Falseaddresses = Dns.GetHostAddresses(Dns.GetHostName())For Each address As IPAddress In addresses'we need to get an IP V4, won't work with IP V6If address.AddressFamily = System.Net.Sockets.AddressFamily.InterNetwork ThenaddressFound = TruescpInfo.PeerAddress = addressExit ForEnd IfNext addressIf (Not addressFound) ThenThrow New ArgumentException("Couldn't resolve a valid host Address. Address must conform to IP version 4")End IfDim 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_InstanceMovedclient.EnableLog = Trueclient.LogFileName = Path.Combine(LEAD_VARS.ImagesDir, "DicomLog.txt")client.StoreRetrievedImages = True 'This will store the retrieved images into the local database.PerformClientRetrieve(client)End SubSub client_InstanceMoved(ByVal sender As Object, ByVal e As InstanceMovedEventArgs)Console.WriteLine("Number of moved images: {0}", e.Completed)End SubPublic Sub PerformClientRetrieve(ByVal client As RetrieveClient)Dim images As IEnumerable(Of KeyValuePair(Of String, RetrievedDataSet)) = client.RetrieveImages("", "") 'perform a wild card searchFor Each imageInformation As KeyValuePair(Of String, RetrievedDataSet) In imagesConsole.WriteLine("SOPInstanceUID: {0}", imageInformation.Key)Console.WriteLine(imageInformation.Value.DataSetFilePath)Console.WriteLine("---------------------------------------------")Next imageInformationEnd SubPublic NotInheritable Class LEAD_VARSPublic Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"End Class
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document
