Gets or sets the bulk data URI that is about to be written.
public string BulkDataUri {get; set;} Public Property BulkDataUri As String The bulk data URI that is about to be written.
If BulkDataUri is passed to SaveXml, 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.
This example will load a sample DICOM data set, then save it in the Native DICOM Model XML format specified in PS3.19.A.1 of the DICOM specification, changing each URI to a custom 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;public static void SaveXmlBulkDataUriExample(){uriCounter = 0;string dicomFileNameIn = Path.Combine(LEAD_VARS.ImagesDir, "IMAGE3.dcm");string xmlFileNameOut = Path.Combine(LEAD_VARS.ImagesDir, "test.xml");DicomEngine.Startup();DicomDataSet ds = new DicomDataSet();// Load an existing DICOM fileds.Load(dicomFileNameIn, DicomDataSetLoadFlags.None);// Save as NativeDicomModelconst DicomDataSetSaveXmlFlags xmlFlags =DicomDataSetSaveXmlFlags.NativeDicomModel |DicomDataSetSaveXmlFlags.TrimWhiteSpace |DicomDataSetSaveXmlFlags.BulkDataUri;ds.SaveXml(xmlFileNameOut, xmlFlags, MyCustomUriCallback);DicomEngine.Shutdown();}public static int uriCounter = 0;public static string MyGenerateUri(){uriCounter++;return string.Format(@"http://MySampleUri/{0}", uriIndex);}public static bool MyCustomUriCallback(SaveXmlData 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 URId.BulkDataUri = MyGenerateUri();}return true;}static class LEAD_VARS{public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";}
Imports Leadtools.DicomImports Leadtools.Dicom.CommonImports Leadtools.Dicom.Common.ExtensionsImports Leadtools.Dicom.Common.LinqImports Leadtools.Dicom.Common.Linq.BasicDirectoryImports LeadtoolsImports Leadtools.Dicom.Common.DataTypesPublic Shared Sub SaveXmlBulkDataUriExample()uriCounter = 0Dim dicomFileNameIn As String = Path.Combine(LEAD_VARS.ImagesDir, "IMAGE3.dcm")Dim xmlFileNameOut As String = Path.Combine(LEAD_VARS.ImagesDir, "test.xml")DicomEngine.Startup()Dim ds As New DicomDataSet()' Load an existing DICOM fileds.Load(dicomFileNameIn, DicomDataSetLoadFlags.None)' Save as NativeDicomModelConst xmlFlags As DicomDataSetSaveXmlFlags = DicomDataSetSaveXmlFlags.NativeDicomModel Or DicomDataSetSaveXmlFlags.TrimWhiteSpace Or DicomDataSetSaveXmlFlags.BulkDataUrids.SaveXml(xmlFileNameOut, xmlFlags, AddressOf MyCustomUriCallback)DicomEngine.Shutdown()End SubPublic Shared uriCounter As Integer = 0Public Shared Function MyGenerateUri() As StringuriCounter += 1Return String.Format("http://MySampleUri/{0}", uriIndex)End FunctionPublic Shared Function MyCustomUriCallback(ByVal d As SaveXmlData) As BooleanIf d.DicomElement Is Nothing ThenReturn TrueEnd IfDim vr As DicomVRType = d.DicomElement.VRDim isBinary As Boolean = (vr = DicomVRType.OB OrElse vr = DicomVRType.OD OrElse vr = DicomVRType.OF OrElse vr = DicomVRType.OW OrElse vr = DicomVRType.UN)If isBinary Then' Set a URId.BulkDataUri = MyGenerateUri()End IfReturn TrueEnd FunctionPublic NotInheritable Class LEAD_VARSPublic Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"End Class
|
Products |
Support |
Feedback: BulkDataUri Property (SaveXmlData) - Leadtools.Dicom.Common |
Introduction |
Help Version 19.0.2017.6.23
|

Raster .NET | C API | C++ Class Library | JavaScript HTML5
Document .NET | C API | C++ Class Library | JavaScript HTML5
Medical .NET | C API | C++ Class Library | JavaScript HTML5
Medical Web Viewer .NET
Your email has been sent to support! Someone should be in touch! If your matter is urgent please come back into chat.
Chat Hours:
Monday - Friday, 8:30am to 6pm ET
Thank you for your feedback!
Please fill out the form again to start a new chat.
All agents are currently offline.
Chat Hours:
Monday - Friday
8:30AM - 6PM EST
To contact us please fill out this form and we will contact you via email.