latest version v1.9 - last update 10 Apr 2010 |
This abstract class parents all interpolation functors, which are used to interpolate the values between the pixels or elements of vectors and matrices, espacially images. More...
#include <ltiScalarValuedInterpolation.h>
Classes | |
class | parameters |
the parameters for the class scalarValuedInterpolation More... | |
Public Types | |
typedef T | value_type |
Public Member Functions | |
scalarValuedInterpolation () | |
scalarValuedInterpolation (const scalarValuedInterpolation &other) | |
virtual | ~scalarValuedInterpolation () |
virtual const char * | getTypeName () const |
virtual bool | use (const vector< T > &vct) |
virtual bool | use (const matrix< T > &vct) |
virtual T | apply (const vector< T > &src, const float &x) const =0 |
virtual T | apply (const float &x) const =0 |
virtual T | apply (const matrix< T > &src, const float &row, const float &col) const =0 |
virtual T | apply (const matrix< T > &src, const tpoint< float > &p) const =0 |
virtual T | apply (const float &row, const float &col) const =0 |
virtual T | apply (const tpoint< float > &p) const =0 |
T | interpolate (const matrix< T > &src, const float &row, const float &col) const |
scalarValuedInterpolation & | copy (const scalarValuedInterpolation &other) |
virtual functor * | clone () const =0 |
const parameters & | getParameters () const |
Protected Member Functions | |
Boundary access operators | |
T | zeroAt (const vector< T > &img, const int x) const |
T | cstAt (const vector< T > &img, const int x) const |
T | mirrAt (const vector< T > &img, const int x) const |
T | periAt (const vector< T > &img, const int x) const |
T | zeroAt (const matrix< T > &img, const int y, const int x) const |
T | cstAt (const matrix< T > &img, const int y, const int x) const |
T | mirrAt (const matrix< T > &img, const int y, const int x) const |
T | periAt (const matrix< T > &img, const int y, const int x) const |
Protected Attributes | |
const vector< T > * | theVector |
const matrix< T > * | theMatrix |
This abstract class parents all interpolation functors, which are used to interpolate the values between the pixels or elements of vectors and matrices, espacially images.
The type T of the template is the type of the elements of the vector or matrix used.
typedef T lti::scalarValuedInterpolation< T >::value_type |
Definition of the type of the elements in the applys (given type T).
lti::scalarValuedInterpolation< T >::scalarValuedInterpolation | ( | ) |
default constructor
lti::scalarValuedInterpolation< T >::scalarValuedInterpolation | ( | const scalarValuedInterpolation< T > & | other | ) |
copy constructor
other | the object to be copied |
virtual lti::scalarValuedInterpolation< T >::~scalarValuedInterpolation | ( | ) | [virtual] |
destructor
virtual T lti::scalarValuedInterpolation< T >::apply | ( | const tpoint< float > & | p | ) | const [pure virtual] |
Returns the interpolated value of the matrix specified with use() at the real valued position p.
p | the real valued position to be interpolated. |
Implemented in lti::bicubicInterpolator< T >, lti::bilinearInterpolator< T >, lti::biquadraticInterpolator< T >, lti::genericInterpolator< T >, lti::nearestNeighborInterpolator< T >, lti::bilinearInterpolator< value_type >, lti::bilinearInterpolator< double >, lti::bilinearInterpolator< float >, lti::bilinearInterpolator< int >, lti::bilinearInterpolator< rgbPixel >, lti::bilinearInterpolator< ubyte >, lti::biquadraticInterpolator< value_type >, lti::biquadraticInterpolator< double >, lti::biquadraticInterpolator< float >, lti::biquadraticInterpolator< int >, lti::biquadraticInterpolator< rgbPixel >, lti::biquadraticInterpolator< ubyte >, lti::genericInterpolator< double >, lti::genericInterpolator< float >, lti::genericInterpolator< int >, lti::genericInterpolator< rgbPixel >, lti::genericInterpolator< ubyte >, lti::nearestNeighborInterpolator< value_type >, lti::nearestNeighborInterpolator< double >, lti::nearestNeighborInterpolator< float >, lti::nearestNeighborInterpolator< int >, lti::nearestNeighborInterpolator< rgbPixel >, and lti::nearestNeighborInterpolator< ubyte >.
virtual T lti::scalarValuedInterpolation< T >::apply | ( | const float & | row, | |
const float & | col | |||
) | const [pure virtual] |
Returns the interpolated value of the matrix specified with use() at the real valued position (row,col).
row | which row | |
col | which column |
Implemented in lti::bicubicInterpolator< T >, lti::bilinearInterpolator< T >, lti::biquadraticInterpolator< T >, lti::genericInterpolator< T >, lti::nearestNeighborInterpolator< T >, lti::bilinearInterpolator< value_type >, lti::bilinearInterpolator< double >, lti::bilinearInterpolator< float >, lti::bilinearInterpolator< int >, lti::bilinearInterpolator< rgbPixel >, lti::bilinearInterpolator< ubyte >, lti::biquadraticInterpolator< value_type >, lti::biquadraticInterpolator< double >, lti::biquadraticInterpolator< float >, lti::biquadraticInterpolator< int >, lti::biquadraticInterpolator< rgbPixel >, lti::biquadraticInterpolator< ubyte >, lti::genericInterpolator< double >, lti::genericInterpolator< float >, lti::genericInterpolator< int >, lti::genericInterpolator< rgbPixel >, lti::genericInterpolator< ubyte >, lti::nearestNeighborInterpolator< value_type >, lti::nearestNeighborInterpolator< double >, lti::nearestNeighborInterpolator< float >, lti::nearestNeighborInterpolator< int >, lti::nearestNeighborInterpolator< rgbPixel >, and lti::nearestNeighborInterpolator< ubyte >.
virtual T lti::scalarValuedInterpolation< T >::apply | ( | const matrix< T > & | src, | |
const tpoint< float > & | p | |||
) | const [pure virtual] |
Returns the interpolated value of the matrix at the real valued position p.
src | matrix<T> with the source data. | |
p | the real valued position to be interpolated. |
Implemented in lti::bicubicInterpolator< T >, lti::bilinearInterpolator< T >, lti::biquadraticInterpolator< T >, lti::genericInterpolator< T >, lti::nearestNeighborInterpolator< T >, lti::bilinearInterpolator< value_type >, lti::bilinearInterpolator< double >, lti::bilinearInterpolator< float >, lti::bilinearInterpolator< int >, lti::bilinearInterpolator< rgbPixel >, lti::bilinearInterpolator< ubyte >, lti::biquadraticInterpolator< value_type >, lti::biquadraticInterpolator< double >, lti::biquadraticInterpolator< float >, lti::biquadraticInterpolator< int >, lti::biquadraticInterpolator< rgbPixel >, lti::biquadraticInterpolator< ubyte >, lti::genericInterpolator< double >, lti::genericInterpolator< float >, lti::genericInterpolator< int >, lti::genericInterpolator< rgbPixel >, lti::genericInterpolator< ubyte >, lti::nearestNeighborInterpolator< value_type >, lti::nearestNeighborInterpolator< double >, lti::nearestNeighborInterpolator< float >, lti::nearestNeighborInterpolator< int >, lti::nearestNeighborInterpolator< rgbPixel >, and lti::nearestNeighborInterpolator< ubyte >.
virtual T lti::scalarValuedInterpolation< T >::apply | ( | const matrix< T > & | src, | |
const float & | row, | |||
const float & | col | |||
) | const [pure virtual] |
Returns the interpolated value of the matrix at the real valued position (row,col).
src | matrix<T> with the source data. | |
row | which row | |
col | which column |
Implemented in lti::bicubicInterpolator< T >, lti::bilinearInterpolator< T >, lti::biquadraticInterpolator< T >, lti::genericInterpolator< T >, lti::nearestNeighborInterpolator< T >, lti::bilinearInterpolator< value_type >, lti::bilinearInterpolator< double >, lti::bilinearInterpolator< float >, lti::bilinearInterpolator< int >, lti::bilinearInterpolator< rgbPixel >, lti::bilinearInterpolator< ubyte >, lti::biquadraticInterpolator< value_type >, lti::biquadraticInterpolator< double >, lti::biquadraticInterpolator< float >, lti::biquadraticInterpolator< int >, lti::biquadraticInterpolator< rgbPixel >, lti::biquadraticInterpolator< ubyte >, lti::genericInterpolator< double >, lti::genericInterpolator< float >, lti::genericInterpolator< int >, lti::genericInterpolator< rgbPixel >, lti::genericInterpolator< ubyte >, lti::nearestNeighborInterpolator< value_type >, lti::nearestNeighborInterpolator< double >, lti::nearestNeighborInterpolator< float >, lti::nearestNeighborInterpolator< int >, lti::nearestNeighborInterpolator< rgbPixel >, and lti::nearestNeighborInterpolator< ubyte >.
virtual T lti::scalarValuedInterpolation< T >::apply | ( | const float & | x | ) | const [pure virtual] |
Returns the interpolated value of the vector specified with use() at the real valued position x.
x | the real valued position to be interpolated. |
Implemented in lti::bicubicInterpolator< T >, lti::bilinearInterpolator< T >, lti::biquadraticInterpolator< T >, lti::genericInterpolator< T >, lti::nearestNeighborInterpolator< T >, lti::bilinearInterpolator< value_type >, lti::bilinearInterpolator< double >, lti::bilinearInterpolator< float >, lti::bilinearInterpolator< int >, lti::bilinearInterpolator< rgbPixel >, lti::bilinearInterpolator< ubyte >, lti::biquadraticInterpolator< value_type >, lti::biquadraticInterpolator< double >, lti::biquadraticInterpolator< float >, lti::biquadraticInterpolator< int >, lti::biquadraticInterpolator< rgbPixel >, lti::biquadraticInterpolator< ubyte >, lti::genericInterpolator< double >, lti::genericInterpolator< float >, lti::genericInterpolator< int >, lti::genericInterpolator< rgbPixel >, lti::genericInterpolator< ubyte >, lti::nearestNeighborInterpolator< value_type >, lti::nearestNeighborInterpolator< double >, lti::nearestNeighborInterpolator< float >, lti::nearestNeighborInterpolator< int >, lti::nearestNeighborInterpolator< rgbPixel >, and lti::nearestNeighborInterpolator< ubyte >.
virtual T lti::scalarValuedInterpolation< T >::apply | ( | const vector< T > & | src, | |
const float & | x | |||
) | const [pure virtual] |
Returns the interpolated value of the vector at the real valued position x.
src | vector<T> with the source data. | |
x | the real valued position to be interpolated. |
Implemented in lti::bicubicInterpolator< T >, lti::bilinearInterpolator< T >, lti::biquadraticInterpolator< T >, lti::genericInterpolator< T >, lti::nearestNeighborInterpolator< T >, lti::bilinearInterpolator< value_type >, lti::bilinearInterpolator< double >, lti::bilinearInterpolator< float >, lti::bilinearInterpolator< int >, lti::bilinearInterpolator< rgbPixel >, lti::bilinearInterpolator< ubyte >, lti::biquadraticInterpolator< value_type >, lti::biquadraticInterpolator< double >, lti::biquadraticInterpolator< float >, lti::biquadraticInterpolator< int >, lti::biquadraticInterpolator< rgbPixel >, lti::biquadraticInterpolator< ubyte >, lti::genericInterpolator< double >, lti::genericInterpolator< float >, lti::genericInterpolator< int >, lti::genericInterpolator< rgbPixel >, lti::genericInterpolator< ubyte >, lti::nearestNeighborInterpolator< value_type >, lti::nearestNeighborInterpolator< double >, lti::nearestNeighborInterpolator< float >, lti::nearestNeighborInterpolator< int >, lti::nearestNeighborInterpolator< rgbPixel >, and lti::nearestNeighborInterpolator< ubyte >.
Referenced by lti::scalarValuedInterpolation< ubyte >::interpolate().
virtual functor* lti::scalarValuedInterpolation< T >::clone | ( | ) | const [pure virtual] |
returns a pointer to a clone of this functor.
Implements lti::equallySpacedSamplesInterpolator.
Implemented in lti::bicubicInterpolator< T >, lti::bilinearInterpolator< T >, lti::biquadraticInterpolator< T >, lti::genericInterpolator< T >, lti::nearestNeighborInterpolator< T >, lti::bilinearInterpolator< value_type >, lti::bilinearInterpolator< double >, lti::bilinearInterpolator< float >, lti::bilinearInterpolator< int >, lti::bilinearInterpolator< rgbPixel >, lti::bilinearInterpolator< ubyte >, lti::biquadraticInterpolator< value_type >, lti::biquadraticInterpolator< double >, lti::biquadraticInterpolator< float >, lti::biquadraticInterpolator< int >, lti::biquadraticInterpolator< rgbPixel >, lti::biquadraticInterpolator< ubyte >, lti::genericInterpolator< double >, lti::genericInterpolator< float >, lti::genericInterpolator< int >, lti::genericInterpolator< rgbPixel >, lti::genericInterpolator< ubyte >, lti::nearestNeighborInterpolator< value_type >, lti::nearestNeighborInterpolator< double >, lti::nearestNeighborInterpolator< float >, lti::nearestNeighborInterpolator< int >, lti::nearestNeighborInterpolator< rgbPixel >, and lti::nearestNeighborInterpolator< ubyte >.
scalarValuedInterpolation& lti::scalarValuedInterpolation< T >::copy | ( | const scalarValuedInterpolation< T > & | other | ) |
copy data of "other" functor.
other | the functor to be copied |
Reimplemented from lti::equallySpacedSamplesInterpolator.
Reimplemented in lti::bicubicInterpolator< T >, lti::bilinearInterpolator< T >, lti::biquadraticInterpolator< T >, lti::genericInterpolator< T >, and lti::nearestNeighborInterpolator< T >.
T lti::scalarValuedInterpolation< T >::cstAt | ( | const matrix< T > & | img, | |
const int | y, | |||
const int | x | |||
) | const [inline, protected] |
Access with constant boundary.
T lti::scalarValuedInterpolation< T >::cstAt | ( | const vector< T > & | img, | |
const int | x | |||
) | const [inline, protected] |
Access with constant boundary.
const parameters& lti::scalarValuedInterpolation< T >::getParameters | ( | ) | const |
returns used parameters
Reimplemented from lti::equallySpacedSamplesInterpolator.
Reimplemented in lti::bilinearInterpolator< T >, lti::biquadraticInterpolator< T >, lti::genericInterpolator< T >, lti::nearestNeighborInterpolator< T >, lti::bilinearInterpolator< value_type >, lti::bilinearInterpolator< double >, lti::bilinearInterpolator< float >, lti::bilinearInterpolator< int >, lti::bilinearInterpolator< rgbPixel >, lti::bilinearInterpolator< ubyte >, lti::biquadraticInterpolator< value_type >, lti::biquadraticInterpolator< double >, lti::biquadraticInterpolator< float >, lti::biquadraticInterpolator< int >, lti::biquadraticInterpolator< rgbPixel >, lti::biquadraticInterpolator< ubyte >, lti::genericInterpolator< double >, lti::genericInterpolator< float >, lti::genericInterpolator< int >, lti::genericInterpolator< rgbPixel >, lti::genericInterpolator< ubyte >, lti::nearestNeighborInterpolator< value_type >, lti::nearestNeighborInterpolator< double >, lti::nearestNeighborInterpolator< float >, lti::nearestNeighborInterpolator< int >, lti::nearestNeighborInterpolator< rgbPixel >, and lti::nearestNeighborInterpolator< ubyte >.
virtual const char* lti::scalarValuedInterpolation< T >::getTypeName | ( | ) | const [virtual] |
returns the name of this type ("scalarValuedInterpolation")
Reimplemented from lti::equallySpacedSamplesInterpolator.
Reimplemented in lti::bicubicInterpolator< T >, lti::bilinearInterpolator< T >, lti::biquadraticInterpolator< T >, lti::genericInterpolator< T >, lti::nearestNeighborInterpolator< T >, lti::bilinearInterpolator< value_type >, lti::bilinearInterpolator< double >, lti::bilinearInterpolator< float >, lti::bilinearInterpolator< int >, lti::bilinearInterpolator< rgbPixel >, lti::bilinearInterpolator< ubyte >, lti::biquadraticInterpolator< value_type >, lti::biquadraticInterpolator< double >, lti::biquadraticInterpolator< float >, lti::biquadraticInterpolator< int >, lti::biquadraticInterpolator< rgbPixel >, lti::biquadraticInterpolator< ubyte >, lti::genericInterpolator< double >, lti::genericInterpolator< float >, lti::genericInterpolator< int >, lti::genericInterpolator< rgbPixel >, lti::genericInterpolator< ubyte >, lti::nearestNeighborInterpolator< value_type >, lti::nearestNeighborInterpolator< double >, lti::nearestNeighborInterpolator< float >, lti::nearestNeighborInterpolator< int >, lti::nearestNeighborInterpolator< rgbPixel >, and lti::nearestNeighborInterpolator< ubyte >.
T lti::scalarValuedInterpolation< T >::interpolate | ( | const matrix< T > & | src, | |
const float & | row, | |||
const float & | col | |||
) | const [inline] |
Returns the interpolated value of the matrix at the real valued position (row,col).
This method is NOT virtual and can be used if this interpolation type is used as template parameter in time critical situations.
If not reimplemented in the inherited class, the virtual apply method with the same signature will be called.
src | matrix<T> with the source data. | |
row | which row | |
col | which column |
T lti::scalarValuedInterpolation< T >::mirrAt | ( | const matrix< T > & | img, | |
const int | y, | |||
const int | x | |||
) | const [inline, protected] |
Access with mirrored boundary.
T lti::scalarValuedInterpolation< T >::mirrAt | ( | const vector< T > & | img, | |
const int | x | |||
) | const [inline, protected] |
Access with mirrored boundary.
T lti::scalarValuedInterpolation< T >::periAt | ( | const matrix< T > & | img, | |
const int | y, | |||
const int | x | |||
) | const [inline, protected] |
Access with periodic boundary.
T lti::scalarValuedInterpolation< T >::periAt | ( | const vector< T > & | img, | |
const int | x | |||
) | const [inline, protected] |
Access with periodic boundary.
virtual bool lti::scalarValuedInterpolation< T >::use | ( | const matrix< T > & | vct | ) | [virtual] |
all the next apply methods will return the interpolated values of the given matrix.
virtual bool lti::scalarValuedInterpolation< T >::use | ( | const vector< T > & | vct | ) | [virtual] |
all the next apply methods will return the interpolated values of the given vector.
T lti::scalarValuedInterpolation< T >::zeroAt | ( | const matrix< T > & | img, | |
const int | y, | |||
const int | x | |||
) | const [inline, protected] |
Access with zero boundary.
T lti::scalarValuedInterpolation< T >::zeroAt | ( | const vector< T > & | img, | |
const int | x | |||
) | const [inline, protected] |
Access with zero boundary.
const matrix<T>* lti::scalarValuedInterpolation< T >::theMatrix [protected] |
const vector<T>* lti::scalarValuedInterpolation< T >::theVector [protected] |
the vector in use