MeVisLabToolboxReference
ml::Sobel3DFilter Class Reference

Applies a Sobel edge detection or a Sobel gradient estimation in 3D to a volume image. More...

#include <mlSobel3DFilter.h>

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

List of all members.

Public Types

enum  Sobel3DModeTypes { GRAD_STRENGTH = 0, EDGE_DETECTION = 1, GRAD_ESTIMATION = 2, SELECT_MODE }
 enum field for filterModes More...

Public Member Functions

 Sobel3DFilter ()
 Constructor.
Field access. Refer to field documentation for more infos.
FloatFieldgetEdgeThresholdMinimumValueFld () const
FloatFieldgetEdgeThresholdMaximumValueFld () const
FloatFieldgetDetectedEdgeValueFld () const
FloatFieldgetDetectedNonEdgeValueFld () const
EnumFieldgetFilterModeFld () const
BoolFieldgetVoxelSizeFld () const

Static Public Attributes

static const char *const Sobel3DModeNames [SELECT_MODE]
 String constants for the Sobel3DModeTypes enums.

Protected Member Functions

 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, size_t numVox, TSubImageWithCursor< DATATYPE > &inSubImg, TSubImageWithCursor< DATATYPE > &outSubImg, const ImageVector &)
 In this template method the filtering of one row needs to be implemented.
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.

Detailed Description

Applies a Sobel edge detection or a Sobel gradient estimation in 3D to a volume image.

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 mlSobel3DFilter.h.


Member Enumeration Documentation

enum field for filterModes

Enumerator:
GRAD_STRENGTH 
EDGE_DETECTION 
GRAD_ESTIMATION 
SELECT_MODE 

Definition at line 73 of file mlSobel3DFilter.h.


Constructor & Destructor Documentation

ml::Sobel3DFilter::Sobel3DFilter ( )

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 (30, 50, true);
  • _createMinMaxCalcFields (true, true);
  • _createMinMaxFields (true);

Also available are the fields access methods from KernelBaseModule:


Member Function Documentation

ml::Sobel3DFilter::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::Sobel3DFilter::calcRow ( MLsoffset indexTab,
size_t  indexTabSize,
MLsoffset  ,
size_t  numVox,
TSubImageWithCursor< DATATYPE > &  inSubImg,
TSubImageWithCursor< DATATYPE > &  outSubImg,
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::Sobel3DFilter::calculateOutputImageProperties ( int  outIndex) [protected, virtual]

Computes the output image properties from the input image properties.

Reimplemented from ml::KernelModule.

FloatField* ml::Sobel3DFilter::getDetectedEdgeValueFld ( ) const [inline]

Definition at line 65 of file mlSobel3DFilter.h.

FloatField* ml::Sobel3DFilter::getDetectedNonEdgeValueFld ( ) const [inline]

Definition at line 66 of file mlSobel3DFilter.h.

FloatField* ml::Sobel3DFilter::getEdgeThresholdMaximumValueFld ( ) const [inline]

Definition at line 64 of file mlSobel3DFilter.h.

FloatField* ml::Sobel3DFilter::getEdgeThresholdMinimumValueFld ( ) const [inline]

Definition at line 63 of file mlSobel3DFilter.h.

EnumField* ml::Sobel3DFilter::getFilterModeFld ( ) const [inline]

Definition at line 67 of file mlSobel3DFilter.h.

BoolField* ml::Sobel3DFilter::getVoxelSizeFld ( ) const [inline]

Definition at line 68 of file mlSobel3DFilter.h.

virtual void ml::Sobel3DFilter::handleNotification ( Field field) [protected, virtual]

Called when a parameter field is changed.

Reimplemented from ml::KernelModule.


Member Data Documentation

const char* const ml::Sobel3DFilter::Sobel3DModeNames[SELECT_MODE] [static]

String constants for the Sobel3DModeTypes enums.

Note that SELECT_MODE itself doe not have an enum any more.

Definition at line 83 of file mlSobel3DFilter.h.


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