C#
VB
C++
Initializes a new instance of the PacsQueryClient class.
public PacsQueryClient(AeInfo clientInfo,DicomScp scp)
Public Function New( _ByVal clientInfo As Leadtools.Dicom.Addin.Common.AeInfo, _ByVal scp As Leadtools.Dicom.Scu.DicomScp _)
public:PacsQueryClient(Leadtools.Dicom.Addin.Common.AeInfo^ clientInfo,Leadtools.Dicom.Scu.DicomScp^ scp)
clientInfo
The Leadtools.Dicom.AddIn.Common.AeInfo for the calling client.
scp
The Leadtools.Dicom.Scu.DicomScp information to perform the DICOM Query against.
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 QueryPACS(){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");}PacsQueryClient client = new PacsQueryClient(clientInfo, scpInfo);client.EnableLog = true;client.LogFileName = Path.Combine(LEAD_VARS.ImagesDir, "DicomLog.txt");PerformClientQuery(client);}public void PerformClientQuery(QueryClient client){FindQuery studiesQuery = new FindQuery();DicomDataSet[] studies = client.FindStudies(studiesQuery);if (studies.Length > 0){DicomDataSet study = studies[0];FindQuery seriesQuery = new FindQuery();seriesQuery.StudyInstanceUID = study.GetValue<string>(DicomTag.StudyInstanceUID, string.Empty);DicomDataSet[] series = client.FindSeries(seriesQuery);foreach (DicomDataSet seriesDS in series){FindQuery imagesQuery = new FindQuery();imagesQuery.SeriesInstanceUID = seriesDS.GetValue<string>(DicomTag.SeriesInstanceUID, string.Empty);DicomDataSet[] images = client.FindImages(imagesQuery);foreach (DicomDataSet instance in images){Console.WriteLine("SOPInstanceUID: {0}", instance.GetValue<string>(DicomTag.SOPInstanceUID, string.Empty));Console.WriteLine("SeriesInstanceUID: {0}", instance.GetValue<string>(DicomTag.SeriesInstanceUID, string.Empty));Console.WriteLine("StudyInstanceUID: {0}", instance.GetValue<string>(DicomTag.StudyInstanceUID, string.Empty));}}}}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 QueryPACS()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 PacsQueryClient = New PacsQueryClient(clientInfo, scpInfo)client.EnableLog = Trueclient.LogFileName = Path.Combine(LEAD_VARS.ImagesDir, "DicomLog.txt")PerformClientQuery(client)End SubPublic Sub PerformClientQuery(ByVal client As QueryClient)Dim studiesQuery As FindQuery = New FindQuery()Dim studies As DicomDataSet() = client.FindStudies(studiesQuery)If studies.Length > 0 ThenDim study As DicomDataSet = studies(0)Dim seriesQuery As FindQuery = New FindQuery()seriesQuery.StudyInstanceUID = study.GetValue(Of String)(DicomTag.StudyInstanceUID, String.Empty)Dim series As DicomDataSet() = client.FindSeries(seriesQuery)For Each seriesDS As DicomDataSet In seriesDim imagesQuery As FindQuery = New FindQuery()imagesQuery.SeriesInstanceUID = seriesDS.GetValue(Of String)(DicomTag.SeriesInstanceUID, String.Empty)Dim images As DicomDataSet() = client.FindImages(imagesQuery)For Each instance As DicomDataSet In imagesConsole.WriteLine("SOPInstanceUID: {0}", instance.GetValue(Of String)(DicomTag.SOPInstanceUID, String.Empty))Console.WriteLine("SeriesInstanceUID: {0}", instance.GetValue(Of String)(DicomTag.SeriesInstanceUID, String.Empty))Console.WriteLine("StudyInstanceUID: {0}", instance.GetValue(Of String)(DicomTag.StudyInstanceUID, String.Empty))Next instanceNext seriesDSEnd IfEnd SubPublic NotInheritable Class LEAD_VARSPublic Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"End Class
Raster .NET | C API | C++ Class Library | JavaScript HTML5
Document .NET | C API | C++ Class Library | JavaScript HTML5
Medical .NET | C API | C++ Class Library | JavaScript HTML5
Medical Web Viewer .NET
