latest version v1.9 - last update 10 Apr 2010 |
The parameters for the class genericInterpolator. More...
#include <ltiGenericInterpolator.h>
Public Types | |
enum | eInterpolationKernelType { BilinearKernel, BicubicKernel, GenericKernel } |
Public Member Functions | |
parameters () | |
parameters (const eBoundaryType btype) | |
parameters (const parameters &other) | |
~parameters () | |
const char * | getTypeName () const |
parameters & | copy (const parameters &other) |
parameters & | operator= (const parameters &other) |
virtual functor::parameters * | clone () 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 |
The parameters for the class genericInterpolator.
enum lti::genericInterpolator::parameters::eInterpolationKernelType |
Types for interpolation kernels.
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
|
GenericKernel |
Generic interpolation. The generic interpolation uses the kernelLUT given in the parameters. |
lti::genericInterpolator< T >::parameters::parameters | ( | void | ) | [inline] |
default constructor
Reimplemented from lti::scalarValuedInterpolation< T >::parameters.
References lti::genericInterpolator< T >::parameters::BicubicKernel, lti::interpolator::parameters::boundaryType, lti::genericVector< T >::clear(), lti::Constant, lti::genericInterpolator< T >::parameters::kernelLUT, lti::genericInterpolator< T >::parameters::kernelType, and lti::genericInterpolator< T >::parameters::numSamplesPerInterval.
Referenced by lti::genericInterpolator< T >::parameters::clone().
lti::genericInterpolator< T >::parameters::parameters | ( | const eBoundaryType | btype | ) | [inline] |
Constructor to set explicitelly the desired boundaryType.
Reimplemented from lti::scalarValuedInterpolation< T >::parameters.
References lti::genericInterpolator< T >::parameters::BicubicKernel, lti::interpolator::parameters::boundaryType, lti::genericVector< T >::clear(), lti::Constant, lti::genericInterpolator< T >::parameters::kernelLUT, lti::genericInterpolator< T >::parameters::kernelType, and lti::genericInterpolator< T >::parameters::numSamplesPerInterval.
lti::genericInterpolator< T >::parameters::parameters | ( | const parameters & | other | ) | [inline] |
copy constructor
other | the parameters object to be copied |
Reimplemented from lti::scalarValuedInterpolation< T >::parameters.
References lti::genericInterpolator< T >::parameters::copy().
lti::genericInterpolator< T >::parameters::~parameters | ( | ) | [inline, virtual] |
destructor
Reimplemented from lti::scalarValuedInterpolation< T >::parameters.
References lti::genericVector< T >::clear(), and lti::genericInterpolator< T >::parameters::kernelLUT.
virtual functor::parameters* lti::genericInterpolator< T >::parameters::clone | ( | ) | const [inline, virtual] |
returns a pointer to a clone of the parameters
Reimplemented from lti::scalarValuedInterpolation< T >::parameters.
References lti::genericInterpolator< T >::parameters::parameters().
parameters& lti::genericInterpolator< T >::parameters::copy | ( | const parameters & | other | ) | [inline] |
copy the contents of a parameters object
other | the parameters object to be copied |
Reimplemented from lti::scalarValuedInterpolation< T >::parameters.
References lti::genericVector< T >::copy(), lti::genericInterpolator< T >::parameters::kernelLUT, lti::genericInterpolator< T >::parameters::kernelType, and lti::genericInterpolator< T >::parameters::numSamplesPerInterval.
Referenced by lti::genericInterpolator< T >::parameters::operator=(), and lti::genericInterpolator< T >::parameters::parameters().
const char* lti::genericInterpolator< T >::parameters::getTypeName | ( | void | ) | const [inline, virtual] |
returns name of this type
Reimplemented from lti::scalarValuedInterpolation< T >::parameters.
parameters& lti::genericInterpolator< T >::parameters::operator= | ( | const parameters & | other | ) | [inline] |
copy the contents of a parameters object
other | the parameters object to be copied |
Reimplemented from lti::scalarValuedInterpolation< T >::parameters.
References lti::genericInterpolator< T >::parameters::copy().
virtual bool lti::genericInterpolator< T >::parameters::read | ( | ioHandler & | handler, | |
const bool | complete = true | |||
) | [inline, virtual] |
read the parameters from the given ioHandler
handler | the ioHandler to be used | |
complete | if true (the default) the enclosing begin/end will be also written, otherwise only the data block will be written. |
Reimplemented from lti::scalarValuedInterpolation< T >::parameters.
References lti::genericInterpolator< T >::parameters::BicubicKernel, lti::genericInterpolator< T >::parameters::BilinearKernel, lti::genericInterpolator< T >::parameters::GenericKernel, lti::genericInterpolator< T >::parameters::kernelLUT, lti::genericInterpolator< T >::parameters::kernelType, lti::genericInterpolator< T >::parameters::numSamplesPerInterval, lti::ioHandler::readBegin(), lti::ioHandler::readEnd(), and lti::ioHandler::setStatusString().
virtual bool lti::genericInterpolator< T >::parameters::write | ( | ioHandler & | handler, | |
const bool | complete = true | |||
) | const [inline, virtual] |
write the parameters in the given ioHandler
handler | the ioHandler to be used | |
complete | if true (the default) the enclosing begin/end will be also written, otherwise only the data block will be written. |
Reimplemented from lti::scalarValuedInterpolation< T >::parameters.
References lti::genericInterpolator< T >::parameters::BicubicKernel, lti::genericInterpolator< T >::parameters::BilinearKernel, lti::genericInterpolator< T >::parameters::GenericKernel, lti::genericInterpolator< T >::parameters::kernelLUT, lti::genericInterpolator< T >::parameters::kernelType, lti::genericInterpolator< T >::parameters::numSamplesPerInterval, lti::ioHandler::writeBegin(), and lti::ioHandler::writeEnd().
fvector lti::genericInterpolator< T >::parameters::kernelLUT |
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().
eInterpolationKernelType lti::genericInterpolator< T >::parameters::kernelType |
Interpolation type to be used.
Default: Bicubic
Referenced by lti::genericInterpolator< T >::parameters::copy(), lti::genericInterpolator< T >::parameters::parameters(), lti::genericInterpolator< T >::parameters::read(), and lti::genericInterpolator< T >::parameters::write().
int lti::genericInterpolator< T >::parameters::numSamplesPerInterval |
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().