BulkDataUuid Property

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

Property Value

The bulk data UUID that is about to be written.

Remarks

If DicomDataSetSaveXmlFlags.BulkDataUuid is passed to SaveXml, a dummy UUID is generated for each binary data element that is about to be written, and is returned in BulkDataUuid. This can be changed to a custom UUID by setting the BulkDataUuid to the desired UUID.

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 BulkData uuid attribute to a custom UUID.

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 SaveXmlBulkDataUuidExample() 
{ 
   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.BulkDataUuid; 
   ds.SaveXml(xmlFileNameOut, xmlFlags, MyCustomUuidCallback); 
 
   DicomEngine.Shutdown(); 
} 
 
 
public static bool MyCustomUuidCallback(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 = Guid.NewGuid().ToString(); 
   } 
 
   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.