DicomDataSetSaveXmlFlags Enumeration (original) (raw)

Summary

Specifies flags to be used with the SaveXml methods.

Syntax

[FlagsAttribute()] public enum DicomDataSetSaveXmlFlags

[FlagsAttribute()] public enum class DicomDataSetSaveXmlFlags

Members

Value Member Description
0x00000000 None Pass this value if you do not want to use any other flags. The default values will be used.
0x00000001 IgnoreBinaryData If a DICOM element contains binary data, do not write the binary data to the output XML file. The element itself is still exported, but has no data.
0x00000002 IgnoreAllData Do not write any data (binary, text, etc.) for the DICOM elements to the output XML file. All elements are still exported, but have no data.
0x00000004 EncodeBinaryBase64 Encode all binary data as Base64. This is the default behavior.
0x00000008 EncodeBinaryBinHex Encode all binary data as BinHex. This overrides the default behavior of encoding binary data as Base64.
0x00000010 TagWithCommas When writing DICOM tags to the output XML file, use commas. For example, write the tag for SOPClassUID as '0008,0016' instead of '00080016'
0x00000020 TrimWhiteSpace When writing data to the output XML file, trim leading and trailing white spaces.
0x00000040 NativeDicomModel Use as the XML output format the Native DICOM model described in PS3.19 of the DICOM Specification. For an example, refer to SaveXmlData.BinaryType.
0x00000080 WriteFullEndElement Write the full XML end element, instead of a single element (i.e. instead of ).
0x00000100 IgnorePixelData Do not include the pixel data element in the resulting XML.
0x00000200 InlineBinary Encode all binary data as InlineBinary, which is coded as Base64 with a line break after every 76 characters. The following flags are only used with the Native DICOM Model, and affect how binary data is written. Unless the NativeDicomModel is also included, all of the following flags are ignored. Callers can pass one or more of the three flags. If more than one of the flags is passed, precedence is given in the order that they appear below. • InlineBinaryBulkDataUriBulkDataUuid Passing more than one flag will cause the SaveXmlCallback to behave differently. For example, passing BulkDataUri and BulkDataUuid will cause the SaveXmlCallback to generate values for BulkDataUri and BulkDataUuid. If none of these three flags is passed, the default behavior is BulkDataUuid.
0x00000400 BulkDataUri Write all binary data as BulkDataUri, with a dummy Uri. The following flags are only used with the Native DICOM Model, and affect how binary data is written. Unless the NativeDicomModel flag is also included, all of the following flags are ignored. Callers can pass one or more of the following three flags. If more than one of the flags is passed, precedence is given in the order that they appear below. • InlineBinaryBulkDataUriBulkDataUuid Passing more than one flag will cause the SaveXmlCallback to behave differently. For example, passing BulkDataUri and BulkDataUuid will cause the SaveXmlCallback to generate value BulkDataUri and BulkDataUuid. If none of these three flags is passed, the default behavior is BulkDataUuid. For an example, refer to BulkDataUri.
0x00000800 BulkDataUuid Write all binary data as BulkData, with a dummy uuid attribute. This is the default behavior. The following flags are only used with the Native DICOM Model, and affect how binary data is written. Unless the NativeDicomModel is also included, all of the following flags are ignored. Callers can pass one or more of the three flags. If more than one of the flags is passed, precedence is given in the order that they appear below. • InlineBinaryBulkDataUriBulkDataUuid Passing more than one flag will cause the SaveXmlCallback to behave differently. For example, passing BulkDataUri and BulkDataUuid will cause the SaveXmlCallback to generate values for both BulkDataUri and BulkDataUuid. If none of these three flags is passed, the default behavior is BulkDataUuid. For an example, refer to InlineBinary.
0x00001000 NativeNoModifyPrivateElements PS3.19 of the DICOM Specification states that a Private Data Element has the form gggg00ee, where the two most significant hexadecimal values of the element number are set to 00. Pass the 'NativeNoModifyPrivateElements' flag to preserve the upper two most significant hexadecimal values of the element.
0x00008000 Base64NoLineBreaks Used with the InlineBinary enum to encode binary data as Base64 no line breaks. Without this flag, encoded Base64 data has a line break after every 76 characters.
0x00010000 IgnoreMetaData Do not write the DICOM (0002,0001) File Meta Information Version element

Example

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 void LoadXmlExample() { string dicomFileNameIn = Path.Combine(LEAD_VARS.ImagesDir, "DICOM", "image3.dcm"); string xmlFileNameOut = Path.Combine(LEAD_VARS.ImagesDir, "test.xml"); // Initialize DICOM engine DicomEngine.Startup(); DicomDataSet ds = new DicomDataSet(); // Load an existing DICOM file ds.Load(dicomFileNameIn, DicomDataSetLoadFlags.None); // Save as XML 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; ds.SaveXml(xmlFileNameOut, xmlFlags); // Now reload the XML file. // Note that there will not be an image because we skipped the pixel data in the save ds.LoadXml(xmlFileNameOut, DicomDataSetLoadXmlFlags.None); DicomEngine.Shutdown(); } static class LEAD_VARS { public const string ImagesDir = @"C:\LEADTOOLS22\Resources\Images"; }

See Also

Reference

Leadtools.Dicom.Common.Extensions Namespace

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

Leadtools.Dicom.Common Assembly