MeVisLabToolboxReference
|
The LoGFilter permits filtering an image with a 2D Laplace of Gaussian filter kernel. More...
#include <mlLoGFilter.h>
Public Member Functions | |
LoGFilter () | |
Constructor. | |
IntField * | getKernelExtFld () |
Integer extent (radius) of kernel. Default is 2. | |
Public Attributes | |
DoubleField * | sigmaFld |
Sigma to define the deviation needed for calculation of the kernel elements. | |
Protected Member Functions | |
virtual void | handleNotification (Field *field) |
Called when a parameter field is changed. | |
virtual void | calculateOutputImageProperties (int outIndex) |
Computes the output image properties from the input image properties. | |
virtual void | _updateKernel () |
Set correct kernel dependent on the current mode. | |
MLdouble | _calculateLoGfirstPart (int axisIdx) |
The following function calculates the values which describes the "small LoG". | |
MLdouble | _calculateLoGsecondPart (int axisIdx) |
The following function calculates the values which describes the Gauss function. | |
void | _setKernel () |
The following function defines the kernel for the LoG. It uses the seperability of the LoG. | |
CALC_ROW_H () | |
The implementation of the calculateOutputSubImage() method overloaded from Module is done in this macro. | |
template<typename DATATYPE > | |
void | calcRow (MLsoffset *indexTab, size_t indexTabSize, MLsoffset srcVoxelOffset, size_t numVox, DATATYPE *inCursor, DATATYPE *outCursor, const ImageVector &) |
In this virtual template method the filtering of one row needs to be implemented. |
The LoGFilter permits filtering an image with a 2D Laplace of Gaussian filter kernel.
For related code and more information see mlKernelExample.h
, mlKernel.h
, mlKernelBaseModule.h
, mlKernelModule.h
, mlKernelEditor.h
, mlRankFilter.h
, mlExtConvolutionFilter.h
, mlKernelMacros
, mlKernelTools.h
and mlConvolutionFilter.h
.
Definition at line 38 of file mlLoGFilter.h.
ml::LoGFilter::LoGFilter | ( | ) |
Constructor.
Initializes the fields, the members and the field connections with the image output.
Note that with the following method calls an additional field interface is created as described in KernelModule
and KernelBaseModule:
_createImageIntervalFields
(0, 1024, true, false);_createNormalizeField
(false);Also available are the fields access methods from KernelBaseModule:
MLdouble ml::LoGFilter::_calculateLoGfirstPart | ( | int | axisIdx | ) | [protected] |
The following function calculates the values which describes the "small LoG".
MLdouble ml::LoGFilter::_calculateLoGsecondPart | ( | int | axisIdx | ) | [protected] |
The following function calculates the values which describes the Gauss function.
void ml::LoGFilter::_setKernel | ( | ) | [protected] |
The following function defines the kernel for the LoG. It uses the seperability of the LoG.
virtual void ml::LoGFilter::_updateKernel | ( | ) | [protected, virtual] |
Set correct kernel dependent on the current mode.
Reimplemented from ml::KernelModule.
ml::LoGFilter::CALC_ROW_H | ( | ) | [protected] |
The implementation of the calculateOutputSubImage()
method overloaded from Module
is done in this macro.
It implements page border handling and a dispatcher to call the correct template version of calcRow()
with the correct parameters. Note that CALC_ROW_CPP() also needs to be added in the .cpp file.
void ml::LoGFilter::calcRow | ( | MLsoffset * | indexTab, |
size_t | indexTabSize, | ||
MLsoffset | srcVoxelOffset, | ||
size_t | numVox, | ||
DATATYPE * | inCursor, | ||
DATATYPE * | outCursor, | ||
const ImageVector & | |||
) | [protected] |
In this virtual template method the filtering of one row needs to be implemented.
It will be called by the CALC_ROW_H()
/ CALC_ROW_CPP()
macro.
virtual void ml::LoGFilter::calculateOutputImageProperties | ( | int | outIndex | ) | [protected, virtual] |
Computes the output image properties from the input image properties.
Reimplemented from ml::KernelModule.
IntField* ml::LoGFilter::getKernelExtFld | ( | ) | [inline] |
Integer extent (radius) of kernel. Default is 2.
Definition at line 64 of file mlLoGFilter.h.
virtual void ml::LoGFilter::handleNotification | ( | Field * | field | ) | [protected, virtual] |
Called when a parameter field is changed.
Reimplemented from ml::KernelModule.
Sigma to define the deviation needed for calculation of the kernel elements.
Default is: 1.4.
Definition at line 61 of file mlLoGFilter.h.