Error processing SSI file
Leadtools.Dicom.Common

Show in webframe

BulkDataUuid Property






Gets or sets the bulk data UUID that is about to be written.
Syntax
public string BulkDataUuid {get; set;}
'Declaration
 
Public Property BulkDataUuid As String
'Usage
 
Dim instance As SaveXmlData
Dim value As String
 
instance.BulkDataUuid = value
 
value = instance.BulkDataUuid
public:
property String^ BulkDataUuid {
   String^ get();
   void set (    String^ value);
}

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.

Copy Code  
Imports Leadtools.Dicom
Imports Leadtools.Dicom.Common
Imports Leadtools.Dicom.Common.Extensions
Imports Leadtools.Dicom.Common.Linq
Imports Leadtools.Dicom.Common.Linq.BasicDirectory
Imports Leadtools
Imports Leadtools.Dicom.Common.DataTypes

<TestMethod()> _
Public Shared Sub SaveXmlBulkDataUuidExample()
   Dim 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 file
   ds.Load(dicomFileNameIn, DicomDataSetLoadFlags.None)

   ' Save as NativeDicomModel
   Const xmlFlags As DicomDataSetSaveXmlFlags = DicomDataSetSaveXmlFlags.NativeDicomModel Or DicomDataSetSaveXmlFlags.TrimWhiteSpace Or DicomDataSetSaveXmlFlags.BulkDataUuid
   ds.SaveXml(xmlFileNameOut, xmlFlags, AddressOf MyCustomUuidCallback)

   DicomEngine.Shutdown()
End Sub


Public Shared Function MyCustomUuidCallback(ByVal d As SaveXmlData) As Boolean
   If d.DicomElement Is Nothing Then
      Return True
   End If

   Dim vr As DicomVRType = d.DicomElement.VR
   Dim 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 URI
      d.BulkDataUri = Guid.NewGuid().ToString()
   End If

   Return True
End Function

Public NotInheritable Class LEAD_VARS
Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
End Class
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;

[TestMethod]
  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:\Users\Public\Documents\LEADTOOLS Images";
}
Requirements

Target Platforms

See Also

Reference

SaveXmlData Class
SaveXmlData Members

Error processing SSI file
   Leadtools.Dicom.Common requires a Medical toolkit license and unlock key. For more information, refer to: LEADTOOLS Toolkit Features