vigra_ext::ImageInterpolator< SrcImageIterator, SrcAccessor, INTERPOLATOR > Class Template Reference

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

#include <Interpolators.h>

List of all members.

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.
 ImageInterpolator (SrcImageIterator src_upperleft, SrcImageIterator src_lowerright, SrcAccessor sa, INTERPOLATOR &inter, bool warparound)
 Construct interpolator for specific image.
bool operator() (double x, double y, PixelType &result, MaskType &mask) const
 Interpolate without mask, but return dummy alpha value nevertheless.
bool operator() (double x, double y, PixelType &result) const
 Interpolate without mask.
bool interpolateNoMaskInside (int srcx, int srcy, double dx, double dy, PixelType &result) const
 Interpolate without boundary check and mask.
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]

Definition at line 459 of file Interpolators.h.

References vigra_ext::ImageInterpolator< SrcImageIterator, SrcAccessor, INTERPOLATOR >::m_inter.

Referenced by vigra_ext::transformImageAlphaGPUIntern(), and vigra_ext::transformImageGPUIntern().

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]

Interpolate without boundary check and mask.

Definition at line 423 of file Interpolators.h.

References vigra_ext::ImageInterpolator< SrcImageIterator, SrcAccessor, INTERPOLATOR >::m_inter, vigra_ext::ImageInterpolator< SrcImageIterator, SrcAccessor, INTERPOLATOR >::m_sAcc, and vigra_ext::ImageInterpolator< SrcImageIterator, SrcAccessor, INTERPOLATOR >::m_sIter.

Referenced by vigra_ext::ImageInterpolator< SrcImageIterator, SrcAccessor, INTERPOLATOR >::operator()().

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

Interpolate without mask.

Definition at line 347 of file Interpolators.h.

References vigra_ext::ImageInterpolator< SrcImageIterator, SrcAccessor, INTERPOLATOR >::interpolateNoMaskInside(), vigra_ext::ImageInterpolator< SrcImageIterator, SrcAccessor, INTERPOLATOR >::m_h, vigra_ext::ImageInterpolator< SrcImageIterator, SrcAccessor, INTERPOLATOR >::m_inter, vigra_ext::ImageInterpolator< SrcImageIterator, SrcAccessor, INTERPOLATOR >::m_sAcc, vigra_ext::ImageInterpolator< SrcImageIterator, SrcAccessor, INTERPOLATOR >::m_sIter, vigra_ext::ImageInterpolator< SrcImageIterator, SrcAccessor, INTERPOLATOR >::m_w, and vigra_ext::ImageInterpolator< SrcImageIterator, SrcAccessor, INTERPOLATOR >::m_warparound.

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.


Member Data Documentation

template<typename SrcImageIterator, typename SrcAccessor, typename INTERPOLATOR>
int vigra_ext::ImageInterpolator< SrcImageIterator, SrcAccessor, INTERPOLATOR >::m_h [private]

Definition at line 302 of file Interpolators.h.

Referenced by vigra_ext::ImageInterpolator< SrcImageIterator, SrcAccessor, INTERPOLATOR >::operator()().

template<typename SrcImageIterator, typename SrcAccessor, typename INTERPOLATOR>
INTERPOLATOR vigra_ext::ImageInterpolator< SrcImageIterator, SrcAccessor, INTERPOLATOR >::m_inter [private]

Definition at line 305 of file Interpolators.h.

Referenced by vigra_ext::ImageInterpolator< SrcImageIterator, SrcAccessor, INTERPOLATOR >::emitGLSL(), vigra_ext::ImageInterpolator< SrcImageIterator, SrcAccessor, INTERPOLATOR >::interpolateNoMaskInside(), and vigra_ext::ImageInterpolator< SrcImageIterator, SrcAccessor, INTERPOLATOR >::operator()().

template<typename SrcImageIterator, typename SrcAccessor, typename INTERPOLATOR>
SrcAccessor vigra_ext::ImageInterpolator< SrcImageIterator, SrcAccessor, INTERPOLATOR >::m_sAcc [private]

Definition at line 300 of file Interpolators.h.

Referenced by vigra_ext::ImageInterpolator< SrcImageIterator, SrcAccessor, INTERPOLATOR >::interpolateNoMaskInside(), and vigra_ext::ImageInterpolator< SrcImageIterator, SrcAccessor, INTERPOLATOR >::operator()().

template<typename SrcImageIterator, typename SrcAccessor, typename INTERPOLATOR>
SrcImageIterator vigra_ext::ImageInterpolator< SrcImageIterator, SrcAccessor, INTERPOLATOR >::m_sIter [private]

Definition at line 299 of file Interpolators.h.

Referenced by vigra_ext::ImageInterpolator< SrcImageIterator, SrcAccessor, INTERPOLATOR >::interpolateNoMaskInside(), and vigra_ext::ImageInterpolator< SrcImageIterator, SrcAccessor, INTERPOLATOR >::operator()().

template<typename SrcImageIterator, typename SrcAccessor, typename INTERPOLATOR>
int vigra_ext::ImageInterpolator< SrcImageIterator, SrcAccessor, INTERPOLATOR >::m_w [private]

Definition at line 301 of file Interpolators.h.

Referenced by vigra_ext::ImageInterpolator< SrcImageIterator, SrcAccessor, INTERPOLATOR >::operator()().

template<typename SrcImageIterator, typename SrcAccessor, typename INTERPOLATOR>
bool vigra_ext::ImageInterpolator< SrcImageIterator, SrcAccessor, INTERPOLATOR >::m_warparound [private]

Definition at line 303 of file Interpolators.h.

Referenced by vigra_ext::ImageInterpolator< SrcImageIterator, SrcAccessor, INTERPOLATOR >::operator()().


The documentation for this class was generated from the following file:
Generated on 31 Oct 2014 for Hugintrunk by  doxygen 1.4.7