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 = "client";
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 = "client"
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.