public string BulkDataUri { get; set; }
The bulk data URI that is about to be written.
If BulkDataUri is passed to SaveJson, A dummy URI is generated for each binary data element that is about to be written, and is returned in BulkDataUri. This can be changed to a custom URI by setting the BulkDataUri to the desired URI.
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";
}
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