diff OrthancFramework/Sources/DicomParsing/ParsedDicomFile.cpp @ 5303:9504de20d43d am-experimental

new SDK function OrthancPluginEncodeDicomWebJson3 that allows injecting an empty PixelData element at the end
author Alain Mazy <am@osimis.io>
date Thu, 25 May 2023 17:19:52 +0200
parents 0ea402b4d901
children
line wrap: on
line diff
--- a/OrthancFramework/Sources/DicomParsing/ParsedDicomFile.cpp	Wed May 24 08:56:41 2023 +0200
+++ b/OrthancFramework/Sources/DicomParsing/ParsedDicomFile.cpp	Thu May 25 17:19:52 2023 +0200
@@ -1755,8 +1755,19 @@
   }
 
 
-  void ParsedDicomFile::Apply(ITagVisitor& visitor) const
+  void ParsedDicomFile::Apply(ITagVisitor& visitor, bool injectEmptyPixelData) const
   {
+    DcmItem& dataset = *GetDcmtkObjectConst().getDataset();
+
+    if (injectEmptyPixelData)
+    {
+      DcmTag emptyPixelData(DCM_PixelData, EVR_PixelData);
+      if (!dataset.insertEmptyElement(emptyPixelData, false).good())
+      {
+        throw OrthancException(ErrorCode_InternalError);
+      }
+    }
+
     FromDcmtkBridge::Apply(*GetDcmtkObjectConst().getDataset(), visitor, GetDefaultDicomEncoding());
   }