Mercurial > hg > orthanc-dicomweb
changeset 566:29c43ae730a8 am-experimental
using new SDK function
author | Alain Mazy <am@osimis.io> |
---|---|
date | Thu, 25 May 2023 17:38:22 +0200 |
parents | c2f91ea4117c |
children | de4a56ecd2bc |
files | CMakeLists.txt Plugin/DicomWebFormatter.cpp Plugin/DicomWebFormatter.h Plugin/WadoRs.cpp |
diffstat | 4 files changed, 25 insertions(+), 14 deletions(-) [+] |
line wrap: on
line diff
--- a/CMakeLists.txt Tue May 23 17:43:02 2023 +0200 +++ b/CMakeLists.txt Thu May 25 17:38:22 2023 +0200 @@ -99,6 +99,10 @@ include_directories(${CMAKE_SOURCE_DIR}/Resources/Orthanc/Sdk-1.9.2) elseif (ORTHANC_SDK_VERSION STREQUAL "1.11.3") include_directories(${CMAKE_SOURCE_DIR}/Resources/Orthanc/Sdk-1.11.3) + elseif (ORTHANC_SDK_VERSION STREQUAL "framework") + set(tmp ${ORTHANC_FRAMEWORK_ROOT}/../../OrthancServer/Plugins/Include/) + message(${tmp}) + include_directories(${tmp}) else() message(FATAL_ERROR "Unsupported version of the Orthanc plugin SDK: ${ORTHANC_SDK_VERSION}") endif()
--- a/Plugin/DicomWebFormatter.cpp Tue May 23 17:43:02 2023 +0200 +++ b/Plugin/DicomWebFormatter.cpp Thu May 25 17:38:22 2023 +0200 @@ -84,7 +84,8 @@ size_t size, bool xml, OrthancPluginDicomWebBinaryMode mode, - const std::string& bulkRoot) + const std::string& bulkRoot, + bool injectEmptyPixelData) { DicomWebFormatter payload(mode, bulkRoot); @@ -92,11 +93,11 @@ if (xml) { - s.Assign(OrthancPluginEncodeDicomWebXml2(context, data, size, Callback, &payload)); + s.Assign(OrthancPluginEncodeDicomWebXml2(context, data, size, Callback, &payload)); // TODO injectEmptyPixelData } else { - s.Assign(OrthancPluginEncodeDicomWebJson2(context, data, size, Callback, &payload)); + s.Assign(OrthancPluginEncodeDicomWebJson3(context, data, size, Callback, &payload, injectEmptyPixelData)); } if (s.GetContent() == NULL) @@ -116,11 +117,12 @@ const Json::Value& value, bool xml, OrthancPluginDicomWebBinaryMode mode, - const std::string& bulkRoot) + const std::string& bulkRoot, + bool injectEmptyPixelData) { MemoryBuffer dicom; dicom.CreateDicom(value, OrthancPluginCreateDicomFlags_None); - Apply(target, context, dicom.GetData(), dicom.GetSize(), xml, mode, bulkRoot); + Apply(target, context, dicom.GetData(), dicom.GetSize(), xml, mode, bulkRoot, injectEmptyPixelData); } @@ -151,7 +153,8 @@ void DicomWebFormatter::HttpWriter::AddInternal(const void* dicom, size_t size, OrthancPluginDicomWebBinaryMode mode, - const std::string& bulkRoot) + const std::string& bulkRoot, + bool injectEmptyPixelData) { if (!first_ && !isXml_) @@ -163,7 +166,7 @@ std::string item; - DicomWebFormatter::Apply(item, context_, dicom, size, isXml_, mode, bulkRoot); + DicomWebFormatter::Apply(item, context_, dicom, size, isXml_, mode, bulkRoot, injectEmptyPixelData); if (isXml_) { @@ -252,7 +255,7 @@ MemoryBuffer dicom; dicom.CreateDicom(value, OrthancPluginCreateDicomFlags_None); - AddInternal(dicom.GetData(), dicom.GetSize(), OrthancPluginDicomWebBinaryMode_Ignore, ""); + AddInternal(dicom.GetData(), dicom.GetSize(), OrthancPluginDicomWebBinaryMode_Ignore, "", false); }
--- a/Plugin/DicomWebFormatter.h Tue May 23 17:43:02 2023 +0200 +++ b/Plugin/DicomWebFormatter.h Thu May 25 17:38:22 2023 +0200 @@ -64,14 +64,16 @@ size_t size, bool xml, OrthancPluginDicomWebBinaryMode mode, - const std::string& bulkRoot); + const std::string& bulkRoot, + bool injectEmptyPixelData = false); static void Apply(std::string& target, OrthancPluginContext* context, const Json::Value& value, bool xml, OrthancPluginDicomWebBinaryMode mode, - const std::string& bulkRoot); + const std::string& bulkRoot, + bool injectEmptyPixelData = false); class HttpWriter : public boost::noncopyable { @@ -85,7 +87,8 @@ void AddInternal(const void* dicom, size_t size, OrthancPluginDicomWebBinaryMode mode, - const std::string& bulkRoot); + const std::string& bulkRoot, + bool injectEmptyPixelData); public: HttpWriter(OrthancPluginRestOutput* output, @@ -98,9 +101,10 @@ void AddDicom(const void* dicom, size_t size, - const std::string& bulkRoot) + const std::string& bulkRoot, + bool injectEmptyPixelData) { - AddInternal(dicom, size, OrthancPluginDicomWebBinaryMode_BulkDataUri, bulkRoot); + AddInternal(dicom, size, OrthancPluginDicomWebBinaryMode_BulkDataUri, bulkRoot, injectEmptyPixelData); } void AddOrthancMap(const Orthanc::DicomMap& value);
--- a/Plugin/WadoRs.cpp Tue May 23 17:43:02 2023 +0200 +++ b/Plugin/WadoRs.cpp Thu May 25 17:38:22 2023 +0200 @@ -913,7 +913,7 @@ OrthancPlugins::MemoryBuffer dicomFile; if (dicomFile.RestApiGet("/instances/" + orthancId + "/file-until-pixel-data", false)) { - writer.AddDicom(dicomFile.GetData(), dicomFile.GetSize(), bulkRoot); + writer.AddDicom(dicomFile.GetData(), dicomFile.GetSize(), bulkRoot, true); } break;