Hugintrunk  0.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Functions
vigra_ext::poisson::detail Namespace Reference

Classes

struct  FilterEdges
 

Functions

template<class Image , class Mask >
vigra::NumericTraits< typename
Image::PixelType >
::RealPromote 
ProcessNeighborPixels (const int x, const int y, const int dx, const int dy, const Image &image, const Mask &mask)
 
template<class Image , class Mask , class SeamMask >
vigra::NumericTraits< typename
Image::PixelType >
::RealPromote 
ProcessBorderPixel (const int x, const int y, const int dx, const int dy, const Image &image, const Mask &mask, const SeamMask &seam)
 
template<class Image , class SeamMask >
Image::PixelType GetBorderGradient (const int x, const int y, const int dx, const int dy, const SeamMask &seams, const Image &image1, const vigra::Point2D &offset)
 
template<class Image , class SeamMask >
vigra::NumericTraits< typename
Image::PixelType >
::RealPromote 
GetBorderValues (const int x, const int y, int dx, int dy, const Image &image, const SeamMask &seams)
 
template<class Image >
void RestrictErrorToNextLevel (const Image &in, Image &out)
 
template<class Image1 , class Image2 >
void SimpleConvolveImage4 (const Image1 &image1, Image2 &image2, const double factor1, const double factor2)
 
template<class Image >
vigra::Int8Image FindEdgesForPoisson (const Image &input)
 mark edges in input image for poisson blending * input: expected an image with following meanings labels has now the following values: 0: no image here 1: use information from image 1 5: use information from image 2 output: contains the following pixel values 0: no information available 1: at boundary between image 1 and 2: here we use Dirichlet boundary condition 2: at boundary between image 2 and empty pixels: here Neumann boundary condition applies 3: inside image 2 More...
 
template<class ComponentType >
double GetRealValue (const ComponentType &val)
 
template<class ComponentType >
double GetRealValue (const vigra::RGBValue< ComponentType > &val)
 
template<class Image , class SeamMask >
void SOR (Image &target, const Image &gradient, const SeamMask &seams, const float omega, const float errorThreshold, const int maxIter, const bool doWrap)
 
template<class Image , class SeamMask >
void CalcResidualError (Image &error, const Image &target, const Image &gradient, const SeamMask &seam, const bool doWrap)
 

Function Documentation

template<class Image , class SeamMask >
void vigra_ext::poisson::detail::CalcResidualError ( Image &  error,
const Image &  target,
const Image &  gradient,
const SeamMask &  seam,
const bool  doWrap 
)

Definition at line 409 of file BlendPoisson.h.

References GetBorderValues().

Referenced by vigra_ext::poisson::Multigrid().

template<class Image >
vigra::Int8Image vigra_ext::poisson::detail::FindEdgesForPoisson ( const Image &  input)

mark edges in input image for poisson blending * input: expected an image with following meanings labels has now the following values: 0: no image here 1: use information from image 1 5: use information from image 2 output: contains the following pixel values 0: no information available 1: at boundary between image 1 and 2: here we use Dirichlet boundary condition 2: at boundary between image 2 and empty pixels: here Neumann boundary condition applies 3: inside image 2

Definition at line 235 of file BlendPoisson.h.

References vigra_ext::destImage(), SimpleConvolveImage4(), vigra_ext::srcImageRange(), and vigra::omp::transformImage().

Referenced by vigra_ext::poisson::BuildSeamPyramid().

template<class Image , class SeamMask >
Image::PixelType vigra_ext::poisson::detail::GetBorderGradient ( const int  x,
const int  y,
const int  dx,
const int  dy,
const SeamMask &  seams,
const Image &  image1,
const vigra::Point2D &  offset 
)
inline

Definition at line 118 of file BlendPoisson.h.

Referenced by vigra_ext::poisson::BuildGradientMap().

template<class Image , class SeamMask >
vigra::NumericTraits<typename Image::PixelType>::RealPromote vigra_ext::poisson::detail::GetBorderValues ( const int  x,
const int  y,
int  dx,
int  dy,
const Image &  image,
const SeamMask &  seams 
)
inline

Definition at line 128 of file BlendPoisson.h.

Referenced by CalcResidualError(), and SOR().

template<class ComponentType >
double vigra_ext::poisson::detail::GetRealValue ( const ComponentType &  val)

Definition at line 244 of file BlendPoisson.h.

Referenced by SOR().

template<class ComponentType >
double vigra_ext::poisson::detail::GetRealValue ( const vigra::RGBValue< ComponentType > &  val)

Definition at line 247 of file BlendPoisson.h.

template<class Image , class Mask , class SeamMask >
vigra::NumericTraits<typename Image::PixelType>::RealPromote vigra_ext::poisson::detail::ProcessBorderPixel ( const int  x,
const int  y,
const int  dx,
const int  dy,
const Image &  image,
const Mask &  mask,
const SeamMask &  seam 
)
inline

Definition at line 71 of file BlendPoisson.h.

Referenced by vigra_ext::poisson::BuildGradientMap().

template<class Image , class Mask >
vigra::NumericTraits<typename Image::PixelType>::RealPromote vigra_ext::poisson::detail::ProcessNeighborPixels ( const int  x,
const int  y,
const int  dx,
const int  dy,
const Image &  image,
const Mask &  mask 
)
inline

Definition at line 50 of file BlendPoisson.h.

Referenced by vigra_ext::poisson::BuildGradientMap().

template<class Image >
void vigra_ext::poisson::detail::RestrictErrorToNextLevel ( const Image &  in,
Image &  out 
)
template<class Image1 , class Image2 >
void vigra_ext::poisson::detail::SimpleConvolveImage4 ( const Image1 &  image1,
Image2 &  image2,
const double  factor1,
const double  factor2 
)

Definition at line 187 of file BlendPoisson.h.

Referenced by FindEdgesForPoisson().

template<class Image , class SeamMask >
void vigra_ext::poisson::detail::SOR ( Image &  target,
const Image &  gradient,
const SeamMask &  seams,
const float  omega,
const float  errorThreshold,
const int  maxIter,
const bool  doWrap 
)

Definition at line 250 of file BlendPoisson.h.

References GetBorderValues(), GetRealValue(), and vigra_ext::log().

Referenced by vigra_ext::poisson::Multigrid().