Mercurial > hg > orthanc-stone
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); + } }