[an error occurred while processing this directive]
Main Page | Modules | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

HuginBase::Photometric::InvResponseTransform< VTIn, VTOut > Class Template Reference

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

#include <ResponseTransform.h>

Inheritance diagram for HuginBase::Photometric::InvResponseTransform< VTIn, VTOut >:

Inheritance graph
[legend]
List of all members.

Public Types

typedef vigra_ext::ValueTypeTraits<
VTIn >::value_type 
VT1
typedef vigra::NumericTraits<
VT1 >::RealPromote 
VTInCompReal
typedef vigra_ext::ValueTypeTraits<
VTOut >::value_type 
dest_type
typedef std::vector< doubleLUT
typedef std::vector< dest_typeLUTD

Public Member Functions

 InvResponseTransform ()
 InvResponseTransform (const HuginBase::SrcPanoImage &src)
virtual ~InvResponseTransform ()
void setHDROutput (bool hdrMode=true)
void setOutput (double destExposure, const LUTD &destLut, double scale)
 output lut
void enforceMonotonicity ()
double dither (const double &v) const
 Dithering is used to fool the eye into seeing gradients that are finer than the precision of the pixel type.
vigra::NumericTraits< dest_type
>::RealPromote 
apply (VT1 v, const hugin_utils::FDiff2D &pos, vigra::VigraTrueType) const
 function for gray values (ignores white balance :-)
vigra::NumericTraits< dest_type
>::RealPromote 
apply (VT1 v, const hugin_utils::FDiff2D &pos) const
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
template<class T, class A>
hdrWeight (T v, A a) const
void emitGLSL (std::ostringstream &oss, std::vector< double > &invLut, std::vector< double > &destLut) const

Protected Attributes

vigra_ext::InvLUTFunctor<
VT1, LUT
m_lutRInvFunc
LUTD m_destLut
vigra_ext::LUTFunctor< VTInCompReal,
LUTD
m_destLutFunc
double m_destExposure
bool m_hdrMode
double m_intScale

Detailed Description

template<class VTIn, class VTOut>
class HuginBase::Photometric::InvResponseTransform< VTIn, VTOut >

radiometric transformation, includes exposure, vignetting and white balance

camera color values -> scene referred irradiance


Member Typedef Documentation

template<class VTIn, class VTOut>
typedef vigra_ext::ValueTypeTraits<VTOut>::value_type HuginBase::Photometric::InvResponseTransform< VTIn, VTOut >::dest_type
 

template<class VTIn, class VTOut>
typedef std::vector<double> HuginBase::Photometric::InvResponseTransform< VTIn, VTOut >::LUT
 

Reimplemented from HuginBase::Photometric::ResponseTransform< VTIn >.

template<class VTIn, class VTOut>
typedef std::vector<dest_type> HuginBase::Photometric::InvResponseTransform< VTIn, VTOut >::LUTD
 

template<class VTIn, class VTOut>
typedef vigra_ext::ValueTypeTraits<VTIn>::value_type HuginBase::Photometric::InvResponseTransform< VTIn, VTOut >::VT1
 

Reimplemented from HuginBase::Photometric::ResponseTransform< VTIn >.

template<class VTIn, class VTOut>
typedef vigra::NumericTraits<VT1>::RealPromote HuginBase::Photometric::InvResponseTransform< VTIn, VTOut >::VTInCompReal
 


Constructor & Destructor Documentation

template<class VTIn, class VTOut>
HuginBase::Photometric::InvResponseTransform< VTIn, VTOut >::InvResponseTransform  ) 
 

template<class VTIn, class VTOut>
HuginBase::Photometric::InvResponseTransform< VTIn, VTOut >::InvResponseTransform const HuginBase::SrcPanoImage src  ) 
 

template<class VTIn, class VTOut>
virtual HuginBase::Photometric::InvResponseTransform< VTIn, VTOut >::~InvResponseTransform  )  [inline, virtual]
 


Member Function Documentation

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

function for color values

Reimplemented from HuginBase::Photometric::ResponseTransform< VTIn >.

template<class VTIn, class VTOut>
vigra::NumericTraits< vigra::RGBValue< typename InvResponseTransform< VTIn, VTOut >::VT1 > >::RealPromote HuginBase::Photometric::InvResponseTransform< VTIn, VTOut >::apply vigra::RGBValue< VT1 v,
const hugin_utils::FDiff2D pos,
vigra::VigraFalseType 
const
 

function for color values

Reimplemented from HuginBase::Photometric::ResponseTransform< VTIn >.

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

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

function for gray values (ignores white balance :-)

template<class VTIn, class VTOut>
double HuginBase::Photometric::InvResponseTransform< VTIn, VTOut >::dither const double v  )  const
 

Dithering is used to fool the eye into seeing gradients that are finer than the precision of the pixel type.

This prevents the occurence of cleanly-bordered regions in the output where the pixel values suddenly change from N to N+1. Such regions are especially objectionable in the green channel of 8-bit images.

template<class VTIn, class VTOut>
void HuginBase::Photometric::InvResponseTransform< VTIn, VTOut >::emitGLSL std::ostringstream &  oss,
std::vector< double > &  invLut,
std::vector< double > &  destLut
const
 

template<class VTIn, class VTOut>
void HuginBase::Photometric::InvResponseTransform< VTIn, VTOut >::enforceMonotonicity  )  [inline]
 

Reimplemented from HuginBase::Photometric::ResponseTransform< VTIn >.

template<class VTIn, class VTOut>
template<class T, class A>
A HuginBase::Photometric::InvResponseTransform< VTIn, VTOut >::hdrWeight v,
a
const [inline]
 

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

deprecated

Reimplemented from HuginBase::Photometric::ResponseTransform< VTIn >.

template<class VTIn, class VTOut>
void HuginBase::Photometric::InvResponseTransform< VTIn, VTOut >::setHDROutput bool  hdrMode = true  ) 
 

template<class VTIn, class VTOut>
void HuginBase::Photometric::InvResponseTransform< VTIn, VTOut >::setOutput double  destExposure,
const LUTD destLut,
double  scale
 

output lut


Member Data Documentation

template<class VTIn, class VTOut>
double HuginBase::Photometric::InvResponseTransform< VTIn, VTOut >::m_destExposure [protected]
 

template<class VTIn, class VTOut>
LUTD HuginBase::Photometric::InvResponseTransform< VTIn, VTOut >::m_destLut [protected]
 

template<class VTIn, class VTOut>
vigra_ext::LUTFunctor<VTInCompReal, LUTD> HuginBase::Photometric::InvResponseTransform< VTIn, VTOut >::m_destLutFunc [protected]
 

template<class VTIn, class VTOut>
bool HuginBase::Photometric::InvResponseTransform< VTIn, VTOut >::m_hdrMode [protected]
 

template<class VTIn, class VTOut>
double HuginBase::Photometric::InvResponseTransform< VTIn, VTOut >::m_intScale [protected]
 

template<class VTIn, class VTOut>
vigra_ext::InvLUTFunctor<VT1, LUT> HuginBase::Photometric::InvResponseTransform< VTIn, VTOut >::m_lutRInvFunc [protected]
 


The documentation for this class was generated from the following file:

Generated on Mon Sep 20 01:01:36 2010 for Hugintrunk by doxygen 1.3.9.1