Leadtools.Dicom.Common
LEAD Technologies, Inc

LoadXml(DicomDataSet,Stream,DicomDataSetLoadXmlFlags,LoadXmlBeforeElementCallback,LoadXmlAfterElementCallback) Method

Example 





The Data Set that will be created and populated with the contents of the DICOM xml input file
The name of the input xml file
Flags that affect whether to ignore binary or all data from the DICOM xml input file
Optional callback that allows you to modify how the input xml file elements, attributes, and values are used.
Optional callback that allows you to change the Leadtools.Dicom.DicomElement after it has been added to the Leadtools.Dicom.DicomDataSet.
Loads a stream containing a DICOM encoded xml file
Syntax
'Declaration
 
<ExtensionAttribute()>
Public Overloads Shared Sub LoadXml( _
   ByVal ds As DicomDataSet, _
   ByVal stream As Stream, _
   ByVal xmlFlags As DicomDataSetLoadXmlFlags, _
   ByVal cbBefore As LoadXmlBeforeElementCallback, _
   ByVal cbAfter As LoadXmlAfterElementCallback _
) 
'Usage
 
Dim ds As DicomDataSet
Dim stream As Stream
Dim xmlFlags As DicomDataSetLoadXmlFlags
Dim cbBefore As LoadXmlBeforeElementCallback
Dim cbAfter As LoadXmlAfterElementCallback
 
DicomExtensions.LoadXml(ds, stream, xmlFlags, cbBefore, cbAfter)
ExtensionAttribute()
 function Leadtools.Dicom.Common.Extensions.DicomExtensions.LoadXml(DicomDataSet,Stream,DicomDataSetLoadXmlFlags,LoadXmlBeforeElementCallback,LoadXmlAfterElementCallback)( 
   ds ,
   stream ,
   xmlFlags ,
   cbBefore ,
   cbAfter 
)

Parameters

ds
The Data Set that will be created and populated with the contents of the DICOM xml input file
stream
The name of the input xml file
xmlFlags
Flags that affect whether to ignore binary or all data from the DICOM xml input file
cbBefore
Optional callback that allows you to modify how the input xml file elements, attributes, and values are used.
cbAfter
Optional callback that allows you to change the Leadtools.Dicom.DicomElement after it has been added to the Leadtools.Dicom.DicomDataSet.
Remarks

Use this method to read the contents of a DICOM xml file. The DICOM xml file can be created using SaveXml(DicomDataSet,Stream,DicomDataSetSaveXmlFlags,SaveXmlCallback) By default, all binary data is read from the DICOM input xml file, but this behavior can be modified by passing appropriate DicomDataSetLoadXmlFlags

The way the that this method processes the input xml file elements, attributes, and element values can be customized by passing the optional LoadXmlBeforeElementCallback delegate. For more information on this, see the documentation and example for LoadXmlBeforeElementCallback. The Leadtools.Dicom.DicomElement themselves can be modified after they have been added to the Leadtools.Dicom.DicomDataSet by passing the optional LoadXmlAfterElementCallback delegate. For more information on this, see the documentation and example for LoadXmlAfterElementCallback.

Example
Copy CodeCopy Code  
Public Sub LoadXmlExample2()
      Dim dicomFileNameIn As String = Path.Combine(LEAD_VARS.ImagesDir, "IMAGE3.dcm")
      Dim dicomFileNameOut As String = Path.Combine(LEAD_VARS.ImagesDir, "test.dcm")

      ' Initialize DICOM engine
      DicomEngine.Startup()

      Dim ds As DicomDataSet = New DicomDataSet()

      ' Load an existing DICOM file
      ds.Load(dicomFileNameIn, DicomDataSetLoadFlags.None)

      ' Save as XML to a stream with no binary data
      ' For the demo, keep the xml output file size small by skipping the pixel data
      Dim xmlFlags As DicomDataSetSaveXmlFlags = DicomDataSetSaveXmlFlags.IgnoreBinaryData Or DicomDataSetSaveXmlFlags.TrimWhiteSpace Or DicomDataSetSaveXmlFlags.TagWithCommas

      Dim stream As Stream = New MemoryStream()
      ds.SaveXml(stream, xmlFlags)

      ' Display contents of stream
      stream.Flush()
      stream.Position = 0
      Dim sr As StreamReader = New StreamReader(stream)
      Dim xmlString As String = sr.ReadToEnd()
      MessageBox.Show(xmlString, "xml version of " & dicomFileNameIn)

      ' Now reload the xml file from the stream.  
      ' Note that there will not be an image because we skipped the pixel data in the save
      stream.Seek(0, SeekOrigin.Begin)
      'stream.Position = 0;
      ds.LoadXml(stream, DicomDataSetLoadXmlFlags.None)

      ds.Save(dicomFileNameOut, DicomDataSetSaveFlags.None)

      DicomEngine.Shutdown()
   End Sub

Public NotInheritable Class LEAD_VARS
   Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
End Class
public void LoadXmlExample2()
   {
      string dicomFileNameIn = Path.Combine(LEAD_VARS.ImagesDir, "IMAGE3.dcm");
      string dicomFileNameOut = Path.Combine(LEAD_VARS.ImagesDir, "test.dcm");

      // Initialize DICOM engine
      DicomEngine.Startup();

      DicomDataSet ds = new DicomDataSet();

      // Load an existing DICOM file
      ds.Load(dicomFileNameIn, DicomDataSetLoadFlags.None);

      // Save as XML to a stream with no binary data
      // For the demo, keep the xml output file size small by skipping the pixel data
      DicomDataSetSaveXmlFlags xmlFlags =
         DicomDataSetSaveXmlFlags.IgnoreBinaryData |
         DicomDataSetSaveXmlFlags.TrimWhiteSpace |
         DicomDataSetSaveXmlFlags.TagWithCommas;

      Stream stream = new MemoryStream();
      ds.SaveXml(stream, xmlFlags);

      // Display contents of stream
      stream.Flush();
      stream.Position = 0;
      StreamReader sr = new StreamReader(stream);
      string xmlString = sr.ReadToEnd();
      MessageBox.Show(xmlString, "xml version of " + dicomFileNameIn);

      // Now reload the xml file from the stream.  
      // Note that there will not be an image because we skipped the pixel data in the save
      stream.Seek(0, SeekOrigin.Begin);
      //stream.Position = 0;
      ds.LoadXml(stream, DicomDataSetLoadXmlFlags.None);

      ds.Save(dicomFileNameOut, DicomDataSetSaveFlags.None);

      DicomEngine.Shutdown();
   }

static class LEAD_VARS
{
   public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
}
Requirements

Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

See Also

Reference

DicomExtensions Class
DicomExtensions Members
Overload List
LoadXml(DicomDataSet,String,DicomDataSetLoadXmlFlags,LoadXmlBeforeElementCallback,LoadXmlAfterElementCallback) Method
LoadXml(DicomDataSet,Stream,DicomDataSetLoadXmlFlags,LoadXmlBeforeElementCallback,LoadXmlAfterElementCallback) Method
LoadXml(DicomDataSet,String,DicomDataSetLoadXmlFlags) Method
LoadXml(DicomDataSet,Stream,DicomDataSetLoadXmlFlags) Method
SaveXml(DicomDataSet,String,DicomDataSetSaveXmlFlags,SaveXmlCallback) Method
SaveXml(DicomDataSet,Stream,DicomDataSetSaveXmlFlags,SaveXmlCallback) Method
SaveXml(DicomDataSet,String,DicomDataSetSaveXmlFlags) Method
SaveXml(DicomDataSet,Stream,DicomDataSetSaveXmlFlags) Method
SaveXmlCallback Delegate
LoadXmlBeforeElementCallback Delegate
LoadXmlAfterElementCallback Delegate

 

 


Products | Support | Contact Us | Copyright Notices

© 2006-2012 All Rights Reserved. LEAD Technologies, Inc.

Leadtools.Dicom.Common requires a Document or Medical toolkit license and unlock key. For more information, refer to: Imaging Pro/Document/Medical Features