diff Framework/Toolbox/DicomInstanceParameters.cpp @ 1159:acb399643945 broker

DicomInstanceParameters::ApplyRescale()
author Sebastien Jodogne <s.jodogne@gmail.com>
date Mon, 18 Nov 2019 15:24:36 +0100
parents 7681f3943748
children 19b1c8caade4
line wrap: on
line diff
--- a/Framework/Toolbox/DicomInstanceParameters.cpp	Sun Nov 17 11:37:47 2019 +0100
+++ b/Framework/Toolbox/DicomInstanceParameters.cpp	Mon Nov 18 15:24:36 2019 +0100
@@ -265,7 +265,7 @@
 
       
   void DicomInstanceParameters::Data::ApplyRescaleAndDoseScaling(Orthanc::ImageAccessor& image,
-                                                   bool useDouble) const
+                                                                 bool useDouble) const
   {
     if (image.GetFormat() != Orthanc::PixelFormat_Float32)
     {
@@ -455,4 +455,19 @@
       throw Orthanc::OrthancException(Orthanc::ErrorCode_BadSequenceOfCalls);
     }
   }
+
+
+  double DicomInstanceParameters::Data::ApplyRescale(double value) const
+  {
+    double factor = doseGridScaling_;
+    double offset = 0.0;
+
+    if (hasRescale_)
+    {
+      factor *= rescaleSlope_;
+      offset = rescaleIntercept_;
+    }
+
+    return (value * factor + offset);
+  }
 }