Hugintrunk  0.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Member Functions | Private Types | Private Attributes | List of all members
vigra_ext::ImageInterpolator< SrcImageIterator, SrcAccessor, INTERPOLATOR > Class Template Reference

"wrapper" for efficient interpolation access to an image More...

#include <Interpolators.h>

Public Types

typedef SrcAccessor::value_type PixelType
 
typedef vigra::UInt8 MaskType
 

Public Member Functions

 ImageInterpolator (vigra::triple< SrcImageIterator, SrcImageIterator, SrcAccessor > const &src, INTERPOLATOR &inter, bool warparound)
 Construct interpolator for an given image. More...
 
 ImageInterpolator (SrcImageIterator src_upperleft, SrcImageIterator src_lowerright, SrcAccessor sa, INTERPOLATOR &inter, bool warparound)
 Construct interpolator for specific image. More...
 
bool operator() (double x, double y, PixelType &result, MaskType &mask) const
 Interpolate without mask, but return dummy alpha value nevertheless. More...
 
bool operator() (double x, double y, PixelType &result) const
 Interpolate without mask. More...
 
bool interpolateNoMaskInside (int srcx, int srcy, double dx, double dy, PixelType &result) const
 Interpolate without boundary check and mask. More...
 
void emitGLSL (std::ostringstream &oss) const
 

Private Types

typedef vigra::NumericTraits
< PixelType >::RealPromote 
RealPixelType
 

Private Attributes

SrcImageIterator m_sIter
 
SrcAccessor m_sAcc
 
int m_w
 
int m_h
 
bool m_warparound
 
INTERPOLATOR m_inter
 

Detailed Description

template<typename SrcImageIterator, typename SrcAccessor, typename INTERPOLATOR>
class vigra_ext::ImageInterpolator< SrcImageIterator, SrcAccessor, INTERPOLATOR >

"wrapper" for efficient interpolation access to an image

Tailored for panorama remapping. Supports warparound boundary condition of left and right

Definition at line 290 of file Interpolators.h.

Member Typedef Documentation

template<typename SrcImageIterator, typename SrcAccessor, typename INTERPOLATOR>
typedef vigra::UInt8 vigra_ext::ImageInterpolator< SrcImageIterator, SrcAccessor, INTERPOLATOR >::MaskType

Definition at line 295 of file Interpolators.h.

template<typename SrcImageIterator, typename SrcAccessor, typename INTERPOLATOR>
typedef SrcAccessor::value_type vigra_ext::ImageInterpolator< SrcImageIterator, SrcAccessor, INTERPOLATOR >::PixelType

Definition at line 293 of file Interpolators.h.

template<typename SrcImageIterator, typename SrcAccessor, typename INTERPOLATOR>
typedef vigra::NumericTraits<PixelType>::RealPromote vigra_ext::ImageInterpolator< SrcImageIterator, SrcAccessor, INTERPOLATOR >::RealPixelType
private

Definition at line 297 of file Interpolators.h.

Constructor & Destructor Documentation

template<typename SrcImageIterator, typename SrcAccessor, typename INTERPOLATOR>
vigra_ext::ImageInterpolator< SrcImageIterator, SrcAccessor, INTERPOLATOR >::ImageInterpolator ( vigra::triple< SrcImageIterator, SrcImageIterator, SrcAccessor > const &  src,
INTERPOLATOR &  inter,
bool  warparound 
)
inline

Construct interpolator for an given image.

Definition at line 309 of file Interpolators.h.

template<typename SrcImageIterator, typename SrcAccessor, typename INTERPOLATOR>
vigra_ext::ImageInterpolator< SrcImageIterator, SrcAccessor, INTERPOLATOR >::ImageInterpolator ( SrcImageIterator  src_upperleft,
SrcImageIterator  src_lowerright,
SrcAccessor  sa,
INTERPOLATOR &  inter,
bool  warparound 
)
inline

Construct interpolator for specific image.

Definition at line 324 of file Interpolators.h.

Member Function Documentation

template<typename SrcImageIterator, typename SrcAccessor, typename INTERPOLATOR>
void vigra_ext::ImageInterpolator< SrcImageIterator, SrcAccessor, INTERPOLATOR >::emitGLSL ( std::ostringstream &  oss) const
inline
template<typename SrcImageIterator, typename SrcAccessor, typename INTERPOLATOR>
bool vigra_ext::ImageInterpolator< SrcImageIterator, SrcAccessor, INTERPOLATOR >::interpolateNoMaskInside ( int  srcx,
int  srcy,
double  dx,
double  dy,
PixelType result 
) const
inline
template<typename SrcImageIterator, typename SrcAccessor, typename INTERPOLATOR>
bool vigra_ext::ImageInterpolator< SrcImageIterator, SrcAccessor, INTERPOLATOR >::operator() ( double  x,
double  y,
PixelType result,
MaskType mask 
) const
inline

Interpolate without mask, but return dummy alpha value nevertheless.

Definition at line 339 of file Interpolators.h.

template<typename SrcImageIterator, typename SrcAccessor, typename INTERPOLATOR>
bool vigra_ext::ImageInterpolator< SrcImageIterator, SrcAccessor, INTERPOLATOR >::operator() ( double  x,
double  y,
PixelType result 
) const
inline

Member Data Documentation

template<typename SrcImageIterator, typename SrcAccessor, typename INTERPOLATOR>
int vigra_ext::ImageInterpolator< SrcImageIterator, SrcAccessor, INTERPOLATOR >::m_h
private
template<typename SrcImageIterator, typename SrcAccessor, typename INTERPOLATOR>
INTERPOLATOR vigra_ext::ImageInterpolator< SrcImageIterator, SrcAccessor, INTERPOLATOR >::m_inter
private
template<typename SrcImageIterator, typename SrcAccessor, typename INTERPOLATOR>
SrcAccessor vigra_ext::ImageInterpolator< SrcImageIterator, SrcAccessor, INTERPOLATOR >::m_sAcc
private
template<typename SrcImageIterator, typename SrcAccessor, typename INTERPOLATOR>
SrcImageIterator vigra_ext::ImageInterpolator< SrcImageIterator, SrcAccessor, INTERPOLATOR >::m_sIter
private
template<typename SrcImageIterator, typename SrcAccessor, typename INTERPOLATOR>
int vigra_ext::ImageInterpolator< SrcImageIterator, SrcAccessor, INTERPOLATOR >::m_w
private
template<typename SrcImageIterator, typename SrcAccessor, typename INTERPOLATOR>
bool vigra_ext::ImageInterpolator< SrcImageIterator, SrcAccessor, INTERPOLATOR >::m_warparound
private

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