MeVisLabToolboxReference
ml::KernelModule Class Reference

The typically used convenience class to apply a kernel to an image. More...

#include <mlKernelModule.h>

Inheritance diagram for ml::KernelModule:
ml::KernelBaseModule ml::Module ml::FieldContainer ml::Base ml::BitMorphologyFilter ml::CloseGapFilter ml::CompassFilter ml::ConvolutionFilter ml::Correlation ml::ExtConvolutionFilter ml::KernelCurvatureEstimationFilter ml::KernelOp ml::LocalMaximaFilter ml::LoGFilter ml::MorphologyFilter ml::RankFilter ml::RobertsFilter ml::SigmaFilter ml::Sobel3DFilter ml::StdDeviationFilter ml::SurroundFilter ml::ZeroCrossingsFilter

List of all members.

Public Member Functions

 KernelModule (int inputNum=1, int outputNum=1)
 Constructor.
Fields to specify kernel geometry. See \c _createKernelExtentFields() which creates these fields. If not called then NULL is returned otherwise.
IntFieldgetKernelXFld () const
 X extent of kernel. The field name will be "kernelX". Field default is 3 if created.
IntFieldgetKernelYFld () const
 Y extent of kernel. The field name will be "kernelY". Field default is 3 if created.
IntFieldgetKernelZFld () const
 Z extent of kernel. The field name will be "kernelZ". Field default is 1 if created.
IntFieldgetKernelCFld () const
 C extent of kernel. The field name will be "kernelC". Field default is 1 if created.
IntFieldgetKernelTFld () const
 T extent of kernel. The field name will be "kernelT". Field default is 1 if created.
IntFieldgetKernelUFld () const
 U extent of kernel. The field name will be "kernelU". Field default is 1 if created.
BoolFieldgetMakeSphericalFld () const
 Controls whether kernel is circular or rectangular (in 6D).
Read only information fields.
StringFieldgetKernelInfoFld () const
 An information string showing the current validity of the kernel input string.
DoubleFieldgetKernelElementsSumFld () const
 If created this methods returns the pointer to the field containing the sum of all kernel elements, otherwise NULL is returned.
IntFieldgetNumKernelElementsFld () const
 If created this field contains the number of voxels in the kernel.

Protected Member Functions

Update or modification for the kernel.
virtual void _userKernelPreUpdate ()
 Typical method to be overloaded by derived modules to apply kernel changes.
virtual void _userKernelPostUpdate ()
 Typical method to be overloaded by derived modules to apply kernel changes.
Convenience routines to create kernel control and information fields.
virtual void _createKernelExtentFields (int numDim=6, const ImageVector &defaultExt=ImageVector(3, 3, 1, 1, 1, 1))
 Creates the fields _kernelXFld, ...
virtual void _validateKernelExtents ()
 Checks all existing kernel extent fields and corrects all to values >= 0 if necessary.
virtual void _createMakeSphericalField (bool defaultVal=false)
 Creates a bool field which enables/disables the usage of a connected kernel.
virtual void _createNormalizeField (bool defaultVal=false)
 Creates a bool field which enables/disables the automatic normalization of the kernel after each change.
virtual void _createMinMaxCalcFields (bool defaultValue=false, bool createSetOutputMinMax=false)
 Creates a toggle field which enables the scan of calculated output pages for min/max values if enabled.
virtual void _createMinMaxFields (MLdouble minVal=0, MLdouble maxVal=0, bool defaultValue=false)
 Creates a minimum and a maximum field containing minimum/maximum values for the output image.
virtual void _createExternalKernelFields (bool createUseToggle=false, bool defaultVal=false)
 Creates a kernel input field and an information field.
virtual void _createKernelOutputField ()
 Creates a kernel output field.
virtual void _createImageIntervalFields (MLdouble min=0, MLdouble max=1024, bool createToggle=false, bool useIt=false)
 Creates two limit fields to specify an interval and - if createToggle is passed as true - a toggle to enable/disable interval usage.
virtual void _createKernelIntervalFields (MLdouble min=0, MLdouble max=1024, bool createToggle=false, bool useIt=false)
 Creates two limit fields to specify an interval and - if createToggle is passed as true - a toggle to enable/disable interval usage.
virtual void _createKernelInfoField ()
 Creates an information field about the current kernel and its creation process.
virtual void _createNumKernelElementsField ()
 Creates an information field which will contain the number of kernel elements.
virtual void _createKernelElementsSumField ()
 Creates an information field which will contain the sum of all kernel elements.
Kernel and output field updates.
virtual void _updateKernel ()
 Convenience routine to call the typically used _updateKernel() functionality, e.g.
virtual void _updateKernel (bool permitExtentChanges)
 This is the method to update the kernel, it should be called if the kernel requires an update, e.g.
virtual void _updateKernelOutputField ()
 Updates the kernel output to the value of the kernel if the _kernelOutputFld is defined.
virtual std::string _composeKernelInfo (bool valid=true) const
 Create a string containing all important kernel information.
Interval testing and initialization.
void _setImageInterval (MLdouble minVal=-DBL_MAX, MLdouble maxVal=DBL_MAX)
 Update private test members for fast image interval testings.
void _setKernelInterval (MLdouble minVal=-DBL_MAX, MLdouble maxVal=DBL_MAX)
 Update private test members for fast kernel testings.
bool _isInImageInterval (MLdouble v) const
 Test whether the value v is within image interval.
bool _isInKernelInterval (MLdouble v) const
 Test whether the value v is within kernel interval.
Inherited and extended methods overloaded from \c KernelBaseModule.
virtual void handleNotification (Field *field)
 Called when any parameter field is changed.
virtual void activateAttachments ()
 Called when field loading or module cloning has finished.
virtual void calculateOutputImageProperties (int outIndex)
 Computes the output image properties for output outIndex.
virtual void calcOutSubImagePostProcessing (SubImage *outSubImg, int outIndex, SubImage *inSubImgs)
 Called to postProcess the output image outSubImg with the index outIndex from the input subimage inImg.

Field to normalize kernel after geometry changes.

BoolFieldgetNormalizeFld () const
 Controls whether kernel is automatically normalized after each change.

Fields for kernel input and output connections. Created only on demand, NULL otherwise.

StringFieldgetExternalKernelFld () const
 Input connection field for kernels.
BoolFieldgetUseExternalKernelFld () const
 A field enabling the usage of the _externalKernelFld if true.
StringFieldgetKernelOutputFld () const
 A field containing the current kernel.

Fields for an image interval. Created only on demand, NULL otherwise.

DoubleFieldgetImageIntervalMinFld () const
 A field containing the minimum limit of an interval specifying the values of voxels to be filtered.
DoubleFieldgetImageIntervalMaxFld () const
 A field containing the maximum limit of an interval specifying the values of voxels to be filtered.
BoolFieldgetUseImageIntervalFld () const
 A field enabling the usage of the _imageIntervalMinFld and _imageIntervalMaxFld if true.

Field for a kernel interval. Created only on demand, NULL otherwise.

DoubleFieldgetKernelIntervalMinFld () const
 A field containing the minimum limit of an interval specifying the values of voxels under kernel elements to be used in a kernel operation.
DoubleFieldgetKernelIntervalMaxFld () const
 A field containing the maximum limit of an interval specifying the values of voxels under kernel elements to be used in a kernel operation.
BoolFieldgetUseKernelIntervalFld () const
 A field enabling the usage of the _kernelIntervalMinFld and _kernelIntervalMaxFld if true.

Automatic min/max calculation for output image. Created only on demand, NULL otherwise.

BoolFieldgetAutoCalcMinMaxFld () const
 A field enabling the automatic minimum/maximum value setting of the output image.
NotifyFieldgetSetAutoMinMaxFld () const
 Field which assigns the current settings of automatically determined minimum/maximum values of already calculated pages to the output image.

Minimum/Maximum setting for output image.

DoubleFieldgetOutputMinFld () const
 The minimum value used for the output image if _useAutoMinMax is on.
DoubleFieldgetOutputMaxFld () const
 The maximum value used for the output image if _useAutoMinMax is on.
BoolFieldgetUseMinMaxFld () const
 If enabled then contents of _outputMinFld and _outputMaxFld will be used as minimum and maximum values of the output image.

Detailed Description

The typically used convenience class to apply a kernel to an image.

Many convenience methods are available to configure the module with certain fields combinations so that derived modules don't need to implement most inputs for kernel extents, fill value, kernel input and output connectors, image and kernel intervals etc.

Definition at line 36 of file mlKernelModule.h.


Constructor & Destructor Documentation

ml::KernelModule::KernelModule ( int  inputNum = 1,
int  outputNum = 1 
)

Constructor.

Initializes the fields, the members and the field connections with the field container. Default configuration is with one input and one output if no arguments are passed.


Member Function Documentation

virtual std::string ml::KernelModule::_composeKernelInfo ( bool  valid = true) const [protected, virtual]

Create a string containing all important kernel information.

If false is passed then an invalid message is added.

virtual void ml::KernelModule::_createExternalKernelFields ( bool  createUseToggle = false,
bool  defaultVal = false 
) [protected, virtual]

Creates a kernel input field and an information field.

The information field contains a message showing whether the kernel in the input is valid or not. If _createUseToggle is true then the field _useExternalKernelFld is created and initialized to defaultVal (false if not passed differently). The default value of the kernel input is an empty string, i.e. an undefined kernel. The information string field is set to "Invalid" The _useExternalKernelFld and _externalKernelFld are attached to field of output 0 so that changes will notify the output image immediately. handleNotification is not called on creation or initialization process. To be called only once in the constructor, more calls will generate warnings.

virtual void ml::KernelModule::_createImageIntervalFields ( MLdouble  min = 0,
MLdouble  max = 1024,
bool  createToggle = false,
bool  useIt = false 
) [protected, virtual]

Creates two limit fields to specify an interval and - if createToggle is passed as true - a toggle to enable/disable interval usage.

The default values are 0 for the minimum and 1024 for the maximum field if not specified differently. The used field names will be "intervalMinOfFilteredVoxels", "intervalMaxOfFilteredVoxels" and "useIntervalOfFilteredVoxels", the member names _imageIntervalMin, _imageIntervalMax and _useImageInterval. The fields are attached to the field of output 0 so that changes will notify the output image immediately. This interval is usually used to select those voxels which are filtered voxel values not in the interval are bypassed unchanged. handleNotification is not called on creation or initialization process. To be called only once in the constructor, more calls will generate warnings.

virtual void ml::KernelModule::_createKernelElementsSumField ( ) [protected, virtual]

Creates an information field which will contain the sum of all kernel elements.

The created field is only intended as a read-only field users. The field name will be "kernelElementsSum" and the field default results from the created default kernel. This field is especially useful to connect from when sum of kernel elements is needed elsewhere. handleNotification is not called on creation or initialization process.

virtual void ml::KernelModule::_createKernelExtentFields ( int  numDim = 6,
const ImageVector defaultExt = ImageVector(3, 3, 1, 1, 1, 1) 
) [protected, virtual]

Creates the fields _kernelXFld, ...

_kernelUFld and initializes them with the values 3,3,1,1,1,1 if not passed differently to defaultExt. If numDim is passed as a value < 6 then only numDim fields are created, e.g. _kernelXFld and _kernelYFld are created if numDim is 2. The field names will be "kernelX", ... , "kernelU", respectively. The fields are attached to the field of output 0 so that changes will notify the output image immediately. handleNotification is not called on creation or initialization process. To be called only once in the constructor, more calls will generate warnings.

virtual void ml::KernelModule::_createKernelInfoField ( ) [protected, virtual]

Creates an information field about the current kernel and its creation process.

The default value is "Invalid". handleNotification is not called on creation or initialization process. To be called only once in the constructor, more calls will generate warnings.

virtual void ml::KernelModule::_createKernelIntervalFields ( MLdouble  min = 0,
MLdouble  max = 1024,
bool  createToggle = false,
bool  useIt = false 
) [protected, virtual]

Creates two limit fields to specify an interval and - if createToggle is passed as true - a toggle to enable/disable interval usage.

The default values are 0 for the minimum and 1024 for the maximum field if not specified differently. The used field names will be "intervalMinOfVoxelsForFiltering", "kernelIintervalMaxOfVoxelsForFiltering" and "useIntervalOfVoxelsForFiltering", the member names _kernelIntervalMinFld, _kernelIntervalMaxFld and _useKernelIntervalFld. The fields are attached to the field of output 0 so that changes will notify the output image immediately. These fields are used to specify a selection interval for the values of voxels under kernel elements to be used in a kernel operation. handleNotification is not called on creation or initialization process. To be called only once in the constructor, more calls will generate warnings.

virtual void ml::KernelModule::_createKernelOutputField ( ) [protected, virtual]

Creates a kernel output field.

It will be set to the current kernel if _updateKernelOutputField() is called. The default value of the kernel input is an empty string, i.e. an undefined kernel. handleNotification is not called on creation or initialization process. To be called only once in the constructor, more calls will generate warnings.

virtual void ml::KernelModule::_createMakeSphericalField ( bool  defaultVal = false) [protected, virtual]

Creates a bool field which enables/disables the usage of a connected kernel.

Default value will be false(=off) if not passed differently as defaultVal. See also _makeSphericalFld. The field name will be "makeSpherical". The field is attached to the field of output 0 so that changes will notify the output image immediately. handleNotification is not called on creation or initialization process. To be called only once in the constructor, more calls will generate warnings.

virtual void ml::KernelModule::_createMinMaxCalcFields ( bool  defaultValue = false,
bool  createSetOutputMinMax = false 
) [protected, virtual]

Creates a toggle field which enables the scan of calculated output pages for min/max values if enabled.

This is useful since many kernel operations have unpredictable results - so the minimum and maximum values of the output image is difficult to foresee. The protected members _autoMin autoMax are updated and _autoMinMaxValid indicates whether these members are valid. The field name will be "autoCalcMinMax". The default value is false=off if not specified differently as defaultVal.

In combination with the fields _outputMinFld and _outputMaxFld it might be useful to have an assignment button to transfer _autoMin and _autoMax to them. Pass _createSetOutputMinMax as true. Then such a button is created with the name "setOutputMinMax". See also _createOutputMinMaxFields. The toggle field is attached to the field of output 0 so that changes will notify the output image immediately. The button will not be attached to the output image since the _outputMinFld and _outputMaxFld usually will be. To be called only once in the constructor, more calls will generate warnings.

virtual void ml::KernelModule::_createMinMaxFields ( MLdouble  minVal = 0,
MLdouble  maxVal = 0,
bool  defaultValue = false 
) [protected, virtual]

Creates a minimum and a maximum field containing minimum/maximum values for the output image.

This is useful since many kernel operations have unpredictable results - so the minimum and maximum values of the output image is difficult to foresee. The field names will be "outputMin" and "outputMax". The default values are 0 and 0 if not specified differently. See also _outputMinFld and _outputMaxFld. Also an enable/disable button is created which enables/disables the usage of those min/max fields. It field name will be "useMinMax". Its default value is false if not specified differently by defaultValue. All fields are attached to the field of output 0 so that changes will notify the output image immediately. To be called only once in the constructor, more calls will generate warnings.

virtual void ml::KernelModule::_createNormalizeField ( bool  defaultVal = false) [protected, virtual]

Creates a bool field which enables/disables the automatic normalization of the kernel after each change.

Default value will be false(=off) if not passed differently as defaultVal. The field name will be "autoNormalize". See also _normalizeFld. handleNotification is not called on creation or initialization process. The field is attached to the field of output 0 so that changes will notify the output image immediately. To be called only once in the constructor, more calls will generate warnings.

virtual void ml::KernelModule::_createNumKernelElementsField ( ) [protected, virtual]

Creates an information field which will contain the number of kernel elements.

The created field is only intended as a read-only field users. The field name will be "numKernelElements" and the field default results from the created default kernel. This field is especially useful to connect from when the number of kernel elements is needed elsewhere. handleNotification is not called on creation or initialization process.

bool ml::KernelModule::_isInImageInterval ( MLdouble  v) const [protected]

Test whether the value v is within image interval.

Note that the interval is considered exclusively if maximum is smaller than minimum, i.e. all values between maximum and minimum are excluded and all others are included. Intervals where minVal == maxVal are considered as a normal interval.

bool ml::KernelModule::_isInKernelInterval ( MLdouble  v) const [protected]

Test whether the value v is within kernel interval.

Note that the interval is considered exclusively if maximum is smaller than minimum, i.e. all values between maximum and minimum are excluded and all others are included. Intervals where minVal == maxVal are considered as a normal interval.

void ml::KernelModule::_setImageInterval ( MLdouble  minVal = -DBL_MAX,
MLdouble  maxVal = DBL_MAX 
) [protected]

Update private test members for fast image interval testings.

Filtering can be applied to a subset of voxels by setting a threshold interval which includes the convoluted voxels. If used then only voxels >= min and <=max are modified by filtering. Default is (-DBL_MAX, DBL_MAX).

void ml::KernelModule::_setKernelInterval ( MLdouble  minVal = -DBL_MAX,
MLdouble  maxVal = DBL_MAX 
) [protected]

Update private test members for fast kernel testings.

When filtering an image then voxels covered by kernel elements outside a certain grey level interval can be excluded. If used then only voxels >= min and <=max are multiplied with kernel values. Otherwise these products are not added to the resulting output image voxel. Default is (-DBL_MAX, DBL_MAX).

virtual void ml::KernelModule::_updateKernel ( ) [inline, protected, virtual]

Convenience routine to call the typically used _updateKernel() functionality, e.g.

at the end of constructors or in handleNotification(). Normally it is not intended to be overloaded.

Reimplemented in ml::LoGFilter.

Definition at line 436 of file mlKernelModule.h.

References _updateKernel().

Referenced by _updateKernel().

virtual void ml::KernelModule::_updateKernel ( bool  permitExtentChanges) [protected, virtual]

This is the method to update the kernel, it should be called if the kernel requires an update, e.g.

in handleNotification and dependent field updates shall take place. Normally it is not intended to be overloaded. The following operations are performed:

_userKernelPreUpdate() is called. So derived modules can apply kernel changes. This method is called by _updateKernel() to supply a method where the application can change the kernel BEFORE the kernel input is checked or kernel extents are set. See _updateKernel(permitExtentChanges) for more Infos.

Existing fields are evaluated:

  • If a kernel input is defined and enabled and permitExtentChanges is true then the kernel is set to the input state. If an invalid kernel is connected a 1x1x1x1x1x1 kernel is set. A not created _useExternalKernelFld is always considered as an enabled kernel input. On no kernel input or if it's disabled the current kernel is not modified.
  • If no kernel input is defined or if it's disabled and permitExtentChanges is true then a kernel is created from the specified kernel extents. If kernel extent fields are not defined then the kernel is left unchanged.
  • If the _makeSphericalFld is defined and enabled the kernel is made spherical. Otherwise the kernel is left unchanged.
  • If the _normalizeFld is defined and enabled the kernel is normalized. Otherwise the kernel is left unchanged.

The method _userKernelPostUpdate() is called. This method is called by _updateKernel() to supply a method where the application can change the kernel AFTER all automatic changes and BEFORE the output kernel fields, the _kernelInfoFld, the _numKernelElementsFld and the _kernelElementSumFld are updated.

The output and information fields are updated:

  • The kernel output is updated if it exists.
  • If the _kernelElementsSumFld is defined then it's updated. Otherwise it's left unchanged.
  • If the _numKernelElementsFld is defined then it's updated. Otherwise it's left unchanged.
virtual void ml::KernelModule::_updateKernelOutputField ( ) [protected, virtual]

Updates the kernel output to the value of the kernel if the _kernelOutputFld is defined.

virtual void ml::KernelModule::_userKernelPostUpdate ( ) [inline, protected, virtual]

Typical method to be overloaded by derived modules to apply kernel changes.

This method is called by _updateKernel(permitExtentChanges) to supply a method where the application can change the kernel AFTER all automatic changes and BEFORE the output kernel fields, the _kernelInfoFld, the _numKernelElementsFld and the _kernelElementSumFld are updated. See _updateKernel(permitExtentChanges) for more Infos.

Reimplemented in ml::CloseGapFilter, ml::ConvolutionFilter, ml::ExtConvolutionFilter, ml::MorphologyFilter, and ml::SurroundFilter.

Definition at line 257 of file mlKernelModule.h.

virtual void ml::KernelModule::_userKernelPreUpdate ( ) [inline, protected, virtual]

Typical method to be overloaded by derived modules to apply kernel changes.

This method is called by _updateKernel(permitExtentChanges) to supply a method where the application can change the kernel BEFORE the kernel input is checked or kernel extents are set. See updateKernel(permitExtentChanges) for more Infos.

Definition at line 247 of file mlKernelModule.h.

virtual void ml::KernelModule::_validateKernelExtents ( ) [protected, virtual]

Checks all existing kernel extent fields and corrects all to values >= 0 if necessary.

virtual void ml::KernelModule::activateAttachments ( ) [protected, virtual]

Called when field loading or module cloning has finished.

It's necessary to update the kernel then to the current state of the fields.

Reimplemented from ml::FieldContainer.

Reimplemented in ml::CloseGapFilter, ml::RankFilter, and ml::SigmaFilter.

virtual void ml::KernelModule::calcOutSubImagePostProcessing ( SubImage outSubImg,
int  outIndex,
SubImage inSubImgs 
) [protected, virtual]

Called to postProcess the output image outSubImg with the index outIndex from the input subimage inImg.

It adds calculating of min/max values after filtering. Note that this method should be called in derived classes after page calculation which, however, is usually done automatically by the usage of CALC_ROW macros which filter all rows of a page by calling calcRow. For more information see KernelExample and mlKernelMacros.h. So "overloading by hand" is typically not recommended.

Reimplemented from ml::KernelBaseModule.

virtual void ml::KernelModule::calculateOutputImageProperties ( int  outIndex) [protected, virtual]

Computes the output image properties for output outIndex.

This includes adapted min/max values, data type adjustments etc. The world coordinates and the extents of the output image are corrected dependent on the border handling (already done in KernelBaseModule). At last always the data type is checked (and eventually corrected) whether it can manage the currently set minimum and maximum voxel values.

Reimplemented from ml::KernelBaseModule.

Reimplemented in ml::BitMorphologyFilter, ml::ConvolutionFilter, ml::ExtConvolutionFilter, ml::KernelCurvatureEstimationFilter, ml::LocalMaximaFilter, ml::LoGFilter, ml::MorphologyFilter, ml::RankFilter, ml::RobertsFilter, ml::SigmaFilter, ml::Sobel3DFilter, ml::StdDeviationFilter, ml::SurroundFilter, and ml::ZeroCrossingsFilter.

BoolField* ml::KernelModule::getAutoCalcMinMaxFld ( ) const [inline]

A field enabling the automatic minimum/maximum value setting of the output image.

This is useful since many kernel operations have unpredictable results - so the minimum and maximum values of the output image is difficult to foresee. After calculation of an image fraction the min/max range is updated since more image values are known. Note that an enabled _autoCalcMinMaxFld causes that calculated output pages are automatically scanned for their minimum and maximum values. The field name will be "autoCalcMinMax". See also _createAutoCalcMinMaxFields() which creates this field. Otherwise NULL is returned. The field default value is false(=off) if created.

Definition at line 199 of file mlKernelModule.h.

StringField* ml::KernelModule::getExternalKernelFld ( ) const [inline]

Input connection field for kernels.

The field name will be "externalKernel". See also _createExternalKernelFields() which creates this field. Otherwise NULL is returned. Field default is an empty and invalid content if created.

Definition at line 90 of file mlKernelModule.h.

DoubleField* ml::KernelModule::getImageIntervalMaxFld ( ) const [inline]

A field containing the maximum limit of an interval specifying the values of voxels to be filtered.

The field name will be "intervalMaxOfFilteredVoxels". See also _createImageIntervalFields() which creates this field. Otherwise NULL is returned. Field default is 1024 if created.

Definition at line 148 of file mlKernelModule.h.

DoubleField* ml::KernelModule::getImageIntervalMinFld ( ) const [inline]

A field containing the minimum limit of an interval specifying the values of voxels to be filtered.

The field name will be "intervalMinOfFilteredVoxels". See also _createImageIntervalFields() which creates this field. Otherwise NULL is returned. Field default is 0 if created.

Definition at line 141 of file mlKernelModule.h.

IntField* ml::KernelModule::getKernelCFld ( ) const [inline]

C extent of kernel. The field name will be "kernelC". Field default is 1 if created.

Definition at line 57 of file mlKernelModule.h.

DoubleField* ml::KernelModule::getKernelElementsSumFld ( ) const [inline]

If created this methods returns the pointer to the field containing the sum of all kernel elements, otherwise NULL is returned.

See also _createKernelElementsSumField() which creates this field. The field name will be "kernelElementsSum", and the field default results from the created default kernel. This field is especially useful to connect from when sum of kernel elements is needed elsewhere. Note that this field is only intended as a read-only field for users.

Definition at line 122 of file mlKernelModule.h.

StringField* ml::KernelModule::getKernelInfoFld ( ) const [inline]

An information string showing the current validity of the kernel input string.

See also _createKernelInfoField() which creates this field. Otherwise NULL is returned. Field default is "Invalid" if created.

Definition at line 112 of file mlKernelModule.h.

DoubleField* ml::KernelModule::getKernelIntervalMaxFld ( ) const [inline]

A field containing the maximum limit of an interval specifying the values of voxels under kernel elements to be used in a kernel operation.

The field name will be "intervalMaxOfVoxelsForFiltering". See also _createKernelIntervalFields() which creates this field. Otherwise NULL is returned. Field default is 1024.

Definition at line 174 of file mlKernelModule.h.

DoubleField* ml::KernelModule::getKernelIntervalMinFld ( ) const [inline]

A field containing the minimum limit of an interval specifying the values of voxels under kernel elements to be used in a kernel operation.

The field name will be "intervalMinOfVoxelsForFiltering". See also _createKernelIntervalFields() which creates this field. Otherwise NULL is returned. Field default is 0.

Definition at line 167 of file mlKernelModule.h.

StringField* ml::KernelModule::getKernelOutputFld ( ) const [inline]

A field containing the current kernel.

So other modules can be connected to get the kernel. The field name will be "kernelOutput". See also _createKerneOutput() which creates this field. Otherwise NULL is returned. Field default is an empty and undefined kernel if created.

Definition at line 103 of file mlKernelModule.h.

IntField* ml::KernelModule::getKernelTFld ( ) const [inline]

T extent of kernel. The field name will be "kernelT". Field default is 1 if created.

Definition at line 59 of file mlKernelModule.h.

IntField* ml::KernelModule::getKernelUFld ( ) const [inline]

U extent of kernel. The field name will be "kernelU". Field default is 1 if created.

Definition at line 61 of file mlKernelModule.h.

IntField* ml::KernelModule::getKernelXFld ( ) const [inline]

X extent of kernel. The field name will be "kernelX". Field default is 3 if created.

Definition at line 51 of file mlKernelModule.h.

IntField* ml::KernelModule::getKernelYFld ( ) const [inline]

Y extent of kernel. The field name will be "kernelY". Field default is 3 if created.

Definition at line 53 of file mlKernelModule.h.

IntField* ml::KernelModule::getKernelZFld ( ) const [inline]

Z extent of kernel. The field name will be "kernelZ". Field default is 1 if created.

Definition at line 55 of file mlKernelModule.h.

BoolField* ml::KernelModule::getMakeSphericalFld ( ) const [inline]

Controls whether kernel is circular or rectangular (in 6D).

The field name will be "makeSpherical". See also _createMakeSphericalField() which creates this field. Otherwise NULL is returned. Field default is Off (=false) if created.

Definition at line 67 of file mlKernelModule.h.

BoolField* ml::KernelModule::getNormalizeFld ( ) const [inline]

Controls whether kernel is automatically normalized after each change.

The field name will be "normalize". See also _createNormalizeField() which creates this field. Otherwise NULL is returned. Field default is Off (=false) if created.

Definition at line 78 of file mlKernelModule.h.

IntField* ml::KernelModule::getNumKernelElementsFld ( ) const [inline]

If created this field contains the number of voxels in the kernel.

See also _createNumKernelElementsField() which creates this field. Otherwise NULL is returned. The field name will be "numKernelElements", and the field default results from the created default kernel. Note that this field is only intended as a read-only field.

Definition at line 129 of file mlKernelModule.h.

DoubleField* ml::KernelModule::getOutputMaxFld ( ) const [inline]

The maximum value used for the output image if _useAutoMinMax is on.

See also _createMinMaxFields() which creates this field. Otherwise NULL is returned. The field name will be "outputMax", field default is 0 if created.

Definition at line 222 of file mlKernelModule.h.

DoubleField* ml::KernelModule::getOutputMinFld ( ) const [inline]

The minimum value used for the output image if _useAutoMinMax is on.

See also _createMinMaxFields() which creates this field. Otherwise NULL is returned. The field name will be "outputMin", field default is 0 if created.

Definition at line 217 of file mlKernelModule.h.

NotifyField* ml::KernelModule::getSetAutoMinMaxFld ( ) const [inline]

Field which assigns the current settings of automatically determined minimum/maximum values of already calculated pages to the output image.

The field name will be "setAutoMinMax". See also _createAutoCalcMinMaxFields() which creates this field. Otherwise NULL is returned. Field default is off(=false) if created.

Definition at line 207 of file mlKernelModule.h.

BoolField* ml::KernelModule::getUseExternalKernelFld ( ) const [inline]

A field enabling the usage of the _externalKernelFld if true.

The field name will be "useExternalKernel". See also _createExternalKernel() which creates this field. Otherwise NULL is returned. Field default is off if created.

Definition at line 96 of file mlKernelModule.h.

BoolField* ml::KernelModule::getUseImageIntervalFld ( ) const [inline]

A field enabling the usage of the _imageIntervalMinFld and _imageIntervalMaxFld if true.

The field name will be "useIntervalOfFilteredVoxels". See also _createImageIntervalFields() which creates this field. Otherwise NULL is returned. Field default is off if created.

Definition at line 155 of file mlKernelModule.h.

BoolField* ml::KernelModule::getUseKernelIntervalFld ( ) const [inline]

A field enabling the usage of the _kernelIntervalMinFld and _kernelIntervalMaxFld if true.

The field name will be "useIntervalOfVoxelsForFiltering". See also _createKernelIntervalFields() which creates this field. Otherwise NULL is returned. Field default is off if created.

Definition at line 181 of file mlKernelModule.h.

BoolField* ml::KernelModule::getUseMinMaxFld ( ) const [inline]

If enabled then contents of _outputMinFld and _outputMaxFld will be used as minimum and maximum values of the output image.

See also _createMinMaxFields() which creates this field. Otherwise NULL is returned. The field name will be "useMinMax", field default is false if created.

Definition at line 228 of file mlKernelModule.h.

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

Called when any parameter field is changed.

field points to the field which has been changed and whose new state has to be handled.

Reimplemented from ml::Module.

Reimplemented in ml::BitMorphologyFilter, ml::CloseGapFilter, ml::ConvolutionFilter, ml::Correlation, ml::ExtConvolutionFilter, ml::LoGFilter, ml::MorphologyFilter, ml::RankFilter, ml::RobertsFilter, ml::SigmaFilter, ml::Sobel3DFilter, and ml::SurroundFilter.


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