HuginBase::Photometric::ResponseTransform< VTIn > Class Template Reference

radiometric transformation, includes exposure, vignetting and white balance. More...

#include <ResponseTransform.h>

Inheritance diagram for HuginBase::Photometric::ResponseTransform< VTIn >:

Inheritance graph
[legend]
List of all members.

Public Types

typedef vigra_ext::ValueTypeTraits<
VTIn >::value_type 
VT1
typedef std::vector< double > LUT

Public Member Functions

 ResponseTransform ()
 ResponseTransform (const HuginBase::SrcPanoImage &src)
virtual ~ResponseTransform ()
void setFlatfield (const vigra::FImage *flat)
double calcVigFactor (hugin_utils::FDiff2D d) const
void enforceMonotonicity ()
vigra::NumericTraits< VT1
>::RealPromote 
apply (VT1 v, const hugin_utils::FDiff2D &pos, vigra::VigraTrueType) const
 function for gray values (ignores white balance :-)
vigra::NumericTraits< VT1
>::RealPromote 
apply (VT1 v, const hugin_utils::FDiff2D &pos) const
 function for color values
vigra::NumericTraits< vigra::RGBValue<
VT1 > >::RealPromote 
apply (vigra::RGBValue< VT1 > v, const hugin_utils::FDiff2D &pos, vigra::VigraFalseType) const
 function for color values
vigra::NumericTraits< vigra::RGBValue<
VT1 > >::RealPromote 
apply (vigra::RGBValue< VT1 > v, const hugin_utils::FDiff2D &pos) const
 function for color values
template<class T>
vigra::NumericTraits< T
>::RealPromote 
operator() (T v, const hugin_utils::FDiff2D &pos) const
 deprecated

Public Attributes

LUT m_lutR
double m_radiusScale
vigra_ext::LUTFunctor< VT1,
LUT
m_lutRFunc
const vigra::FImage * m_flatfield
double m_srcExposure
std::vector< double > m_RadialVigCorrCoeff
hugin_utils::FDiff2D m_RadialVigCorrCenter
int m_VigCorrMode
double m_WhiteBalanceRed
double m_WhiteBalanceBlue
HuginBase::SrcPanoImage m_src

Private Member Functions

void initWithSrcImg (const HuginBase::SrcPanoImage &src)

Detailed Description

template<class VTIn>
class HuginBase::Photometric::ResponseTransform< VTIn >

radiometric transformation, includes exposure, vignetting and white balance.

scene referred irradiance -> camera color values

Definition at line 57 of file ResponseTransform.h.


Member Typedef Documentation

template<class VTIn>
typedef std::vector<double> HuginBase::Photometric::ResponseTransform< VTIn >::LUT

Reimplemented in HuginBase::Photometric::InvResponseTransform< VTIn, VTOut >.

Definition at line 65 of file ResponseTransform.h.

template<class VTIn>
typedef vigra_ext::ValueTypeTraits<VTIn>::value_type HuginBase::Photometric::ResponseTransform< VTIn >::VT1

Reimplemented in HuginBase::Photometric::InvResponseTransform< VTIn, VTOut >.

Definition at line 62 of file ResponseTransform.h.


Constructor & Destructor Documentation

template<class VTIn>
HuginBase::Photometric::ResponseTransform< VTIn >::ResponseTransform (  ) 

Definition at line 260 of file ResponseTransform.h.

References HuginBase::Photometric::ResponseTransform< VTIn >::m_flatfield, and HuginBase::Photometric::ResponseTransform< VTIn >::m_radiusScale.

template<class VTIn>
HuginBase::Photometric::ResponseTransform< VTIn >::ResponseTransform ( const HuginBase::SrcPanoImage src  ) 

Definition at line 267 of file ResponseTransform.h.

References HuginBase::Photometric::ResponseTransform< VTIn >::initWithSrcImg().

template<class VTIn>
virtual HuginBase::Photometric::ResponseTransform< VTIn >::~ResponseTransform (  )  [inline, virtual]

Definition at line 76 of file ResponseTransform.h.


Member Function Documentation

template<class VTIn>
vigra::NumericTraits<vigra::RGBValue<VT1> >::RealPromote HuginBase::Photometric::ResponseTransform< VTIn >::apply ( vigra::RGBValue< VT1 v,
const hugin_utils::FDiff2D pos 
) const

function for color values

Reimplemented in HuginBase::Photometric::InvResponseTransform< VTIn, VTOut >.

template<class VTIn>
vigra::NumericTraits<vigra::RGBValue<VT1> >::RealPromote HuginBase::Photometric::ResponseTransform< VTIn >::apply ( vigra::RGBValue< VT1 v,
const hugin_utils::FDiff2D pos,
vigra::VigraFalseType   
) const

function for color values

Reimplemented in HuginBase::Photometric::InvResponseTransform< VTIn, VTOut >.

template<class VTIn>
vigra::NumericTraits<VT1>::RealPromote HuginBase::Photometric::ResponseTransform< VTIn >::apply ( VT1  v,
const hugin_utils::FDiff2D pos 
) const

function for color values

Reimplemented in HuginBase::Photometric::InvResponseTransform< VTIn, VTOut >.

template<class VTIn>
vigra::NumericTraits<VT1>::RealPromote HuginBase::Photometric::ResponseTransform< VTIn >::apply ( VT1  v,
const hugin_utils::FDiff2D pos,
vigra::VigraTrueType   
) const

function for gray values (ignores white balance :-)

Reimplemented in HuginBase::Photometric::InvResponseTransform< VTIn, VTOut >.

Referenced by HuginBase::Photometric::ResponseTransform< VTIn >::operator()().

template<class VTIn>
double HuginBase::Photometric::ResponseTransform< VTIn >::calcVigFactor ( hugin_utils::FDiff2D  d  )  const

Definition at line 330 of file ResponseTransform.h.

References HuginBase::Photometric::ResponseTransform< VTIn >::m_flatfield, HuginBase::Photometric::ResponseTransform< VTIn >::m_RadialVigCorrCenter, HuginBase::Photometric::ResponseTransform< VTIn >::m_RadialVigCorrCoeff, HuginBase::Photometric::ResponseTransform< VTIn >::m_radiusScale, HuginBase::Photometric::ResponseTransform< VTIn >::m_VigCorrMode, celeste::max(), celeste::min(), hugin_utils::roundi(), HuginBase::BaseSrcPanoImage::VIGCORR_FLATFIELD, HuginBase::BaseSrcPanoImage::VIGCORR_RADIAL, hugin_utils::TDiff2D< T >::x, and hugin_utils::TDiff2D< T >::y.

Referenced by HuginBase::Photometric::InvResponseTransform< VTIn, VTOut >::apply().

template<class VTIn>
void HuginBase::Photometric::ResponseTransform< VTIn >::enforceMonotonicity (  )  [inline]

Reimplemented in HuginBase::Photometric::InvResponseTransform< VTIn, VTOut >.

Definition at line 91 of file ResponseTransform.h.

References vigra_ext::enforceMonotonicity(), and HuginBase::Photometric::ResponseTransform< VTIn >::m_lutR.

Referenced by ImageVariableDialog::OnShowVignettingGraph().

template<class VTIn>
void HuginBase::Photometric::ResponseTransform< VTIn >::initWithSrcImg ( const HuginBase::SrcPanoImage src  )  [private]

Definition at line 274 of file ResponseTransform.h.

References vigra_ext::EMoR::createEMoRLUT(), vigra_ext::createGammaLUT(), HuginBase::SrcPanoImage::getExposure(), HuginBase::SrcPanoImage::getRadialVigCorrCenter(), HuginBase::Photometric::ResponseTransform< VTIn >::m_flatfield, HuginBase::Photometric::ResponseTransform< VTIn >::m_lutR, HuginBase::Photometric::ResponseTransform< VTIn >::m_lutRFunc, HuginBase::Photometric::ResponseTransform< VTIn >::m_RadialVigCorrCenter, HuginBase::Photometric::ResponseTransform< VTIn >::m_RadialVigCorrCoeff, HuginBase::Photometric::ResponseTransform< VTIn >::m_radiusScale, HuginBase::Photometric::ResponseTransform< VTIn >::m_src, HuginBase::Photometric::ResponseTransform< VTIn >::m_srcExposure, HuginBase::Photometric::ResponseTransform< VTIn >::m_VigCorrMode, HuginBase::Photometric::ResponseTransform< VTIn >::m_WhiteBalanceBlue, HuginBase::Photometric::ResponseTransform< VTIn >::m_WhiteBalanceRed, celeste::max(), vigra_ext::resizeLUT(), HuginBase::BaseSrcPanoImage::RESPONSE_EMOR, HuginBase::BaseSrcPanoImage::RESPONSE_GAMMA, and HuginBase::BaseSrcPanoImage::RESPONSE_LINEAR.

Referenced by HuginBase::Photometric::ResponseTransform< VTIn >::ResponseTransform().

template<class VTIn>
template<class T>
vigra::NumericTraits<T>::RealPromote HuginBase::Photometric::ResponseTransform< VTIn >::operator() ( v,
const hugin_utils::FDiff2D pos 
) const [inline]

deprecated

Reimplemented in HuginBase::Photometric::InvResponseTransform< VTIn, VTOut >.

Definition at line 116 of file ResponseTransform.h.

References HuginBase::Photometric::ResponseTransform< VTIn >::apply().

template<class VTIn>
void HuginBase::Photometric::ResponseTransform< VTIn >::setFlatfield ( const vigra::FImage *  flat  )  [inline]

Definition at line 85 of file ResponseTransform.h.

References HuginBase::Photometric::ResponseTransform< VTIn >::m_flatfield.

Referenced by correctImage().


Member Data Documentation

template<class VTIn>
const vigra::FImage* HuginBase::Photometric::ResponseTransform< VTIn >::m_flatfield

Definition at line 125 of file ResponseTransform.h.

Referenced by HuginBase::Photometric::ResponseTransform< VTIn >::calcVigFactor(), HuginBase::Photometric::ResponseTransform< VTIn >::initWithSrcImg(), HuginBase::Photometric::ResponseTransform< VTIn >::ResponseTransform(), and HuginBase::Photometric::ResponseTransform< VTIn >::setFlatfield().

template<class VTIn>
LUT HuginBase::Photometric::ResponseTransform< VTIn >::m_lutR

Definition at line 122 of file ResponseTransform.h.

Referenced by HuginBase::Photometric::InvResponseTransform< VTIn, VTOut >::apply(), HuginBase::Photometric::InvResponseTransform< VTIn, VTOut >::emitGLSL(), HuginBase::Photometric::InvResponseTransform< VTIn, VTOut >::enforceMonotonicity(), HuginBase::Photometric::ResponseTransform< VTIn >::enforceMonotonicity(), HuginBase::Photometric::InvResponseTransform< VTIn, VTOut >::init(), HuginBase::Photometric::ResponseTransform< VTIn >::initWithSrcImg(), and HuginBase::Photometric::InvResponseTransform< VTIn, VTOut >::InvResponseTransform().

template<class VTIn>
vigra_ext::LUTFunctor<VT1, LUT> HuginBase::Photometric::ResponseTransform< VTIn >::m_lutRFunc

Definition at line 124 of file ResponseTransform.h.

Referenced by HuginBase::Photometric::ResponseTransform< VTIn >::initWithSrcImg().

template<class VTIn>
hugin_utils::FDiff2D HuginBase::Photometric::ResponseTransform< VTIn >::m_RadialVigCorrCenter

Definition at line 128 of file ResponseTransform.h.

Referenced by HuginBase::Photometric::ResponseTransform< VTIn >::calcVigFactor(), and HuginBase::Photometric::ResponseTransform< VTIn >::initWithSrcImg().

template<class VTIn>
std::vector<double> HuginBase::Photometric::ResponseTransform< VTIn >::m_RadialVigCorrCoeff

Definition at line 127 of file ResponseTransform.h.

Referenced by HuginBase::Photometric::ResponseTransform< VTIn >::calcVigFactor(), and HuginBase::Photometric::ResponseTransform< VTIn >::initWithSrcImg().

template<class VTIn>
double HuginBase::Photometric::ResponseTransform< VTIn >::m_radiusScale

Definition at line 123 of file ResponseTransform.h.

Referenced by HuginBase::Photometric::ResponseTransform< VTIn >::calcVigFactor(), HuginBase::Photometric::InvResponseTransform< VTIn, VTOut >::emitGLSL(), HuginBase::Photometric::ResponseTransform< VTIn >::initWithSrcImg(), and HuginBase::Photometric::ResponseTransform< VTIn >::ResponseTransform().

template<class VTIn>
HuginBase::SrcPanoImage HuginBase::Photometric::ResponseTransform< VTIn >::m_src

Definition at line 133 of file ResponseTransform.h.

Referenced by HuginBase::Photometric::InvResponseTransform< VTIn, VTOut >::emitGLSL(), and HuginBase::Photometric::ResponseTransform< VTIn >::initWithSrcImg().

template<class VTIn>
double HuginBase::Photometric::ResponseTransform< VTIn >::m_srcExposure

Definition at line 126 of file ResponseTransform.h.

Referenced by HuginBase::Photometric::InvResponseTransform< VTIn, VTOut >::apply(), HuginBase::Photometric::InvResponseTransform< VTIn, VTOut >::emitGLSL(), and HuginBase::Photometric::ResponseTransform< VTIn >::initWithSrcImg().

template<class VTIn>
int HuginBase::Photometric::ResponseTransform< VTIn >::m_VigCorrMode

Definition at line 129 of file ResponseTransform.h.

Referenced by HuginBase::Photometric::ResponseTransform< VTIn >::calcVigFactor(), and HuginBase::Photometric::ResponseTransform< VTIn >::initWithSrcImg().

template<class VTIn>
double HuginBase::Photometric::ResponseTransform< VTIn >::m_WhiteBalanceBlue

Definition at line 131 of file ResponseTransform.h.

Referenced by HuginBase::Photometric::InvResponseTransform< VTIn, VTOut >::apply(), and HuginBase::Photometric::ResponseTransform< VTIn >::initWithSrcImg().

template<class VTIn>
double HuginBase::Photometric::ResponseTransform< VTIn >::m_WhiteBalanceRed

Definition at line 130 of file ResponseTransform.h.

Referenced by HuginBase::Photometric::InvResponseTransform< VTIn, VTOut >::apply(), and HuginBase::Photometric::ResponseTransform< VTIn >::initWithSrcImg().


The documentation for this class was generated from the following file:
Generated on 25 Nov 2014 for Hugintrunk by  doxygen 1.4.7