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.

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

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< typename ResponseTransform< VTIn >::VT1 >::RealPromote HuginBase::Photometric::ResponseTransform< VTIn >::apply VT1  v,
const hugin_utils::FDiff2D pos
const
 

function for color values

Definition at line 395 of file ResponseTransform.h.

References HuginBase::Photometric::ResponseTransform< VTIn >::apply(), and hugin_utils::FDiff2D.

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

function for gray values (ignores white balance :-)

Definition at line 361 of file ResponseTransform.h.

References HuginBase::Photometric::ResponseTransform< VTIn >::calcVigFactor(), hugin_utils::FDiff2D, HuginBase::Photometric::ResponseTransform< VTIn >::m_lutR, and HuginBase::Photometric::ResponseTransform< VTIn >::m_lutRFunc.

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

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

Definition at line 330 of file ResponseTransform.h.

References hugin_utils::FDiff2D, HuginBase::Photometric::ResponseTransform< VTIn >::m_flatfield, HuginBase::Photometric::ResponseTransform< VTIn >::m_RadialVigCorrCoeff, HuginBase::Photometric::ResponseTransform< VTIn >::m_VigCorrMode, celeste::min(), hugin_utils::TDiff2D< T >::x, and hugin_utils::TDiff2D< T >::y.

Referenced by HuginBase::Photometric::ResponseTransform< VTIn >::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().

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 >::LUT, 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(), HuginBase::SrcPanoImage::resize(), and vigra_ext::resizeLUT().

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 hugin_utils::FDiff2D.

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

Definition at line 85 of file ResponseTransform.h.

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(), and HuginBase::Photometric::ResponseTransform< VTIn >::ResponseTransform().

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

Definition at line 122 of file ResponseTransform.h.

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

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 >::apply(), and 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 >::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 >::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::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::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::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::ResponseTransform< VTIn >::initWithSrcImg().


The documentation for this class was generated from the following file:
Generated on Wed Sep 3 01:25:55 2014 for Hugintrunk by  doxygen 1.3.9.1