Products | Support | Email a link to this topic. | Send comments on this topic. | Back to Introduction - All Topics | Help Version 19.0.5.11
|
Leadtools.Dicom.Scu Namespace > QueryRetrieveScu Class > Find Method : Find(DicomScp,FindQuery,Boolean,String) Method |
true
add optional C-FIND-REQ items.
public void Find( DicomScp Scp, FindQuery Query, bool AddOptional, string TemplateFile )
'Declaration Public Overloads Sub Find( _ ByVal Scp As DicomScp, _ ByVal Query As FindQuery, _ ByVal AddOptional As Boolean, _ ByVal TemplateFile As String _ )
'Usage Dim instance As QueryRetrieveScu Dim Scp As DicomScp Dim Query As FindQuery Dim AddOptional As Boolean Dim TemplateFile As String instance.Find(Scp, Query, AddOptional, TemplateFile)
public: void Find( DicomScp^ Scp, FindQuery^ Query, bool AddOptional, String^ TemplateFile )
true
add optional C-FIND-REQ items.Finds all instances in the related study and series.
Imports Leadtools Imports Leadtools.Dicom.Scu Imports Leadtools.Dicom.Scu.Common Imports Leadtools.Dicom Imports Leadtools.Dicom.Common.DataTypes <TestMethod()> _ Public Sub FindInstances() DicomEngine.Startup() DicomNet.Startup() Dim findInstance As QueryRetrieveScu = New QueryRetrieveScu() Dim query As FindQuery = New FindQuery() Dim scp As DicomScp = New DicomScp() ' ' Change these parameters to reflect the calling AETitle. ' findInstance.AETitle = "LEAD_CLIENT" findInstance.HostPort = 1000 findInstance.HostAddress = Dns.GetHostEntry(Dns.GetHostName()).AddressList.FirstOrDefault(Function(ip) ip.AddressFamily = AddressFamily.InterNetwork) ' ' Change these parameters to reflect the called AETitle (server). ' scp.AETitle = "MI_SERVER" scp.Port = 104 scp.Timeout = 60 scp.PeerAddress = IPAddress.Parse("10.1.1.96") query.QueryLevel = QueryLevel.Image query.StudyInstanceUID = "1.2.840.114257.3.6.5.41964868" query.SeriesInstanceUID = "1.2.840.114257.3.6.5.5.4214471" AddHandler findInstance.BeforeCFind, AddressOf findInstance_BeforeCFind AddHandler findInstance.MatchInstance, AddressOf findInstance_MatchInstance AddHandler findInstance.AfterCFind, AddressOf findInstance_AfterCFind findInstance.Find(scp, query, True, Path.Combine(LEAD_VARS.ImagesDir, "image1.dcm")) DicomNet.Shutdown() DicomEngine.Shutdown() End Sub Private Sub findInstance_BeforeCFind(ByVal sender As Object, ByVal e As BeforeCFindEventArgs) Console.WriteLine("Before CFind: " & e.QueryLevel.ToString()) End Sub Private Sub findInstance_MatchInstance(ByVal sender As Object, ByVal e As MatchEventArgs(Of CompositeObjectInstance)) Console.WriteLine("SOP Instance UID: " & e.Info.SOPInstanceUID) Console.WriteLine("SOP Class UID: " & e.Info.SOPClassUID) Console.WriteLine("Instance #: " & e.Info.InstanceNumber) Console.WriteLine("Availability: " & e.Availability) End Sub Private Sub findInstance_AfterCFind(ByVal sender As Object, ByVal e As AfterCFindEventArgs) Debug.Assert(e.Status = DicomCommandStatusType.Success) End Sub Public NotInheritable Class LEAD_VARS Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images" End Class
using Leadtools; using Leadtools.Dicom.Scu; using Leadtools.Dicom.Scu.Common; using Leadtools.Dicom; using Leadtools.Dicom.Common.DataTypes; [TestMethod] public void FindInstances() { DicomEngine.Startup(); DicomNet.Startup(); QueryRetrieveScu findInstance = new QueryRetrieveScu(); FindQuery query = new FindQuery(); DicomScp scp = new DicomScp(); // // Change these parameters to reflect the calling AETitle. // findInstance.AETitle = "LEAD_CLIENT"; findInstance.HostPort = 1000; findInstance.HostAddress = Dns.GetHostEntry(Dns.GetHostName()).AddressList.FirstOrDefault(ip => ip.AddressFamily == AddressFamily.InterNetwork); // // Change these parameters to reflect the called AETitle (server). // scp.AETitle = "MI_SERVER"; scp.Port = 104; scp.Timeout = 60; scp.PeerAddress = IPAddress.Parse("10.1.1.96"); query.QueryLevel = QueryLevel.Image; query.StudyInstanceUID = "1.2.840.114257.3.6.5.41964868"; query.SeriesInstanceUID = "1.2.840.114257.3.6.5.5.4214471"; findInstance.BeforeCFind += new BeforeCFindDelegate(findInstance_BeforeCFind); findInstance.MatchInstance += new MatchInstanceDelegate(findInstance_MatchInstance); findInstance.AfterCFind += new AfterCFindDelegate(findInstance_AfterCFind); findInstance.Find(scp, query, true, Path.Combine(LEAD_VARS.ImagesDir,"Image1.dcm")); DicomNet.Shutdown(); DicomEngine.Shutdown(); } void findInstance_BeforeCFind(object sender, BeforeCFindEventArgs e) { Console.WriteLine("Before CFind: " + e.QueryLevel.ToString()); } void findInstance_MatchInstance(object sender, MatchEventArgs<CompositeObjectInstance> e) { Console.WriteLine("SOP Instance UID: " + e.Info.SOPInstanceUID); Console.WriteLine("SOP Class UID: " + e.Info.SOPClassUID); Console.WriteLine("Instance #: " + e.Info.InstanceNumber); Console.WriteLine("Availability: " + e.Availability); } void findInstance_AfterCFind(object sender, AfterCFindEventArgs e) { Debug.Assert(e.Status == DicomCommandStatusType.Success); } static class LEAD_VARS { public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images"; }