MeVisLabToolboxReference
ml::KernelCurvatureEstimationFilter Class Reference

Implements a filter to estimate curvatures. More...

#include <mlKernelCurvatureEstimationFilter.h>

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

List of all members.

Public Member Functions

 KernelCurvatureEstimationFilter ()
 Constructor.
BoolFieldgetCalculateAngleFld () const
 Get access to parameter field(s). See member documentation of _calculateAngleFld.

Protected Member Functions

virtual void calculateOutputImageProperties (int outIndex)
 Computes the output image properties for output outIndex.
 CALC_ROW_H ()
 Macro which needs to be added to the implementation of a class derived from KernelModule or KernelBaseModule.
template<typename DATATYPE >
void calcRow (MLsoffset *indexTab, size_t indexTabSize, MLsoffset srcVoxelOffset, size_t numVox, DATATYPE *inCursor, DATATYPE *outCursor, const ImageVector &)
 In this template method the filtering of one row needs to be implemented.

Detailed Description

Implements a filter to estimate curvatures.

Implementation of a kernel filter calculating an approximation of the curvature of a contour in the neighbourhood of a voxel. Therefor it calculates the best fitting straight line and the difference between this straight line and the given contour.

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 37 of file mlKernelCurvatureEstimationFilter.h.


Constructor & Destructor Documentation

ml::KernelCurvatureEstimationFilter::KernelCurvatureEstimationFilter ( )

Constructor.

Initializes the fields, the members and the field connections with the field container.

Note that with the following method calls an additional field interface is created as described in KernelModule and KernelBaseModule:

  • _createKernelExtentFields(6, ImageVector(5,5,1,1,1,1));
  • _createMakeSphericalField(false);
  • _createNormalizeField(true);
  • _createExternalKernelFields(true, false);
  • _createKernelInfoField();
  • _createKernelOutputField();
  • _createImageIntervalFields(1, 2000, true, true);
  • _createKernelIntervalFields(30, 50, true, false);
  • _createMinMaxCalcFields(true, true);
  • _createMinMaxFields(true);

Also available are the fields access methods from KernelBaseModule:


Member Function Documentation

ml::KernelCurvatureEstimationFilter::CALC_ROW_H ( ) [protected]

Macro which needs to be added to the implementation of a class derived from KernelModule or KernelBaseModule.

It guarantees that the correct template functions are called for images with any data type. It also overloads calculateOutputSubImage() of the base class Module. Note that CALC_ROW_CPP() also needs to be added to the .cpp file.

template<typename DATATYPE >
void ml::KernelCurvatureEstimationFilter::calcRow ( MLsoffset indexTab,
size_t  indexTabSize,
MLsoffset  srcVoxelOffset,
size_t  numVox,
DATATYPE *  inCursor,
DATATYPE *  outCursor,
const ImageVector  
) [protected]

In this 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::KernelCurvatureEstimationFilter::calculateOutputImageProperties ( int  outIndex) [protected, virtual]

Computes the output image properties for output outIndex.

Reimplemented from ml::KernelModule.

BoolField* ml::KernelCurvatureEstimationFilter::getCalculateAngleFld ( ) const [inline]

Get access to parameter field(s). See member documentation of _calculateAngleFld.

Definition at line 69 of file mlKernelCurvatureEstimationFilter.h.


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