Hugintrunk
0.1
|
radiometric transformation, includes exposure, vignetting and white balance More...
#include <ResponseTransform.h>
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< double > | LUT |
typedef std::vector< dest_type > | LUTD |
Public Types inherited from HuginBase::Photometric::ResponseTransform< VTIn > | |
typedef vigra_ext::ValueTypeTraits < VTIn >::value_type | VT1 |
typedef std::vector< double > | LUT |
Public Member Functions | |
InvResponseTransform () | |
InvResponseTransform (const HuginBase::SrcPanoImage &src) | |
virtual | ~InvResponseTransform () |
void | setHDROutput (bool hdrMode, double destExposure) |
void | setOutput (double destExposure, const LUTD &destLut, double scale, double rangeCompression=0.0) |
output lut More... | |
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. More... | |
vigra::NumericTraits < dest_type >::RealPromote | apply (VT1 v, const hugin_utils::FDiff2D &pos, vigra::VigraTrueType) const |
function for gray values (ignores white balance :-) More... | |
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 More... | |
vigra::NumericTraits < vigra::RGBValue< VT1 > >::RealPromote | apply (vigra::RGBValue< VT1 > v, const hugin_utils::FDiff2D &pos) const |
template<class T > | |
vigra::NumericTraits< T > ::RealPromote | operator() (T v, const hugin_utils::FDiff2D &pos) const |
deprecated More... | |
template<class T , class A > | |
A | hdrWeight (T v, A a) const |
void | emitGLSL (std::ostringstream &oss, std::vector< double > &invLut, std::vector< double > &destLut) const |
Public Member Functions inherited from HuginBase::Photometric::ResponseTransform< VTIn > | |
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 :-) More... | |
vigra::NumericTraits< VT1 > ::RealPromote | apply (VT1 v, const hugin_utils::FDiff2D &pos) const |
function for color values More... | |
vigra::NumericTraits < vigra::RGBValue< VT1 > >::RealPromote | apply (vigra::RGBValue< VT1 > v, const hugin_utils::FDiff2D &pos, vigra::VigraFalseType) const |
function for color values More... | |
vigra::NumericTraits < vigra::RGBValue< VT1 > >::RealPromote | apply (vigra::RGBValue< VT1 > v, const hugin_utils::FDiff2D &pos) const |
function for color values More... | |
template<class T > | |
vigra::NumericTraits< T > ::RealPromote | operator() (T v, const hugin_utils::FDiff2D &pos) const |
deprecated More... | |
Protected Attributes | |
LUT | m_lutRInv |
vigra_ext::LUTFunctor< VT1, LUT > | m_lutRInvFunc |
LUTD | m_destLut |
vigra_ext::LUTFunctor < VTInCompReal, LUTD > | m_destLutFunc |
double | m_destExposure |
bool | m_hdrMode |
double | m_intScale |
double | m_rangeCompression |
Private Types | |
typedef ResponseTransform< VTIn > | Base |
Private Member Functions | |
void | init (const HuginBase::SrcPanoImage &src) |
void | invertLUT () |
Private Attributes | |
std::mt19937 | Twister |
Additional Inherited Members | |
Public Attributes inherited from HuginBase::Photometric::ResponseTransform< VTIn > | |
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 |
radiometric transformation, includes exposure, vignetting and white balance
camera color values -> scene referred irradiance
Definition at line 137 of file ResponseTransform.h.
|
private |
Definition at line 140 of file ResponseTransform.h.
typedef vigra_ext::ValueTypeTraits<VTOut>::value_type HuginBase::Photometric::InvResponseTransform< VTIn, VTOut >::dest_type |
Definition at line 145 of file ResponseTransform.h.
typedef std::vector<double> HuginBase::Photometric::InvResponseTransform< VTIn, VTOut >::LUT |
Definition at line 147 of file ResponseTransform.h.
typedef std::vector<dest_type> HuginBase::Photometric::InvResponseTransform< VTIn, VTOut >::LUTD |
Definition at line 148 of file ResponseTransform.h.
typedef vigra_ext::ValueTypeTraits<VTIn>::value_type HuginBase::Photometric::InvResponseTransform< VTIn, VTOut >::VT1 |
Definition at line 143 of file ResponseTransform.h.
typedef vigra::NumericTraits<VT1>::RealPromote HuginBase::Photometric::InvResponseTransform< VTIn, VTOut >::VTInCompReal |
Definition at line 144 of file ResponseTransform.h.
HuginBase::Photometric::InvResponseTransform< VTIn, VTOut >::InvResponseTransform | ( | ) |
Definition at line 420 of file ResponseTransform.h.
HuginBase::Photometric::InvResponseTransform< VTIn, VTOut >::InvResponseTransform | ( | const HuginBase::SrcPanoImage & | src | ) |
Definition at line 429 of file ResponseTransform.h.
References HuginBase::Photometric::InvResponseTransform< VTIn, VTOut >::invertLUT(), HuginBase::Photometric::InvResponseTransform< VTIn, VTOut >::m_destExposure, HuginBase::Photometric::InvResponseTransform< VTIn, VTOut >::m_intScale, HuginBase::Photometric::ResponseTransform< VTIn >::m_lutR, HuginBase::Photometric::InvResponseTransform< VTIn, VTOut >::m_lutRInv, and HuginBase::Photometric::InvResponseTransform< VTIn, VTOut >::m_lutRInvFunc.
|
inlinevirtual |
Definition at line 159 of file ResponseTransform.h.
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 :-)
Definition at line 503 of file ResponseTransform.h.
References celeste::max().
Referenced by HuginBase::Photometric::InvResponseTransform< VTIn, VTOut >::operator()().
vigra::NumericTraits< typename InvResponseTransform< VTIn, VTOut >::dest_type >::RealPromote HuginBase::Photometric::InvResponseTransform< VTIn, VTOut >::apply | ( | VT1 | v, |
const hugin_utils::FDiff2D & | pos | ||
) | const |
Definition at line 567 of file ResponseTransform.h.
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
Definition at line 532 of file ResponseTransform.h.
References celeste::max().
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 |
Definition at line 575 of file ResponseTransform.h.
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.
Definition at line 482 of file ResponseTransform.h.
void HuginBase::Photometric::InvResponseTransform< VTIn, VTOut >::emitGLSL | ( | std::ostringstream & | oss, |
std::vector< double > & | invLut, | ||
std::vector< double > & | destLut | ||
) | const |
Definition at line 583 of file ResponseTransform.h.
References celeste::max(), HuginBase::BaseSrcPanoImage::VIGCORR_FLATFIELD, and HuginBase::BaseSrcPanoImage::VIGCORR_RADIAL.
|
inline |
Definition at line 173 of file ResponseTransform.h.
References vigra_ext::enforceMonotonicity(), HuginBase::Photometric::InvResponseTransform< VTIn, VTOut >::invertLUT(), HuginBase::Photometric::ResponseTransform< VTIn >::m_lutR, HuginBase::Photometric::InvResponseTransform< VTIn, VTOut >::m_lutRInv, and HuginBase::Photometric::InvResponseTransform< VTIn, VTOut >::m_lutRInvFunc.
Referenced by correctImage(), and HuginBase::Nona::RemappedPanoImage< RemapImage, AlphaImage >::remapImage().
|
inline |
Definition at line 217 of file ResponseTransform.h.
References vigra_ext::getMaxComponent(), and HuginBase::Photometric::InvResponseTransform< VTIn, VTOut >::m_hdrMode.
|
private |
Definition at line 441 of file ResponseTransform.h.
|
inlineprivate |
Definition at line 229 of file ResponseTransform.h.
References HuginBase::Photometric::ResponseTransform< VTIn >::m_lutR, and HuginBase::Photometric::InvResponseTransform< VTIn, VTOut >::m_lutRInv.
Referenced by HuginBase::Photometric::InvResponseTransform< VTIn, VTOut >::enforceMonotonicity(), and HuginBase::Photometric::InvResponseTransform< VTIn, VTOut >::InvResponseTransform().
|
inline |
deprecated
Definition at line 210 of file ResponseTransform.h.
References HuginBase::Photometric::InvResponseTransform< VTIn, VTOut >::apply().
void HuginBase::Photometric::InvResponseTransform< VTIn, VTOut >::setHDROutput | ( | bool | hdrMode, |
double | destExposure | ||
) |
Definition at line 454 of file ResponseTransform.h.
Referenced by correctImage(), and HuginBase::Nona::RemappedPanoImage< RemapImage, AlphaImage >::remapImage().
void HuginBase::Photometric::InvResponseTransform< VTIn, VTOut >::setOutput | ( | double | destExposure, |
const LUTD & | destLut, | ||
double | scale, | ||
double | rangeCompression = 0.0 |
||
) |
output lut
Definition at line 464 of file ResponseTransform.h.
Referenced by correctImage(), TextureManager::TextureInfo::DefineLevels(), and HuginBase::Nona::RemappedPanoImage< RemapImage, AlphaImage >::remapImage().
|
protected |
Definition at line 248 of file ResponseTransform.h.
Referenced by HuginBase::Photometric::InvResponseTransform< VTIn, VTOut >::InvResponseTransform().
|
protected |
Definition at line 246 of file ResponseTransform.h.
|
protected |
Definition at line 247 of file ResponseTransform.h.
|
protected |
Definition at line 249 of file ResponseTransform.h.
Referenced by HuginBase::Photometric::InvResponseTransform< VTIn, VTOut >::hdrWeight().
|
protected |
Definition at line 250 of file ResponseTransform.h.
Referenced by HuginBase::Photometric::InvResponseTransform< VTIn, VTOut >::InvResponseTransform().
|
protected |
Definition at line 242 of file ResponseTransform.h.
Referenced by HuginBase::Photometric::InvResponseTransform< VTIn, VTOut >::enforceMonotonicity(), HuginBase::Photometric::InvResponseTransform< VTIn, VTOut >::invertLUT(), and HuginBase::Photometric::InvResponseTransform< VTIn, VTOut >::InvResponseTransform().
|
protected |
Definition at line 245 of file ResponseTransform.h.
Referenced by HuginBase::Photometric::InvResponseTransform< VTIn, VTOut >::enforceMonotonicity(), and HuginBase::Photometric::InvResponseTransform< VTIn, VTOut >::InvResponseTransform().
|
protected |
Definition at line 251 of file ResponseTransform.h.
|
private |
Definition at line 254 of file ResponseTransform.h.