Products | Support | Email a link to this topic. | Send comments on this topic. | Back to Introduction - All Topics | Help Version 19.0.3.28
|
Leadtools.Dicom.Common.Extensions Namespace > SaveXmlData Class : BulkDataUri Property |
public string BulkDataUri {get; set;}
'Declaration
Public Property BulkDataUri As String
'Usage
Dim instance As SaveXmlData Dim value As String instance.BulkDataUri = value value = instance.BulkDataUri
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.
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 SaveXmlBulkDataUriExample() uriCounter = 0 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.BulkDataUri ds.SaveXml(xmlFileNameOut, xmlFlags, AddressOf MyCustomUriCallback) DicomEngine.Shutdown() End Sub Public Shared uriCounter As Integer = 0 Public Shared Function MyGenerateUri() As String uriCounter += 1 Return String.Format("http://MySampleUri/{0}", uriIndex) End Function Public Shared Function MyCustomUriCallback(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 = MyGenerateUri() 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 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:\Users\Public\Documents\LEADTOOLS Images"; }