SaveJson(DicomDataSet,string,DicomDataSetSaveJsonFlags,SaveJsonCallback) Method (original) (raw)
Summary
Saves the contents of the DICOM data set in the DICOM JSON model format (specified in PS3.18) to the specified output file.
Syntax
Parameters
ds
The contents of this data set to be saved
fileName
The name of the output JSON file.
jsonFlags
Flags that affect how binary data and other information is saved in the JSON output file.
cb
Optional callback that allows you to change the element names, attributes, and values of the JSON output file.
Example
using Leadtools.Dicom;
using Leadtools.Dicom.Common;
using Leadtools.Dicom.Common.Extensions;
using Leadtools;
using Leadtools.Dicom.Common.Linq.BasicDirectory;
using Leadtools.Dicom.Common.DataTypes;
using Leadtools.Codecs;
public void SaveJsonCallbackExample()
{
uriIndex = 0;
string dicomFileNameIn = Path.Combine(LEAD_VARS.ImagesDir, "DICOM", "IMAGE3.dcm");
string xmlFileNameOut = Path.Combine(LEAD_VARS.ImagesDir, "test.json");
DicomEngine.Startup();
DicomDataSet ds = new DicomDataSet();
// Load an existing DICOM file
ds.Load(dicomFileNameIn, DicomDataSetLoadFlags.None);
// Keep the JSON output file size small by writing binary data as BulkDataUri
// The URI written is modified in the callback
ds.SaveJson(xmlFileNameOut, DicomDataSetSaveJsonFlags.BulkDataUri, MySaveJsonCallback);
DicomEngine.Shutdown();
}
public static int uriIndex = 0;
public static string GenerateUri()
{
uriIndex++;
return string.Format(@"http://MySampleUri/{0}", uriIndex);
}
public static bool MySaveJsonCallback(SaveJsonData d)
{
if (d.DicomElement == null)
return true;
DicomVRType vr = d.DicomElement.VR;
bool isBinary = (
vr == DicomVRType.OB ||
vr == DicomVRType.OD ||
vr == DicomVRType.OF ||
vr == DicomVRType.OW ||
vr == DicomVRType.UN
);
if (isBinary)
{
// Set a URI
d.BulkDataUri = GenerateUri();
}
return true;
}
static class LEAD_VARS
{
public const string ImagesDir = @"C:\LEADTOOLS22\Resources\Images";
}
Leadtools.Dicom.Common Assembly