Performs query operations against DICOM servers.
public class PacsQueryClient : Leadtools.Medical.Workstation.Client.Leadtools.Medical.Workstation.Client.QueryClientPublic Class PacsQueryClientInherits Leadtools.Medical.Workstation.Client.Leadtools.Medical.Workstation.Client.QueryClient
public ref class PacsQueryClient : public Leadtools.Medical.Workstation.Client.Leadtools.Medical.Workstation.Client.QueryClientThe implementation of this class uses the Leadtools.Dicom.Scu.QueryRetrieveScu class to run the queries.
Imports 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.Pacs<TestMethod()> _Public Sub QueryPACS()#If LEADTOOLS_V175_OR_LATER ThenLeadtools.Examples.Support.SetLicense()#ElseLeadtools.Examples.Support.Unlock()#End If ''' #if LEADTOOLS_V175_OR_LATERDim 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
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;[TestMethod]public void QueryPACS(){#if LEADTOOLS_V175_OR_LATERLeadtools.Examples.Support.SetLicense();#elseLeadtools.Examples.Support.Unlock();#endif // #if LEADTOOLS_V175_OR_LATERAeInfo 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";}
|
Products |
Support |
Feedback: PacsQueryClient Class - Leadtools.Medical.Workstation.Client |
Introduction |
Help Version 19.0.2017.3.22
|

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
Your email has been sent to support! Someone should be in touch! If your matter is urgent please come back into chat.
Chat Hours:
Monday - Friday, 8:30am to 6pm ET
Thank you for your feedback!
Please fill out the form again to start a new chat.
All agents are currently offline.
Chat Hours:
Monday - Friday
8:30AM - 6PM EST
To contact us please fill out this form and we will contact you via email.