diff OrthancServer/Sources/Database/StatelessDatabaseOperations.cpp @ 5324:e95caa87fed8

only store PixelDataVR metadata if needed
author Sebastien Jodogne <s.jodogne@gmail.com>
date Sun, 25 Jun 2023 15:19:25 +0200
parents 03501a258d9e
children 176bc05f85f4 48b8dae6dc77
line wrap: on
line diff
--- a/OrthancServer/Sources/Database/StatelessDatabaseOperations.cpp	Sun Jun 25 12:29:39 2023 +0200
+++ b/OrthancServer/Sources/Database/StatelessDatabaseOperations.cpp	Sun Jun 25 15:19:25 2023 +0200
@@ -3361,9 +3361,13 @@
                                 boost::lexical_cast<std::string>(pixelDataOffset_));
 
             // New in Orthanc 1.12.1
-            SetInstanceMetadata(content, instanceMetadata_, instanceId,
-                                MetadataType_Instance_PixelDataVR,
-                                EnumerationToString(pixelDataVR_));
+            if (dicomSummary_.GuessPixelDataValueRepresentation(transferSyntax_) != pixelDataVR_)
+            {
+              // Store the VR of pixel data if it doesn't comply with the standard
+              SetInstanceMetadata(content, instanceMetadata_, instanceId,
+                                  MetadataType_Instance_PixelDataVR,
+                                  EnumerationToString(pixelDataVR_));
+            }
           }
       
           const DicomValue* value;