←Select platform

Find<TQuery,TResult>(DicomScp,TQuery,DicomMatchDelegate<TResult>) Method

Summary

Sends a C-FIND-REQ message to a peer member of a connection defined by Scp. The C-FIND-REQ is defined by the Query parameter.

Syntax

C#
VB
C++
Public Overloads Sub Find 
    (Of TQuery,TResult)( _ 
   ByVal Scp As Leadtools.Dicom.Scu.DicomScp, _ 
   ByVal Query As TQuery, _ 
   ByVal OnMatch As Leadtools.Dicom.Scu.DicomMatchDelegate(Of TResult) _ 
) 
public: 
void Findgeneric<typename TQuery> 
generic<typename TResult> 
(  
   Leadtools.Dicom.Scu.DicomScp^ Scp, 
   _TQuery^_ Query, 
   Leadtools.Dicom.Scu.DicomMatchDelegate<TResult^>^ OnMatch 
) 

Parameters

Scp
The peer connection to send the C-FIND-REQ to.

Query
The query information that describes the DICOM datasets to be found.

OnMatch
The method to call when a dataset successfully matches the query parameters.

Type Parameters

TQuery
The type of the query.

TResult
The type of the query result.

Remarks

A DicomDataset will be created from the Query parameter. This dataset will then be send in the C-FIND-REQ. The Query class should be decorated with the correct attributes for creating the dataset.

Example

Finds all modality worklist items.

C#
VB
Imports Leadtools.Dicom.Common.DataTypes.Modality 
Imports Leadtools.Dicom 
Imports Leadtools.Dicom.Scu.Queries 
Imports Leadtools.Dicom.Scu 
Imports Leadtools.Dicom.Scu.Common 
Imports Leadtools.Dicom.Common.Extensions 
 
<TestMethod()> _ 
Public Sub FindMWL() 
   DicomEngine.Startup() 
   DicomNet.Startup() 
   Dim query As New ModalityWorklistQuery() 
   Dim scp As New DicomScp() 
   Dim findMwl As New QueryRetrieveScu() 
 
   scp.AETitle = "MWL_SERVER" 
   scp.Port = 104 
   scp.Timeout = 60 
   scp.PeerAddress = IPAddress.Parse("192.168.0.209") 
   findMwl.AETitle = "LEAD_CLIENT" 
   findMwl.Find(Of ModalityWorklistQuery, ModalityWorklistResult)(scp, query, AddressOf FoundMatch) 
 
   DicomEngine.Shutdown() 
   DicomNet.Startup() 
End Sub 
 
Private Sub FoundMatch(ByVal result As ModalityWorklistResult, ByVal ds As DicomDataSet) 
   Dim message As String = ((vbCr & vbLf & vbTab & "Accession #:" & vbTab & vbTab & " " & result.AccessionNumber & vbCr & vbLf & vbTab & "Patient _ 
         Name:" & vbTab & vbTab) + result.PatientName.Full & vbCr & vbLf & vbTab & "Scheduled Start Date:" & vbTab) + result.ScheduledProcedureStepSequence(0).ScheduledProcedureStepStartDate.Value.ToShortDateString() 
 
   Console.WriteLine(message) 
End Sub 
using Leadtools.Dicom.Common.DataTypes.Modality; 
using Leadtools.Dicom; 
using Leadtools.Dicom.Scu.Queries; 
using Leadtools.Dicom.Scu; 
using Leadtools.Dicom.Common.Extensions; 
using Leadtools.Dicom.Scu.Common; 
 
public void FindMWL() 
{             
    DicomEngine.Startup(); 
    DicomNet.Startup(); 
    ModalityWorklistQuery query = new ModalityWorklistQuery(); 
    DicomScp scp = new DicomScp(); 
    QueryRetrieveScu findMwl = new QueryRetrieveScu(); 
 
    scp.AETitle = "MWL_SERVER"; 
    scp.Port = 104; 
    scp.Timeout = 60; 
    scp.PeerAddress = IPAddress.Parse("192.168.0.209"); 
    findMwl.AETitle = "LEAD_CLIENT"; 
    findMwl.Find<ModalityWorklistQuery, ModalityWorklistResult>(scp, query, FoundMatch); 
 
    DicomEngine.Shutdown(); 
    DicomNet.Startup(); 
} 
 
private void FoundMatch(ModalityWorklistResult result, DicomDataSet ds) 
{ 
    string message = 
   "\r\n\tAccession #:\t\t " + result.AccessionNumber + 
   "\r\n\tPatient Name:\t\t" + result.PatientName.Full + 
   "\r\n\tScheduled Start Date:\t" + result.ScheduledProcedureStepSequence[0].ScheduledProcedureStepStartDate.Value.ToShortDateString(); 
 
    Console.WriteLine(message); 
} 

Requirements

Target Platforms

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