diff OrthancServer/Sources/ServerContext.cpp @ 4507:b4c58795f3a8

widening the use of DicomTransferSyntax enum
author Sebastien Jodogne <s.jodogne@gmail.com>
date Thu, 11 Feb 2021 09:33:48 +0100
parents ac69c9f76c71
children 8f9090b137f1
line wrap: on
line diff
--- a/OrthancServer/Sources/ServerContext.cpp	Wed Feb 10 17:01:44 2021 +0100
+++ b/OrthancServer/Sources/ServerContext.cpp	Thu Feb 11 09:33:48 2021 +0100
@@ -517,21 +517,22 @@
     hasPixelDataOffset = DicomStreamReader::LookupPixelDataOffset(
       pixelDataOffset, dicom.GetBufferData(), dicom.GetBufferSize());
 
-    std::string transferSyntax;
+    DicomTransferSyntax transferSyntax;
     bool hasTransferSyntax = dicom.LookupTransferSyntax(transferSyntax);
-        
+    
     DicomMap summary;
-    OrthancConfiguration::DefaultExtractDicomSummary(summary, dicom.GetParsedDicomFile());
+    dicom.GetSummary(summary);
 
     try
     {
       MetricsRegistry::Timer timer(GetMetricsRegistry(), "orthanc_store_dicom_duration_ms");
       StorageAccessor accessor(area_, GetMetricsRegistry());
 
-      resultPublicId = dicom.GetParsedDicomFile().GetHasher().HashInstance();
+      DicomInstanceHasher hasher(summary);
+      resultPublicId = hasher.HashInstance();
 
       Json::Value dicomAsJson;
-      OrthancConfiguration::DefaultDicomDatasetToJson(dicomAsJson, dicom.GetParsedDicomFile());
+      dicom.GetDicomAsJson(dicomAsJson);
       
       Json::Value simplifiedTags;
       Toolbox::SimplifyDicomAsJson(simplifiedTags, dicomAsJson, DicomToJsonFormat_Human);
@@ -684,8 +685,7 @@
       bool transcode = false;
 
       DicomTransferSyntax sourceSyntax;
-      if (!FromDcmtkBridge::LookupOrthancTransferSyntax(
-            sourceSyntax, dicom.GetParsedDicomFile().GetDcmtkObject()) ||
+      if (!dicom.LookupTransferSyntax(sourceSyntax) ||
           sourceSyntax == ingestTransferSyntax_)
       {
         // Don't transcode if the incoming DICOM is already in the proper transfer syntax
@@ -1684,7 +1684,7 @@
       std::unique_ptr<ImageAccessor> decoded;
       try
       {
-        decoded.reset(dicom.GetParsedDicomFile().DecodeFrame(frameIndex));
+        decoded.reset(dicom.DecodeFrame(frameIndex));
       }
       catch (OrthancException& e)
       {
@@ -1723,7 +1723,7 @@
 
     if (builtinDecoderTranscoderOrder_ == BuiltinDecoderTranscoderOrder_After)
     {
-      return dicom.GetParsedDicomFile().DecodeFrame(frameIndex);
+      return dicom.DecodeFrame(frameIndex);
     }
     else
     {