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 > DicomExtensions Class > LoadJson Method : LoadJson(DicomDataSet,Stream,DicomDataSetLoadJsonFlags,LoadJsonBeforeElementCallback,LoadJsonAfterElementCallback) Method |
[ExtensionAttribute()] public static void LoadJson( DicomDataSet ds, Stream stream, DicomDataSetLoadJsonFlags jsonFlags, LoadJsonBeforeElementCallback cbBefore, LoadJsonAfterElementCallback cbAfter )
'Declaration
<ExtensionAttribute()> Public Overloads Shared Sub LoadJson( _ ByVal ds As DicomDataSet, _ ByVal stream As Stream, _ ByVal jsonFlags As DicomDataSetLoadJsonFlags, _ ByVal cbBefore As LoadJsonBeforeElementCallback, _ ByVal cbAfter As LoadJsonAfterElementCallback _ )
'Usage
Dim ds As DicomDataSet Dim stream As Stream Dim jsonFlags As DicomDataSetLoadJsonFlags Dim cbBefore As LoadJsonBeforeElementCallback Dim cbAfter As LoadJsonAfterElementCallback DicomExtensions.LoadJson(ds, stream, jsonFlags, cbBefore, cbAfter)
[ExtensionAttribute()] public: static void LoadJson( DicomDataSet^ ds, Stream^ stream, DicomDataSetLoadJsonFlags jsonFlags, LoadJsonBeforeElementCallback^ cbBefore, LoadJsonAfterElementCallback^ cbAfter )
Use this method to read the contents of a DICOM JSON file. The DICOM JSON file can be created using SaveJson By default, all binary data is read from the DICOM input JSON file, but this behavior can be modified by passing appropriate DicomDataSetLoadJsonFlags
The way that this method processes the input JSON file elements and element values can be customized by passing the optional LoadJsonBeforeElementCallback delegate. For more information on this, see the documentation and example for LoadJsonBeforeElementCallback. The DicomElement themselves can be modified after they have been added to the DicomDataSet by passing the optional LoadJsonAfterElementCallback delegate. For more information on this, see the documentation and example for LoadJsonAfterElementCallback.
This example loads a sample DICOM data set, saves it as JSON to a memory stream (with no binary data), displays the memory stream, reloads the JSON stream into a DicomDataSet object, and saves the DicomDataSet object as a DICOM file
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 Sub LoadJsonExample2() 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 New DicomDataSet() ' Load an existing DICOM file ds.Load(dicomFileNameIn, DicomDataSetLoadFlags.None) ' Save as JSON to a stream with no binary data ' For the demo, keep the json output file size small by skipping the pixel data Const jsonFlags As DicomDataSetSaveJsonFlags = DicomDataSetSaveJsonFlags.IgnoreBinaryData Or DicomDataSetSaveJsonFlags.None Or DicomDataSetSaveJsonFlags.TrimWhiteSpace Dim stream As Stream = New MemoryStream() ds.SaveJson(stream, jsonFlags) ' Display contents of stream stream.Flush() stream.Position = 0 Dim sr As New StreamReader(stream) Dim jsonString As String = sr.ReadToEnd() MessageBox.Show(jsonString, "json version of " & dicomFileNameIn) ' Now reload the json 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.LoadJson(stream, DicomDataSetLoadJsonFlags.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
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 void LoadJsonExample2() { 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 JSON to a stream with no binary data // For the demo, keep the json output file size small by skipping the pixel data const DicomDataSetSaveJsonFlags jsonFlags = DicomDataSetSaveJsonFlags.IgnoreBinaryData | DicomDataSetSaveJsonFlags.None | DicomDataSetSaveJsonFlags.TrimWhiteSpace; Stream stream = new MemoryStream(); ds.SaveJson(stream, jsonFlags); // Display contents of stream stream.Flush(); stream.Position = 0; StreamReader sr = new StreamReader(stream); string jsonString = sr.ReadToEnd(); MessageBox.Show(jsonString, "json version of " + dicomFileNameIn); // Now reload the json 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.LoadJson(stream, DicomDataSetLoadJsonFlags.None); ds.Save(dicomFileNameOut, DicomDataSetSaveFlags.None); DicomEngine.Shutdown(); } static class LEAD_VARS { public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images"; }
DicomExtensions Class
DicomExtensions Members
Overload List
LoadJson(DicomDataSet,String,DicomDataSetLoadJsonFlags,LoadJsonBeforeElementCallback,LoadJsonAfterElementCallback) Method
LoadJson(DicomDataSet,Stream,DicomDataSetLoadJsonFlags,LoadJsonBeforeElementCallback,LoadJsonAfterElementCallback) Method
LoadJson(DicomDataSet,String,DicomDataSetLoadJsonFlags) Method
LoadJson(DicomDataSet,Stream,DicomDataSetLoadJsonFlags) Method
SaveJson(DicomDataSet,String,DicomDataSetSaveJsonFlags,SaveJsonCallback) Method
SaveJson(DicomDataSet,Stream,DicomDataSetSaveJsonFlags,SaveJsonCallback) Method
SaveJson(DicomDataSet,String,DicomDataSetSaveJsonFlags) Method
SaveJson(DicomDataSet,Stream,DicomDataSetSaveJsonFlags) Method
SaveJsonCallback Delegate
LoadJsonBeforeElementCallback Delegate
LoadJsonAfterElementCallback Delegate