MeVisLabToolboxReference
ml::LoGFilter Class Reference

The LoGFilter permits filtering an image with a 2D Laplace of Gaussian filter kernel. More...

#include <mlLoGFilter.h>

Inheritance diagram for ml::LoGFilter:
ml::KernelModule ml::KernelBaseModule ml::Module ml::FieldContainer ml::Base

List of all members.

Public Member Functions

 LoGFilter ()
 Constructor.
IntFieldgetKernelExtFld ()
 Integer extent (radius) of kernel. Default is 2.

Public Attributes

DoubleFieldsigmaFld
 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.

Detailed Description

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.


Constructor & Destructor Documentation

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:


Member Function Documentation

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.

template<typename DATATYPE >
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.


Member Data Documentation

Sigma to define the deviation needed for calculation of the kernel elements.

Default is: 1.4.

Definition at line 61 of file mlLoGFilter.h.


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