BulkDataUri Property

Summary
Gets or sets the bulk data URI that is about to be written.
Syntax
C#
C++/CLI
public string BulkDataUri { get; set; } 
public: 
property String^ BulkDataUri { 
   String^ get(); 
   void set (    String^ ); 
} 

Property Value

The bulk data URI that is about to be written.

Remarks

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.

Example

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.

C#
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 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 file 
   ds.Load(dicomFileNameIn, DicomDataSetLoadFlags.None); 
 
   // Save as NativeDicomModel 
   const 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 URI 
      d.BulkDataUri = MyGenerateUri(); 
   } 
 
   return true; 
} 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\LEADTOOLS22\Resources\Images"; 
} 
Requirements

Target Platforms

Help Version 22.0.2023.1.30
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.Dicom.Common Assembly
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.