Implementing DICOM Composite Instance Retrieve Without Bulk Data


DICOM Composite Instance Retrieve Without Bulk Data is supported by DicomObjects and it’s simple to implement.

Client Side

The following code demonstrates how to retrieve individual instances without bulk data:

DicomObjects.NET

DicomAssociaiton

 DicomAssociation cn = new DicomAssociation ();  
 cn.RequestedContexts.Add(SOPClasses.CompositeInstanceRootRetrieveWithoutBulkData_GET);
 cn.RequestedContexts.Add(SOPClasses.SecondaryCapture);// SOP Class UID of the instance we are getting    
 cn.Open("dicomserver.co.uk", 104, "client", "server");  
 DicomDataSet ds = new DicomDataSet ();  
 ds.Add(8, 0x52, "INSTANCE");  
 ds.PatientID = patient_id;  
 ds.StudyUID = study_uid;  
 ds.SeriesUID = series_uid;  
 ds.InstanceUID = instance_uid;
 
 cn.Get(QueryRoot.CompositeInstance, ds, true);  
 cn.Close();

The same can be achieved using DicomQuery object, make sure the NoBulkData property is set to true: DicomQuery

 DicomQuery q = new DicomQuery();  
 q.Node = "DicomServer.co.uk";  
 q.Port = 104;  
 q.CallingAE = "cilent";  
 q.CalledAE = "server";  
  
 q.Root = QueryRoot.CompositeInstance;  
 q.Level = QueryLevel.INSTANCE;  
  
 DicomDataSet ds = q.RetrieveDataSet();  
 ds.Add(8, 0x52, "INSTANCE");  
 ds.PatientID = patient_id;  
 ds.StudyUID = study_uid;  
 ds.SeriesUID = series_uid;  
 ds.InstanceUID = instance_uid; 
 q.NoBulkData = true;   // This tells DicomObjects to perform "No Bulk Data C-Get"  
	
 DicomDataSetCollection results = q.Get(ds);

DicomObjects.COM

DicomQuery

 Dim q As New DicomQuery
 q.Node = "DicomServer.co.uk"
 q.Port = 104
 q.CallingAE = "cilent"
 q.CalledAE = "server"
  
 q.Root = "COMPOSITEINSTANCE"
 q.Level = "INSTANCE"
  
 Dim ds As New DicomDataSet
 ds.Add &H8, &H52, "INSTANCE"
 ds.PatientID = patient_id
 ds.StudyUID = study_uid
 ds.SeriesUID = series_uid
 ds.InstanceUID = instance_uid
 'This tells DicomObjects to perform "No Bulk Data C-Get"
 q.NoBulkData = True
    
 Dim results As DicomDataSets
 Set results = q.GetImages

Server Side

There is no extra work required on the server side (as DicomObjects supports it intrinsically), as long as the Abstract Syntax (1.2.840.10008.5.1.4.1.2.5.3) for Composite Instance Retrieve Without Bulk Data is negotiated between SCU and SCP.


We use cookies to give you the best possible experience on our website. By continuing to use this website, you agree with our use of cookies. for more information please click HERE