SaveJson(DicomDataSet,string,DicomDataSetSaveJsonFlags) Method

Summary

Saves the contents of the DICOM data set in DICOM (JavaScript Object Notation)JSON model format (specified in PS3.18) to the specified output file.

Syntax
C#
VB
C++
public static void SaveJson( 
   this DicomDataSet ds, 
   string fileName, 
   DicomDataSetSaveJsonFlags jsonFlags 
) 
<ExtensionAttribute()> 
Public Overloads Shared Sub SaveJson( _ 
   ByVal ds As DicomDataSet, _ 
   ByVal fileName As String, _ 
   ByVal jsonFlags As DicomDataSetSaveJsonFlags _ 
)  
[ExtensionAttribute()] 
public: 
static void SaveJson(  
   DicomDataSet^ ds, 
   String^ fileName, 
   DicomDataSetSaveJsonFlags jsonFlags 
)  

Parameters

ds
The contents of this data set to be saved

fileName
The name of the output JSON file.

jsonFlags
Flags that affect how binary data and other information is saved in the JSON output file.

Remarks

Use this method to export a DicomDataSet as human-readable JSON file. By default, all binary data is using BulkDataUri with dummy URIs, but this behavior can be modified by passing appropriate DicomDataSetSaveJsonFlags

The output JSON format is the DICOM JSON Model defined in the DICOM specification in PS3.18.F.

Note: When saving the pixel data of multipage compressed files to JSON, only the first frame is saved. This is because of the restriction specified in PS3.18.F.2.7 that states "There is a single InlineBinary value representing the entire Value Field, and not one per Value".

Example

This example loads a sample DICOM file, and saves the contents as a JSON file, where the binary data is exported as InlineBinary base64

C#
VB
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; 
 
public static void SaveJsonExample() 
{ 
   string dicomFileNameIn = Path.Combine(LEAD_VARS.ImagesDir, "IMAGE3.dcm"); 
   string xmlFileNameOut = Path.Combine(LEAD_VARS.ImagesDir, "test.json"); 
 
   DicomEngine.Startup(); 
 
   DicomDataSet ds = new DicomDataSet(); 
 
   // Load an existing DICOM file 
   ds.Load(dicomFileNameIn, DicomDataSetLoadFlags.None); 
 
   ds.SaveJson(xmlFileNameOut, DicomDataSetSaveJsonFlags.InlineBinary); 
 
   DicomEngine.Shutdown(); 
} 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images"; 
} 
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 
 
Public Shared Sub SaveJsonExample() 
   Dim dicomFileNameIn As String = Path.Combine(LEAD_VARS.ImagesDir, "IMAGE3.dcm") 
   Dim xmlFileNameOut As String = Path.Combine(LEAD_VARS.ImagesDir, "test.json") 
 
   DicomEngine.Startup() 
 
   Dim ds As New DicomDataSet() 
 
   ' Load an existing DICOM file 
   ds.Load(dicomFileNameIn, DicomDataSetLoadFlags.None) 
 
   ds.SaveJson(xmlFileNameOut, DicomDataSetSaveJsonFlags.InlineBinary) 
 
   DicomEngine.Shutdown() 
End Sub 
 
Public NotInheritable Class LEAD_VARS 
   Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images" 
End Class 

Requirements

Target Platforms

Help Version 20.0.2020.4.3
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2020 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.Dicom.Common Assembly