From: <hug...@li...> - 2011-09-28 16:42:38
|
branch: details: http://hugin.hg.sourceforge.net/hgweb/hugin/hugin/hgrepo/h/hu/hugin/hugin/rev/7b8ada736647 changeset: 5594:7b8ada736647 user: tmodes date: Wed Sep 28 17:57:07 2011 +0200 description: Use relative ev in hdr output instead of absoulte ev to prevent clipping because of limited value range of exr format [678694] diffstat: src/hugin1/hugin/PreviewColorPickerTool.cpp | 2 +- src/hugin_base/nona/RemappedPanoImage.h | 4 ++-- src/hugin_base/photometric/ResponseTransform.h | 6 +++--- 3 files changed, 6 insertions(+), 6 deletions(-) diffs (59 lines): diff -r 231abc663cf1 -r 7b8ada736647 src/hugin1/hugin/PreviewColorPickerTool.cpp --- a/src/hugin1/hugin/PreviewColorPickerTool.cpp Wed Sep 28 17:43:27 2011 +0200 +++ b/src/hugin1/hugin/PreviewColorPickerTool.cpp Wed Sep 28 17:57:07 2011 +0200 @@ -124,7 +124,7 @@ } else { - invResponse.setHDROutput(); + invResponse.setHDROutput(true,1.0/pow(2.0,helper->GetPanoramaPtr()->getOptions().outputExposureValue)); } vigra::DRGBImage floatTemp(tempImage.size()); vigra_ext::transformImageSpatial(srcImageRange(tempImage), destImage(floatTemp), invResponse, vigra::Diff2D(pos.x-ColorPickerSize,pos.y-ColorPickerSize)); diff -r 231abc663cf1 -r 7b8ada736647 src/hugin_base/nona/RemappedPanoImage.h --- a/src/hugin_base/nona/RemappedPanoImage.h Wed Sep 28 17:43:27 2011 +0200 +++ b/src/hugin_base/nona/RemappedPanoImage.h Wed Sep 28 17:57:07 2011 +0200 @@ -469,7 +469,7 @@ invResponse.setOutput(1.0/pow(2.0,m_destImg.outputExposureValue), outLut, maxVal); } else { - invResponse.setHDROutput(); + invResponse.setHDROutput(true,1.0/pow(2.0,m_destImg.outputExposureValue)); } @@ -645,7 +645,7 @@ invResponse.setOutput(1.0/pow(2.0,m_destImg.outputExposureValue), outLut, maxVal); } else { - invResponse.setHDROutput(); + invResponse.setHDROutput(true,1.0/pow(2.0,m_destImg.outputExposureValue)); } if (((m_srcImg.hasActiveMasks()) || (m_srcImg.getCropMode() != SrcPanoImage::NO_CROP))) { diff -r 231abc663cf1 -r 7b8ada736647 src/hugin_base/photometric/ResponseTransform.h --- a/src/hugin_base/photometric/ResponseTransform.h Wed Sep 28 17:43:27 2011 +0200 +++ b/src/hugin_base/photometric/ResponseTransform.h Wed Sep 28 17:57:07 2011 +0200 @@ -164,7 +164,7 @@ public: /// - void setHDROutput(bool hdrMode=true); + void setHDROutput(bool hdrMode, double destExposure); /// output lut void setOutput(double destExposure, const LUTD & destLut, double scale); @@ -432,11 +432,11 @@ } template <class VTIn, class VTOut> -void InvResponseTransform<VTIn,VTOut>::setHDROutput(bool hdrMode) +void InvResponseTransform<VTIn,VTOut>::setHDROutput(bool hdrMode, double destExposure) { m_hdrMode = hdrMode; m_intScale = 1; - m_destExposure = 1.0; + m_destExposure = destExposure; m_destLut.clear(); } |