latest version v1.9 - last update 10 Apr 2010 |
the parameters for the class nonMaximaSuppression More...
#include <ltiNonMaximaSuppression.h>
Public Member Functions | |
parameters () | |
parameters (const parameters &other) | |
~parameters () | |
const char * | getTypeName () const |
parameters & | copy (const parameters &other) |
parameters & | operator= (const parameters &other) |
virtual functor::parameters * | clone () const |
virtual bool | write (ioHandler &handler, const bool complete=true) const |
virtual bool | read (ioHandler &handler, const bool complete=true) |
Public Attributes | |
float | thresholdMin |
bool | indirectThresholdMin |
float | thresholdMax |
bool | indirectThresholdMax |
ubyte | background |
ubyte | edgeValue |
bool | checkAngles |
int | gradientHistogramSize |
extensions to the classical algorithm | |
bool | fillGaps |
ubyte | endPointValue |
ubyte | gapValue |
int | numGapHints |
int | maxGapLength |
the parameters for the class nonMaximaSuppression
lti::nonMaximaSuppression::parameters::parameters | ( | ) |
default constructor
Reimplemented from lti::transform::parameters.
lti::nonMaximaSuppression::parameters::parameters | ( | const parameters & | other | ) |
copy constructor
other | the parameters object to be copied |
Reimplemented from lti::transform::parameters.
lti::nonMaximaSuppression::parameters::~parameters | ( | ) | [virtual] |
destructor
Reimplemented from lti::functor::parameters.
virtual functor::parameters* lti::nonMaximaSuppression::parameters::clone | ( | ) | const [virtual] |
returns a pointer to a clone of the parameters
Reimplemented from lti::transform::parameters.
parameters& lti::nonMaximaSuppression::parameters::copy | ( | const parameters & | other | ) |
copy the contents of a parameters object
other | the parameters object to be copied |
Reimplemented from lti::transform::parameters.
const char* lti::nonMaximaSuppression::parameters::getTypeName | ( | ) | const [virtual] |
returns name of this type
Reimplemented from lti::transform::parameters.
parameters& lti::nonMaximaSuppression::parameters::operator= | ( | const parameters & | other | ) |
copy the contents of a parameters object
other | the parameters object to be copied |
virtual bool lti::nonMaximaSuppression::parameters::read | ( | ioHandler & | handler, | |
const bool | complete = true | |||
) | [virtual] |
read the parameters from the given ioHandler
handler | the ioHandler to be used | |
complete | if true (the default) the enclosing begin/end will be also written, otherwise only the data block will be written. |
Reimplemented from lti::functor::parameters.
virtual bool lti::nonMaximaSuppression::parameters::write | ( | ioHandler & | handler, | |
const bool | complete = true | |||
) | const [virtual] |
write the parameters in the given ioHandler
handler | the ioHandler to be used | |
complete | if true (the default) the enclosing begin/end will be also written, otherwise only the data block will be written. |
Reimplemented from lti::functor::parameters.
Value used for the background of the response.
Default value: 0
The expected angles in the orientation map must be between 0.0f and 2*Pi.
If you can ensure this condition previous to call the apply method, you can deactivate the check of this condition setting this parameter to false. Of course, checking this condition takes its time, therefore it is better if you ensure it in the algorithm that generates the orientation channel.
The correction of angle is done in an arithmetical way, so, if the magnitude of the values you provide can be much bigger than 2*Pi, you need to take care of the conversion, or the check will take too long or, in case 2*Pi is negligible compared with your values, it will remain in an infinity loop.
The reason for an arithmetical correction is that in most cases the angles will be between -2*Pi and 4*Pi, and an arithmetical check is the fastest one.
Default value: true
Value used for the detected edges.
Default value: 255
value used to mark end points
Default value: 255
If false, the traditional algorithm will be applied, which only detects the maxima along the gradient direction followed by hysteresis thresholding.
If true, additionally a gap filling algorithm will be applied.
Default value = false;
value used to mark gap completion
Default value: 255
Size of the histogram used to compute automatically the thresholds.
This determines the possible threshold values. The histogram will not be computed, if no threshold is to be computed automatically.
Default value: 256
If true
then the real maximum threshold will be internally computed considering that thresholdMax
percent of the total number of pixels with the highest gradient values are edges.
If false
, then the given thresholdMax
will be used as is.
Default value: false
If true
then the real minimum threshold will be internally computed considering that possibly thresholdMin
percent of the total number of pixels with the highest gradient values are edges.
If false
, then the given thresholdMin
will be used as is.
Default value: false
Maximal allowed gap length Default value: 10.
Number of pixels used together with an end point to estimate the interpolation of a gap.
Default value: 5
The real maximal threshold is computed from the maximum found in the input image and this thresholdMax parameter, which is the fraction of the maximal value to be considered.
If an edge response is higher than the threshold, those pixels will be definitively considered as edge. This value must be between 0.0f and 1.0f.
If the parameter indirectThresholdMax is true
, then this value means the percentage of pixels with the highest gradient values that are definitively edges.
Default Value: 0.04f
If a pixel is detected as part of an edge (a response higher than thresholdMax), its neighbors are consider also edges if their values are higher than the given percentage of thresholdMax (i.e.
higher than thresholdMax*thresholdMin).
If the parameter indirectThresholdMin is true
, then this value means the percentage of pixels with the highest gradient values that could be possible edges if they are neighbors of an edge pixel. Note that in this mode, and if indirectThresholdMin is also true, this value should be greater than thresholdMax, since there should me more possible edges than definitively edges.
This value must be between 0.0f and 1.0f.
Default Value: 0.5f