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 : SaveJsonCallback Delegate |
public delegate bool SaveJsonCallback( SaveJsonData data )
'Declaration
Public Delegate Function SaveJsonCallback( _ ByVal data As SaveJsonData _ ) As Boolean
'Usage
Dim instance As New SaveJsonCallback(AddressOf HandlerMethod)
public delegate bool SaveJsonCallback( SaveJsonData^ data )
This example loads a sample DICOM file, and saves the contents as a JSON file. The JSON file output is customized by using the SaveJsonCallback delegate to assign a BulkDataUri.
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 SaveJsonCallbackExample() uriIndex = 0 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) ' Keep the JSON output file size small by writing binary data as BulkDataUri ' The URI written is modified in the callback ds.SaveJson(xmlFileNameOut, DicomDataSetSaveJsonFlags.BulkDataUri, AddressOf MySaveJsonCallback) DicomEngine.Shutdown() End Sub Public Shared uriIndex As Integer = 0 Public Shared Function GenerateUri() As String uriIndex += 1 Return String.Format("http://MySampleUri/{0}", uriIndex) End Function Public Shared Function MySaveJsonCallback(ByVal d As SaveJsonData) As Boolean If d.DicomElement Is Nothing Then Return True End If Dim vr As DicomVRType = d.DicomElement.VR Dim isBinary As Boolean = (vr = DicomVRType.OB OrElse vr = DicomVRType.OD OrElse vr = DicomVRType.OF OrElse vr = DicomVRType.OW OrElse vr = DicomVRType.UN) If isBinary Then ' Set a URI d.BulkDataUri = GenerateUri() End If Return True End Function 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 SaveJsonCallbackExample() { uriIndex = 0; 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); // Keep the JSON output file size small by writing binary data as BulkDataUri // The URI written is modified in the callback ds.SaveJson(xmlFileNameOut, DicomDataSetSaveJsonFlags.BulkDataUri, MySaveJsonCallback); DicomEngine.Shutdown(); } public static int uriIndex = 0; public static string GenerateUri() { uriIndex++; return string.Format(@"http://MySampleUri/{0}", uriIndex); } public static bool MySaveJsonCallback(SaveJsonData d) { if (d.DicomElement == null) return true; DicomVRType vr = d.DicomElement.VR; bool isBinary = ( vr == DicomVRType.OB || vr == DicomVRType.OD || vr == DicomVRType.OF || vr == DicomVRType.OW || vr == DicomVRType.UN ); if (isBinary) { // Set a URI d.BulkDataUri = GenerateUri(); } return true; } static class LEAD_VARS { public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images"; }
SaveJsonCallback Members
Leadtools.Dicom.Common.Extensions Namespace
SaveJson(DicomDataSet,String,DicomDataSetSaveJsonFlags,SaveJsonCallback) Method
SaveJson(DicomDataSet,Stream,DicomDataSetSaveJsonFlags,SaveJsonCallback) Method
SaveJson(DicomDataSet,String,DicomDataSetSaveJsonFlags) Method
SaveJson(DicomDataSet,Stream,DicomDataSetSaveJsonFlags) Method
SaveJsonCallback Delegate