LTI-Lib latest version v1.9 - last update 10 Apr 2010

lti::genericInterpolator< T >::parameters Class Reference

The parameters for the class genericInterpolator. More...

#include <ltiGenericInterpolator.h>

Inheritance diagram for lti::genericInterpolator< T >::parameters:
Inheritance graph
[legend]
Collaboration diagram for lti::genericInterpolator< T >::parameters:
Collaboration graph
[legend]

List of all members.

Public Types

enum  eInterpolationKernelType { BilinearKernel, BicubicKernel, GenericKernel }

Public Member Functions

 parameters ()
 parameters (const eBoundaryType btype)
 parameters (const parameters &other)
 ~parameters ()
const char * getTypeName () const
parameterscopy (const parameters &other)
parametersoperator= (const parameters &other)
virtual functor::parametersclone () const
virtual bool write (ioHandler &handler, const bool complete=true) const
virtual bool read (ioHandler &handler, const bool complete=true)

Public Attributes

eInterpolationKernelType kernelType
int numSamplesPerInterval
fvector kernelLUT

Detailed Description

template<class T>
class lti::genericInterpolator< T >::parameters

The parameters for the class genericInterpolator.


Member Enumeration Documentation

Types for interpolation kernels.

Enumerator:
BilinearKernel 

Bilinear interpolation kernel.

The neighborhood size is always 2x2. This implementation is slower than the optimized version in the functor lti::bilinearInterpolation, but is provided for completeness.

BicubicKernel 

Bicubic interpolation.

The neighborhood size is always 4x4. The kernel provided here is after Sonka et.al. pp. 67

\[ h(x)=\begin{cases} 1-2|x|^2+|x|^3 & \text{for $0\leq|x|\leq 1$} \\ 4-8|x|+5|x|^2-|x|^3 & \text{for $1\leq|x|\leq 2$}\\ 0 & \text{otherwise} \end{cases} \]

GenericKernel 

Generic interpolation.

The generic interpolation uses the kernelLUT given in the parameters.


Constructor & Destructor Documentation

template<class T>
lti::genericInterpolator< T >::parameters::parameters ( void   )  [inline]
template<class T>
lti::genericInterpolator< T >::parameters::parameters ( const eBoundaryType  btype  )  [inline]
template<class T>
lti::genericInterpolator< T >::parameters::parameters ( const parameters other  )  [inline]

copy constructor

Parameters:
other the parameters object to be copied

Reimplemented from lti::scalarValuedInterpolation< T >::parameters.

References lti::genericInterpolator< T >::parameters::copy().

template<class T>
lti::genericInterpolator< T >::parameters::~parameters (  )  [inline, virtual]

Member Function Documentation

template<class T>
virtual functor::parameters* lti::genericInterpolator< T >::parameters::clone (  )  const [inline, virtual]
template<class T>
parameters& lti::genericInterpolator< T >::parameters::copy ( const parameters other  )  [inline]
template<class T>
const char* lti::genericInterpolator< T >::parameters::getTypeName ( void   )  const [inline, virtual]

returns name of this type

Reimplemented from lti::scalarValuedInterpolation< T >::parameters.

template<class T>
parameters& lti::genericInterpolator< T >::parameters::operator= ( const parameters other  )  [inline]

copy the contents of a parameters object

Parameters:
other the parameters object to be copied
Returns:
a reference to this parameters object

Reimplemented from lti::scalarValuedInterpolation< T >::parameters.

References lti::genericInterpolator< T >::parameters::copy().

template<class T>
virtual bool lti::genericInterpolator< T >::parameters::read ( ioHandler handler,
const bool  complete = true 
) [inline, virtual]
template<class T>
virtual bool lti::genericInterpolator< T >::parameters::write ( ioHandler handler,
const bool  complete = true 
) const [inline, virtual]

Member Data Documentation

Generic interpolation kernel.

If the kernelType is GenericKernel then this kernel LUT will be used. To be a valid kernel, this vector must have a size n times numSamplesPerInterval, with n even. If the validity of the kernel LUT cannot be confirmed, a Bilinear Kernel will be used instead, but setParameters will return false.

Default value: empty kernel

Referenced by lti::genericInterpolator< T >::parameters::copy(), lti::genericInterpolator< T >::parameters::parameters(), lti::genericInterpolator< T >::parameters::read(), lti::genericInterpolator< T >::parameters::write(), and lti::genericInterpolator< T >::parameters::~parameters().

Number of samples in the interpolation table for a unit interval.

The total number of elements in the LUT will be this value multiplied by the number of unit intervals of the interpolation kernel.

Default value: 256

Referenced by lti::genericInterpolator< T >::parameters::copy(), lti::genericInterpolator< T >::parameters::parameters(), lti::genericInterpolator< T >::parameters::read(), and lti::genericInterpolator< T >::parameters::write().


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

Generated on Sat Apr 10 15:27:20 2010 for LTI-Lib by Doxygen 1.6.1