←Select platform

PacsQueryClient Constructor (PacsQueryClient)

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
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 
 
         <TestMethod()> _ 
         Public Sub QueryPACS() 
#If LEADTOOLS_V175_OR_LATER Then 
                Leadtools.Examples.Support.SetLicense() 
#Else 
         Leadtools.Examples.Support.Unlock() 
#End If ''' #if LEADTOOLS_V175_OR_LATER 
 
 
 
            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 
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_LATER 
            Leadtools.Examples.Support.SetLicense(); 
#else 
            Leadtools.Examples.Support.Unlock(); 
#endif // #if LEADTOOLS_V175_OR_LATER 
            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"; 
         } 

Requirements

Target Platforms

Products | Support | Contact Us | Copyright Notices
© 1991-2017 LEAD Technologies, Inc. All Rights Reserved.
Leadtools.Medical.Workstation.Client Assembly
Click or drag to resize