LoadJsonAfterElementData Class (original) (raw)

Syntax

public class LoadJsonAfterElementData 
public ref class LoadJsonAfterElementData  

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 LoadJsonCallbackExample() { string dicomFileNameIn = Path.Combine(LEAD_VARS.ImagesDir,"DICOM", "image2.dcm"); string jsonFileNameOut = Path.Combine(LEAD_VARS.ImagesDir, "test.json"); 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 file with no binary data // For the demo, keep the json output file size small by skipping the pixel data // Use the SaveJsonCallback delegate to customize the json file DicomDataSetSaveJsonFlags jsonFlags = DicomDataSetSaveJsonFlags.IgnoreBinaryData | DicomDataSetSaveJsonFlags.TrimWhiteSpace; ds.SaveJson(jsonFileNameOut, jsonFlags); // Use a LoadmlCallback to read the customized json file ds.LoadJson(jsonFileNameOut, DicomDataSetLoadJsonFlags.None, MyLoadJsonBeforeElementCallback, MyLoadJsonAfterElementCallback); // Save the result -- there will be no pixel data ds.Save(dicomFileNameOut, DicomDataSetSaveFlags.None); DicomEngine.Shutdown(); } private static bool MyLoadJsonBeforeElementCallback(LoadJsonBeforeElementData data) { // Remove Patient Birth Date if (data.Tag == DicomTag.PatientBirthDate) { return false; } // Change the patient name if (data.Tag == DicomTag.PatientName) { data.ElementValue = "NewLast^NewFirst"; } // Write the elements to the consolee that have child elements if (data.HasChildElements) { Console.WriteLine("Element {0} has child elements.", data.Tag); } return true; } private static void MyLoadJsonAfterElementCallback(LoadJsonAfterElementData data) { if (data.DicomElement.Tag == DicomTag.PixelData) { // here you could call one of the following to set the pixel data // data.DicomDataSet.SetBinaryValue // data.DicomDataSet.SetImage() } } static class LEAD_VARS { public const string ImagesDir = @"C:\LEADTOOLS22\Resources\Images"; }

See Also

Reference

LoadJsonAfterElementData Members

Leadtools.Dicom.Common.Extensions Namespace

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

Leadtools.Dicom.Common Assembly