Hugintrunk
0.1
|
"wrapper" for efficient interpolation access to an image More...
#include <Interpolators.h>
Public Types | |
typedef SrcAccessor::value_type | PixelType |
typedef MaskAccessor::value_type | MaskType |
Public Member Functions | |
ImageMaskInterpolator (vigra::triple< SrcImageIterator, SrcImageIterator, SrcAccessor > const &src, std::pair< MaskIterator, MaskAccessor > mask, INTERPOLATOR &inter, bool warparound) | |
Construct interpolator for an given image. More... | |
ImageMaskInterpolator (SrcImageIterator src_upperleft, SrcImageIterator src_lowerright, SrcAccessor sa, MaskIterator mask_upperleft, MaskAccessor ma, INTERPOLATOR &inter, bool warparound) | |
Construct interpolator for specific image. More... | |
bool | operator() (double x, double y, PixelType &result, MaskType &mask) const |
Interpolate the data item at a non-integer position x , y . More... | |
bool | interpolateInside (int srcx, int srcy, double dx, double dy, PixelType &result, MaskType &mask) const |
Interpolate without boundary check. More... | |
Private Types | |
typedef vigra::NumericTraits < PixelType >::RealPromote | RealPixelType |
Private Attributes | |
SrcImageIterator | m_sIter |
SrcAccessor | m_sAcc |
MaskIterator | m_mIter |
MaskAccessor | m_mAcc |
int | m_w |
int | m_h |
bool | m_warparound |
INTERPOLATOR | m_inter |
"wrapper" for efficient interpolation access to an image
Tailored for panorama remapping. Supports warparound boundary condition of left and right as well as masks
Definition at line 474 of file Interpolators.h.
typedef MaskAccessor::value_type vigra_ext::ImageMaskInterpolator< SrcImageIterator, SrcAccessor, MaskIterator, MaskAccessor, INTERPOLATOR >::MaskType |
Definition at line 478 of file Interpolators.h.
typedef SrcAccessor::value_type vigra_ext::ImageMaskInterpolator< SrcImageIterator, SrcAccessor, MaskIterator, MaskAccessor, INTERPOLATOR >::PixelType |
Definition at line 477 of file Interpolators.h.
|
private |
Definition at line 480 of file Interpolators.h.
|
inline |
Construct interpolator for an given image.
Definition at line 495 of file Interpolators.h.
|
inline |
Construct interpolator for specific image.
Definition at line 513 of file Interpolators.h.
|
inline |
Interpolate without boundary check.
Definition at line 749 of file Interpolators.h.
References vigra_ext::ImageMaskInterpolator< SrcImageIterator, SrcAccessor, MaskIterator, MaskAccessor, INTERPOLATOR >::m_inter, vigra_ext::ImageMaskInterpolator< SrcImageIterator, SrcAccessor, MaskIterator, MaskAccessor, INTERPOLATOR >::m_mIter, vigra_ext::ImageMaskInterpolator< SrcImageIterator, SrcAccessor, MaskIterator, MaskAccessor, INTERPOLATOR >::m_sAcc, and vigra_ext::ImageMaskInterpolator< SrcImageIterator, SrcAccessor, MaskIterator, MaskAccessor, INTERPOLATOR >::m_sIter.
Referenced by vigra_ext::ImageMaskInterpolator< SrcImageIterator, SrcAccessor, MaskIterator, MaskAccessor, INTERPOLATOR >::operator()().
|
inline |
Interpolate the data item at a non-integer position x
, y
.
It checks if the interpolation would access a pixel with alpha = 0 and returns false in that case.
be careful, no bounds checking is done here. take INTERPOLATOR::size into accout before iterating over the picture.
the used image pixels are [i-(n/2 -1) .. i+n/2], where n is the size of the interpolator
x | x position, relative to i and alpha.first |
y | y position, relative to i and alpha.first |
result | the interpolation result |
Definition at line 661 of file Interpolators.h.
References vigra_ext::ImageMaskInterpolator< SrcImageIterator, SrcAccessor, MaskIterator, MaskAccessor, INTERPOLATOR >::interpolateInside(), vigra_ext::ImageMaskInterpolator< SrcImageIterator, SrcAccessor, MaskIterator, MaskAccessor, INTERPOLATOR >::m_h, vigra_ext::ImageMaskInterpolator< SrcImageIterator, SrcAccessor, MaskIterator, MaskAccessor, INTERPOLATOR >::m_inter, vigra_ext::ImageMaskInterpolator< SrcImageIterator, SrcAccessor, MaskIterator, MaskAccessor, INTERPOLATOR >::m_mIter, vigra_ext::ImageMaskInterpolator< SrcImageIterator, SrcAccessor, MaskIterator, MaskAccessor, INTERPOLATOR >::m_sAcc, vigra_ext::ImageMaskInterpolator< SrcImageIterator, SrcAccessor, MaskIterator, MaskAccessor, INTERPOLATOR >::m_sIter, vigra_ext::ImageMaskInterpolator< SrcImageIterator, SrcAccessor, MaskIterator, MaskAccessor, INTERPOLATOR >::m_w, and vigra_ext::ImageMaskInterpolator< SrcImageIterator, SrcAccessor, MaskIterator, MaskAccessor, INTERPOLATOR >::m_warparound.
|
private |
Definition at line 487 of file Interpolators.h.
Referenced by vigra_ext::ImageMaskInterpolator< SrcImageIterator, SrcAccessor, MaskIterator, MaskAccessor, INTERPOLATOR >::operator()().
|
private |
Definition at line 490 of file Interpolators.h.
Referenced by vigra_ext::ImageMaskInterpolator< SrcImageIterator, SrcAccessor, MaskIterator, MaskAccessor, INTERPOLATOR >::interpolateInside(), and vigra_ext::ImageMaskInterpolator< SrcImageIterator, SrcAccessor, MaskIterator, MaskAccessor, INTERPOLATOR >::operator()().
|
private |
Definition at line 485 of file Interpolators.h.
|
private |
Definition at line 484 of file Interpolators.h.
Referenced by vigra_ext::ImageMaskInterpolator< SrcImageIterator, SrcAccessor, MaskIterator, MaskAccessor, INTERPOLATOR >::interpolateInside(), and vigra_ext::ImageMaskInterpolator< SrcImageIterator, SrcAccessor, MaskIterator, MaskAccessor, INTERPOLATOR >::operator()().
|
private |
Definition at line 483 of file Interpolators.h.
Referenced by vigra_ext::ImageMaskInterpolator< SrcImageIterator, SrcAccessor, MaskIterator, MaskAccessor, INTERPOLATOR >::interpolateInside(), and vigra_ext::ImageMaskInterpolator< SrcImageIterator, SrcAccessor, MaskIterator, MaskAccessor, INTERPOLATOR >::operator()().
|
private |
Definition at line 482 of file Interpolators.h.
Referenced by vigra_ext::ImageMaskInterpolator< SrcImageIterator, SrcAccessor, MaskIterator, MaskAccessor, INTERPOLATOR >::interpolateInside(), and vigra_ext::ImageMaskInterpolator< SrcImageIterator, SrcAccessor, MaskIterator, MaskAccessor, INTERPOLATOR >::operator()().
|
private |
Definition at line 486 of file Interpolators.h.
Referenced by vigra_ext::ImageMaskInterpolator< SrcImageIterator, SrcAccessor, MaskIterator, MaskAccessor, INTERPOLATOR >::operator()().
|
private |
Definition at line 488 of file Interpolators.h.
Referenced by vigra_ext::ImageMaskInterpolator< SrcImageIterator, SrcAccessor, MaskIterator, MaskAccessor, INTERPOLATOR >::operator()().