diff OrthancFramework/Sources/DicomParsing/FromDcmtkBridge.cpp @ 5287:c04230962098 am-experimental

wip: 'dicomWeb' json format + 'include' get arguments
author Alain Mazy <am@osimis.io>
date Fri, 28 Apr 2023 10:42:27 +0200
parents 7cb1b851f5c8
children 79fa77e9fa0d
line wrap: on
line diff
--- a/OrthancFramework/Sources/DicomParsing/FromDcmtkBridge.cpp	Mon Apr 24 18:13:48 2023 +0200
+++ b/OrthancFramework/Sources/DicomParsing/FromDcmtkBridge.cpp	Fri Apr 28 10:42:27 2023 +0200
@@ -41,6 +41,9 @@
 #include "../Logging.h"
 #include "../Toolbox.h"
 #include "../OrthancException.h"
+#include "DicomWebJsonVisitor.h"
+#include "ParsedDicomFile.h"
+#include <boost/date_time/posix_time/posix_time.hpp>
 
 #if ORTHANC_SANDBOXED == 0
 #  include "../TemporaryFile.h"
@@ -1444,6 +1447,16 @@
 
     result.clear();
 
+    if (format == DicomToJsonFormat_DicomWeb)
+    {
+      DicomWebJsonVisitor visitor;
+
+      ParsedDicomFile dicom(values, Encoding_Utf8, true);
+      dicom.Apply(visitor);
+      result = visitor.GetResult();
+      return;
+    }
+
     for (DicomMap::Content::const_iterator 
            it = values.content_.begin(); it != values.content_.end(); ++it)
     {