latest version v1.9 - last update 10 Apr 2010 |
The parameters for the class hessianFunctor. More...
#include <ltiHessianFunctor.h>
Public Types | |
enum | eKernelType { Ando , Prewitt, Harris, Robinson, Kirsch, OGD2, Hessian, Classic } |
Public Member Functions | |
parameters () | |
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 | |
eKernelType | kernelType |
int | kernelSize |
float | kernelVariance |
The parameters for the class hessianFunctor.
Possible types of kernels for the computation of the second derivative.
Ando |
convolution of the appropriate optimal gradient kernels by Ando (see lti::andoKernelXX) |
Prewitt |
convolution of Sobel kernels leads to 5x5 separable kernels (see lti::sobleKernelXX):
|
Harris |
convolution of Prewitt kernels leads to 5x5 separable kernels (see lti::prewittKernelXX):
|
Robinson |
Harris has 1D kernels of length nine for XX and YY and a separable 5x5 kernel for XY (see lti::harrisKernelXX):
|
Kirsch |
convolution of Robinson kernels leads to 5x5 NON-separable kernels (see lti::robinsonKernelXX):
|
OGD2 |
convolution of Kirsch kernels leads to 5x5 NON-separable kernels (see lti::kirschKernelXX):
|
Hessian |
Oriented Gaussian Derivative Kernels order 2. See lti::ogd2Kernel for description. Remember to set kernelSize and kernelVariance appropriately. |
Classic |
Kernels developed by Pablo Alvarado. See lti::hessianKernelXX for details. Classic kernels for second derivatives. Note that no actual kernels but a much faster manual implementation is used. The same is used for the XY direction of Hessian since the kernel is equal. Further, the 'same' kernels are obtained by convolution of lti::robertsKernelX and Y and a rotation of . These are the kernels:
|
lti::hessianFunctor::parameters::parameters | ( | ) |
Default constructor.
Reimplemented from lti::transform::parameters.
lti::hessianFunctor::parameters::parameters | ( | const parameters & | other | ) |
Copy constructor.
other | the parameters object to be copied |
Reimplemented from lti::transform::parameters.
lti::hessianFunctor::parameters::~parameters | ( | ) | [virtual] |
Destructor.
Reimplemented from lti::functor::parameters.
virtual functor::parameters* lti::hessianFunctor::parameters::clone | ( | ) | const [virtual] |
Returns a pointer to a clone of the parameters.
Reimplemented from lti::transform::parameters.
parameters& lti::hessianFunctor::parameters::copy | ( | const parameters & | other | ) |
Copy the contents of a parameters object.
other | the parameters object to be copied |
Reimplemented from lti::transform::parameters.
const char* lti::hessianFunctor::parameters::getTypeName | ( | ) | const [virtual] |
Returns name of this type.
Reimplemented from lti::transform::parameters.
parameters& lti::hessianFunctor::parameters::operator= | ( | const parameters & | other | ) |
Copy the contents of a parameters object.
other | the parameters object to be copied |
virtual bool lti::hessianFunctor::parameters::read | ( | ioHandler & | handler, | |
const bool | complete = true | |||
) | [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::functor::parameters.
virtual bool lti::hessianFunctor::parameters::write | ( | ioHandler & | handler, | |
const bool | complete = true | |||
) | const [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::functor::parameters.
This parameter sets the size of the kernel for:
Possible values are 5, 7, and 9.
Default: 5
Sets the kernel type used to calculate the second derivatives.
Most kernels can be found in ltiSecondDerivativeKernels.h
The variance for kernels that use the Gaussian.
Value -1 sets the variance appropriately for the given kernelSize. (see e.g. ogd2Kernels)
Default: -1