public class SaveJsonData
public ref class SaveJsonData
A SaveJsonData object is passed to the SaveJsonCallback delegate every time a DICOM element is about to be written to the output JSON file. The members of SaveJsonData give information about the DICOM element, and can be modified to customize the look of the output JSON file.
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:\LEADTOOLS23\Resources\Images";
}
Leadtools.Dicom.Common.Extensions Namespace
SaveJson(DicomDataSet,String,DicomDataSetSaveJsonFlags,SaveJsonCallback) Method
SaveJson(DicomDataSet,Stream,DicomDataSetSaveJsonFlags,SaveJsonCallback) Method
SaveJson(DicomDataSet,String,DicomDataSetSaveJsonFlags) Method
SaveJson(DicomDataSet,Stream,DicomDataSetSaveJsonFlags) Method
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document