public void Find(DicomScp Scp,FindQuery Query,bool AddOptional,DicomDataSet Template)
Public Overloads Sub Find( _ByVal Scp As DicomScp, _ByVal Query As FindQuery, _ByVal AddOptional As Boolean, _ByVal Template As DicomDataSet _)
public:void Find(DicomScp^ Scp,FindQuery^ Query,bool AddOptional,DicomDataSet^ Template)
Scp
The peer connection to send the C-FIND-REQ to.
Query
The query information that describes the DICOM datasets to be found.
AddOptional
If set to true add optional C-FIND-REQ items.
Template
The template dataset to use in the C-FIND-REQ.
Finds a study series with a C-FIND-REQ dataset template.
using Leadtools;using Leadtools.Dicom.Scu;using Leadtools.Dicom.Scu.Common;using Leadtools.Dicom;using Leadtools.Dicom.Common.DataTypes;using Leadtools.Dicom.Common.DataTypes.Status;public void FindSeries(){DicomEngine.Startup();DicomNet.Startup();QueryRetrieveScu findSeries = new QueryRetrieveScu();FindQuery query = new FindQuery();DicomScp scp = new DicomScp(IPAddress.Parse("10.1.1.96"), "MI_SERVER", 104);DicomDataSet ds = new DicomDataSet();//// Change these parameters to reflect your Dicom server.//scp.Timeout = 60;//// Load a dataset that has information needed for a C-FIND-REQ at series level. Change// this to reflect a dataset on your computer.//ds.Load(Path.Combine(LEAD_VARS.ImagesDir, "DICOM", "image1.dcm"), DicomDataSetLoadFlags.LoadAndClose);query.QueryLevel = QueryLevel.Series;//// Query for a specific study instance uid. Change this to a study instance// that is available on your Dicom Server//query.StudyInstanceUID = "1.2.840.114257.3.6.5.41964868";findSeries.BeforeCFind += new BeforeCFindDelegate(findSeries_BeforeCFind);findSeries.MatchSeries += new MatchSeriesDelegate(findSeries_MatchSeries);findSeries.AfterCFind += new AfterCFindDelegate(findSeries_AfterCFind);findSeries.Find(scp, query, true, ds);DicomNet.Shutdown();DicomEngine.Shutdown();}void findSeries_BeforeCFind(object sender, BeforeCFindEventArgs e){Console.WriteLine("Before CFind: " + e.QueryLevel.ToString());}void findSeries_MatchSeries(object sender, MatchEventArgs<Series> e){Console.Write("Series Instance UID: " + e.Info.InstanceUID);Console.WriteLine("Series Number: " + e.Info.Number != null ? e.Info.Number.ToString() : string.Empty);Console.WriteLine("Series Date: " + e.Info.Date);Console.WriteLine("Series Description: " + e.Info.Description);Console.WriteLine("Modality: " + e.Info.Modality);Console.WriteLine("Number of Related Instances: " + e.Info.NumberOfRelatedInstances);Console.WriteLine("Performed Procedure Step ID:" + e.Info.PerformedProcStepId);Console.WriteLine("Performed Procedure Step Start Date: " + e.Info.PerfProcStepStartDate);Console.WriteLine("Performed Procedure Step Start Time: " + e.Info.PerfProcStepStartTime);Console.WriteLine("Requested Procedure ID: " + e.Info.RequestedProcId);Console.WriteLine("Scheduled Procedure Step ID: " + e.Info.SchedProcStepId);}void findSeries_AfterCFind(object sender, AfterCFindEventArgs e){Debug.Assert(e.Status == DicomCommandStatusType.Success);}static class LEAD_VARS{public const string ImagesDir = @"C:\LEADTOOLS21\Resources\Images";}
Imports LeadtoolsImports Leadtools.Dicom.ScuImports Leadtools.Dicom.Scu.CommonImports Leadtools.DicomImports Leadtools.Dicom.Common.DataTypesPublic Sub FindSeries()DicomEngine.Startup()DicomNet.Startup()Dim cfind As QueryRetrieveScu = New QueryRetrieveScu()Dim query As FindQuery = New FindQuery()Dim scp As DicomScp = New DicomScp(IPAddress.Parse("10.1.1.96"), "MI_SERVER", 104)Dim ds As DicomDataSet = New DicomDataSet()'' Change these parameters to reflect your Dicom server.'scp.Timeout = 60'' Load a dataset that has information needed for a C-FIND-REQ at series level. Change' this to reflect a dataset on your computer.'ds.Load(Path.Combine(LEAD_VARS.ImagesDir, "image1.dcm"), DicomDataSetLoadFlags.LoadAndClose)query.QueryLevel = QueryLevel.Series'' Query for a specific study instance uid. Change this to a study instance' that is available on your Dicom Server'query.StudyInstanceUID = "1.2.840.114257.3.6.5.41964868"AddHandler cfind.BeforeCFind, AddressOf cfind_BeforeCFindAddHandler cfind.MatchSeries, AddressOf cfind_MatchSeriesAddHandler cfind.AfterCFind, AddressOf cfind_AfterCFindcfind.Find(scp, query, True, ds)DicomNet.Shutdown()DicomEngine.Shutdown()End SubPrivate Sub cfind_BeforeCFind(ByVal sender As Object, ByVal e As BeforeCFindEventArgs)Console.WriteLine("Before CFind: " & e.QueryLevel.ToString())End SubPrivate Sub cfind_MatchSeries(ByVal sender As Object, ByVal e As MatchEventArgs(Of Series))Console.Write("Series Instance UID: " & e.Info.InstanceUID)Console.WriteLine("Series Number: " & e.Info.Number.Value)If e.Info.Date.HasValue ThenConsole.WriteLine("Series Date: " & e.Info.Date.Value)ElseConsole.WriteLine("Series Date: ")End IfConsole.WriteLine("Series Description: " & e.Info.Description)Console.WriteLine("Modality: " & e.Info.Modality)Console.WriteLine("Number of Related Instances: " & e.Info.NumberOfRelatedInstances)Console.WriteLine("Performed Procedure Step ID:" & e.Info.PerformedProcStepId)If e.Info.PerfProcStepStartDate.HasValue ThenConsole.WriteLine("Performed Procedure Step Start Date: " & e.Info.PerfProcStepStartDate.Value)ElseConsole.WriteLine("Performed Procedure Step Start Date: ")End IfIf e.Info.PerfProcStepStartTime.HasValue ThenConsole.WriteLine("Performed Procedure Step Start Time: " & e.Info.PerfProcStepStartTime.Value.ToString())ElseConsole.WriteLine("Performed Procedure Step Start Time: ")End IfConsole.WriteLine("Requested Procedure ID: " & e.Info.RequestedProcId)Console.WriteLine("Scheduled Procedure Step ID: " & e.Info.SchedProcStepId)End SubPrivate Sub cfind_AfterCFind(ByVal sender As Object, ByVal e As AfterCFindEventArgs)Debug.Assert(e.Status = DicomCommandStatusType.Success)End SubPublic NotInheritable Class LEAD_VARSPublic Const ImagesDir As String = "C:\LEADTOOLS21\Resources\Images"End Class
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document
