How to make Rad69 request without using DicomObjects
In XdsObjects, we have made a new method for retrieving Imaging Document sets without the dependency to DicomObjects.
And here is the CSharp sample code to show you how to make a Rad69 request without using DicomObjects:
string RepositoryOID = "1.2.3.4";
string StudyUID = "1.2.3.4.5.1";
string SeriesUID = "1.2.3.4.5.2";
string InstanceUID = "1.2.3.4.5.3";
string AET = ""; // not necessary if the KOS uses OIDs
XdsImagingClient client = new XdsImagingClient();
// you would set up one of these for each possible endpoint
client.AddWebServiceEndpoint(AET, RepositoryOID, endPointAddress,
XdsImagingClient.RetrievalMethod.Rad69, null);
// bottom up
DicomSeries series = new DicomSeries(SeriesUID);
series.DocumentUniqueIds.Add(InstanceUID); // could of course be multiple!
DicomStudy study = new DicomStudy(StudyUID);
study.Series.Add(series); // could of course be multiple
XdsImagingRetrieveRequest request = new XdsImagingRetrieveRequest();
request.Studies.Add(study); // could of course be multiple
request.RepositoryUniqueId = RepositoryOID;
// specify acceptable transfer syntaxes
request.TransferSyntaxes.Add("1.2.840.10008.1.2.4.57"); // JPEG lossless
List<XdsDocument> results = client.RetrieveObjects(request);
foreach (var result in results)
{
// or you could use the byte[] directly
MemoryStream imagedata = new MemoryStream(result.Data);
// do what you want with the byte[] or stream
}