←Select platform

PacsQueryClient Constructor

Summary

Initializes a new instance of the PacsQueryClient class.

Syntax

C#
VB
C++
  
Public Function New( _ 
   ByVal clientInfo As Leadtools.Dicom.Addin.Common.AeInfo, _ 
   ByVal scp As Leadtools.Dicom.Scu.DicomScp _ 
) 

Parameters

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

scp
The Leadtools.Dicom.Scu.DicomScp information to perform the DICOM Query against.

Example

C#
VB
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 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"); 
   } 
 
   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.Common 
Imports Leadtools 
Imports Leadtools.Codecs 
Imports Leadtools.Dicom 
Imports Leadtools.Dicom.Scu.Common 
Imports Leadtools.ImageProcessing 
Imports Leadtools.Dicom.AddIn.Common 
Imports Leadtools.Dicom.Scu 
Imports Leadtools.Medical.Workstation.Client 
Imports Leadtools.Medical.Workstation.Client.Local 
Imports Leadtools.Medical.Workstation.Client.Pacs 
 
Public Sub QueryPACS() 
   Leadtools.Examples.Support.SetLicense() 
   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 PacsQueryClient = New PacsQueryClient(clientInfo, scpInfo) 
 
   client.EnableLog = True 
   client.LogFileName = Path.Combine(LEAD_VARS.ImagesDir, "DicomLog.txt") 
 
   PerformClientQuery(client) 
End Sub 
 
Public Sub PerformClientQuery(ByVal client As QueryClient) 
   Dim studiesQuery As FindQuery = New FindQuery() 
 
 
   Dim studies As DicomDataSet() = client.FindStudies(studiesQuery) 
 
 
   If studies.Length > 0 Then 
      Dim 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 series 
         Dim 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 images 
            Console.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 instance 
      Next seriesDS 
   End If 
End Sub 
 
Public NotInheritable Class LEAD_VARS 
   Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images" 
End Class 

Requirements

Target Platforms

Help Version 19.0.2017.10.27
Products | Support | Contact Us | Copyright Notices
© 1991-2017 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.Medical.Workstation.Client Assembly