VignettingCorrection.h File Reference

#include <vector>
#include <functional>
#include <vigra/stdimage.hxx>
#include <vigra/transformimage.hxx>
#include <vigra/inspectimage.hxx>
#include <vigra/combineimages.hxx>
#include <vigra/functorexpression.hxx>
#include <vigra_ext/utils.h>
#include <boost/random/mersenne_twister.hpp>

Include dependency graph for VignettingCorrection.h:

Include dependency graph

This graph shows which files directly or indirectly include this file:

Included by dependency graph

Go to the source code of this file.

Namespaces

namespace  vigra_ext

Classes

class  vigra_ext::VigCorrFlatDivFunctor< VT1, VT2, InvResp, Adjust >
class  vigra_ext::VigCorrDivFunctor< VT1, InvResp, VigFunc, Adjust >
class  vigra_ext::VigCorrFlatAddFunctor< VT1, VT2, InvResp, Adjust >
class  vigra_ext::VigCorrAddFunctor< VT1, InvResp, VigFunc, Adjust >
struct  vigra_ext::PolySqDistFunctor< NTERMS >
struct  vigra_ext::DitherFunctor< T >
 Dither code taken from enblend and adapted to a standalone functor. More...
struct  vigra_ext::GammaFunctor
struct  vigra_ext::LinearTransformFunctor< PT >
 Calculate ret = p * a + b. More...

Functions

bool isTrueType (vigra::VigraFalseType)
bool isTrueType (vigra::VigraTrueType)
template<class T>
bool ditheringNeeded (T const &)
template<class SrcImageIterator, class SrcAccessor, class DestImageIterator, class DestAccessor, class Functor>
void applyRadialVigCorrection (vigra::triple< SrcImageIterator, SrcImageIterator, SrcAccessor > src, vigra::pair< DestImageIterator, DestAccessor > dest, double cx, double cy, Functor const &f)
template<class SrcImageIterator, class SrcAccessor, class DestImageIterator, class DestAccessor, class Functor>
void applyRadialVigCorrection (SrcImageIterator src_upperleft, SrcImageIterator src_lowerright, SrcAccessor sa, DestImageIterator dest_upperleft, DestAccessor da, double cx, double cy, Functor const &f)
template<class SrcImageIterator, class SrcAccessor, class DestImageIterator, class DestAccessor, class Functor>
void applyRadialVigCorrectionDither (vigra::triple< SrcImageIterator, SrcImageIterator, SrcAccessor > src, vigra::pair< DestImageIterator, DestAccessor > dest, double cx, double cy, Functor const &f, bool dither)
 Apply flatfield correction with dithering.
template<class ImgIter, class ImgAccessor, class FFIter, class FFAccessor, class DestIter, class DestAccessor, class Functor>
void combineTwoImagesDither (vigra::triple< ImgIter, ImgIter, ImgAccessor > srcImg, vigra::pair< FFIter, FFAccessor > ffImg, vigra::pair< DestIter, DestAccessor > destImg, Functor const &f, bool dither)
 Apply combine two images.
template<class ImgIter, class ImgAccessor, class FFIter, class FFAccessor, class DestIter, class DestAccessor>
void flatfieldVigCorrection (vigra::triple< ImgIter, ImgIter, ImgAccessor > srcImg, vigra::pair< FFIter, FFAccessor > ffImg, vigra::pair< DestIter, DestAccessor > destImg, double gamma, double gammaMaxVal, bool division, typename vigra::NumericTraits< typename ImgAccessor::value_type >::RealPromote a, typename vigra::NumericTraits< typename ImgAccessor::value_type >::RealPromote b, bool dither)
template<class ImgIter, class ImgAccessor, class DestIter, class DestAccessor>
void radialVigCorrection (vigra::triple< ImgIter, ImgIter, ImgAccessor > srcImg, vigra::pair< DestIter, DestAccessor > destImg, double gamma, double gammaMaxVal, const std::vector< double > &radCoeff, hugin_utils::FDiff2D center, bool division, typename vigra::NumericTraits< typename ImgAccessor::value_type >::RealPromote a, typename vigra::NumericTraits< typename ImgAccessor::value_type >::RealPromote b, bool dither)
template<class ImgIter, class ImgAccessor, class DestIter, class DestAccessor>
void applyBrightnessCorrection (vigra::triple< ImgIter, ImgIter, ImgAccessor > srcImg, vigra::pair< DestIter, DestAccessor > destImg, typename vigra::NumericTraits< typename ImgAccessor::value_type >::RealPromote a, typename vigra::NumericTraits< typename ImgAccessor::value_type >::RealPromote b)
template<class ImgIter, class ImgAccessor, class DestIter, class DestAccessor>
void applyGammaAndBrightCorrection (vigra::triple< ImgIter, ImgIter, ImgAccessor > srcImg, vigra::pair< DestIter, DestAccessor > destImg, double gamma, double maxGVal, typename vigra::NumericTraits< typename ImgAccessor::value_type >::RealPromote a, typename vigra::NumericTraits< typename ImgAccessor::value_type >::RealPromote b)
template<class ImgIter, class ImgAccessor, class DestIter, class DestAccessor>
void applyGammaCorrection (vigra::triple< ImgIter, ImgIter, ImgAccessor > srcImg, vigra::pair< DestIter, DestAccessor > destImg, double gamma, double maxGVal)


Detailed Description

Author:
Pablo d'Angelo <pablo.dangelo@web.de>
$Id$

This is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU General Public License along with this software; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

Definition in file VignettingCorrection.h.


Function Documentation

template<class ImgIter, class ImgAccessor, class DestIter, class DestAccessor>
void applyBrightnessCorrection vigra::triple< ImgIter, ImgIter, ImgAccessor >  srcImg,
vigra::pair< DestIter, DestAccessor >  destImg,
typename vigra::NumericTraits< typename ImgAccessor::value_type >::RealPromote  a,
typename vigra::NumericTraits< typename ImgAccessor::value_type >::RealPromote  b
 

Definition at line 515 of file VignettingCorrection.h.

References vigra_ext::transformImage().

template<class ImgIter, class ImgAccessor, class DestIter, class DestAccessor>
void applyGammaAndBrightCorrection vigra::triple< ImgIter, ImgIter, ImgAccessor >  srcImg,
vigra::pair< DestIter, DestAccessor >  destImg,
double  gamma,
double  maxGVal,
typename vigra::NumericTraits< typename ImgAccessor::value_type >::RealPromote  a,
typename vigra::NumericTraits< typename ImgAccessor::value_type >::RealPromote  b
 

Definition at line 528 of file VignettingCorrection.h.

References vigra_ext::transformImage().

template<class ImgIter, class ImgAccessor, class DestIter, class DestAccessor>
void applyGammaCorrection vigra::triple< ImgIter, ImgIter, ImgAccessor >  srcImg,
vigra::pair< DestIter, DestAccessor >  destImg,
double  gamma,
double  maxGVal
 

Definition at line 544 of file VignettingCorrection.h.

References vigra_ext::transformImage().

template<class SrcImageIterator, class SrcAccessor, class DestImageIterator, class DestAccessor, class Functor>
void applyRadialVigCorrection SrcImageIterator  src_upperleft,
SrcImageIterator  src_lowerright,
SrcAccessor  sa,
DestImageIterator  dest_upperleft,
DestAccessor  da,
double  cx,
double  cy,
Functor const &  f
 

Definition at line 342 of file VignettingCorrection.h.

Referenced by vigra_ext::applyRadialVigCorrection(), and vigra_ext::applyRadialVigCorrectionDither().

template<class SrcImageIterator, class SrcAccessor, class DestImageIterator, class DestAccessor, class Functor>
void applyRadialVigCorrection vigra::triple< SrcImageIterator, SrcImageIterator, SrcAccessor >  src,
vigra::pair< DestImageIterator, DestAccessor >  dest,
double  cx,
double  cy,
Functor const &  f
 

Definition at line 330 of file VignettingCorrection.h.

References vigra_ext::applyRadialVigCorrection().

template<class SrcImageIterator, class SrcAccessor, class DestImageIterator, class DestAccessor, class Functor>
void applyRadialVigCorrectionDither vigra::triple< SrcImageIterator, SrcImageIterator, SrcAccessor >  src,
vigra::pair< DestImageIterator, DestAccessor >  dest,
double  cx,
double  cy,
Functor const &  f,
bool  dither
 

Apply flatfield correction with dithering.

If dither is true, dithering will be performed

Definition at line 374 of file VignettingCorrection.h.

References vigra_ext::applyRadialVigCorrection().

Referenced by vigra_ext::radialVigCorrection().

template<class ImgIter, class ImgAccessor, class FFIter, class FFAccessor, class DestIter, class DestAccessor, class Functor>
void combineTwoImagesDither vigra::triple< ImgIter, ImgIter, ImgAccessor >  srcImg,
vigra::pair< FFIter, FFAccessor >  ffImg,
vigra::pair< DestIter, DestAccessor >  destImg,
Functor const &  f,
bool  dither
 

Apply combine two images.

If dither is true, dithering will be performed

Definition at line 399 of file VignettingCorrection.h.

Referenced by vigra_ext::flatfieldVigCorrection().

template<class T>
bool ditheringNeeded T const &   ) 
 

Definition at line 219 of file VignettingCorrection.h.

References vigra_ext::isTrueType().

template<class ImgIter, class ImgAccessor, class FFIter, class FFAccessor, class DestIter, class DestAccessor>
void flatfieldVigCorrection vigra::triple< ImgIter, ImgIter, ImgAccessor >  srcImg,
vigra::pair< FFIter, FFAccessor >  ffImg,
vigra::pair< DestIter, DestAccessor >  destImg,
double  gamma,
double  gammaMaxVal,
bool  division,
typename vigra::NumericTraits< typename ImgAccessor::value_type >::RealPromote  a,
typename vigra::NumericTraits< typename ImgAccessor::value_type >::RealPromote  b,
bool  dither
 

Definition at line 416 of file VignettingCorrection.h.

References vigra_ext::combineTwoImagesDither().

Referenced by HuginBase::Nona::applyFlatfield().

bool isTrueType vigra::VigraTrueType   )  [inline]
 

Definition at line 214 of file VignettingCorrection.h.

Referenced by vigra_ext::ditheringNeeded().

bool isTrueType vigra::VigraFalseType   )  [inline]
 

Definition at line 210 of file VignettingCorrection.h.

template<class ImgIter, class ImgAccessor, class DestIter, class DestAccessor>
void radialVigCorrection vigra::triple< ImgIter, ImgIter, ImgAccessor >  srcImg,
vigra::pair< DestIter, DestAccessor >  destImg,
double  gamma,
double  gammaMaxVal,
const std::vector< double > &  radCoeff,
hugin_utils::FDiff2D  center,
bool  division,
typename vigra::NumericTraits< typename ImgAccessor::value_type >::RealPromote  a,
typename vigra::NumericTraits< typename ImgAccessor::value_type >::RealPromote  b,
bool  dither
 

Definition at line 469 of file VignettingCorrection.h.

References vigra_ext::applyRadialVigCorrectionDither(), hugin_utils::FDiff2D, hugin_utils::TDiff2D< T >::x, and hugin_utils::TDiff2D< T >::y.


Generated on Wed Jul 16 01:25:44 2014 for Hugintrunk by  doxygen 1.3.9.1