SoTensorVotingProcessing2d engine More...
#include <ImageViz/Engines/EdgeDetection/EdgeMarking/SoTensorVotingProcessing2d.h>
Public Types | |
enum | OutputSelection { TENSOR = 1, ORIENTATION_VECTOR = 2, SALIENCY = 4, BALLNESS = 8 } |
Public Member Functions | |
SoTensorVotingProcessing2d () | |
Public Attributes | |
SoSFImageDataAdapter | inFeatureImage |
SoSFImageDataAdapter | inVectorImage |
SoSFDouble | scale |
SoSFBitMask | outputSelection |
SoImageVizEngineOutput < SoSFImageDataAdapter, SoImageDataAdapter * > | outTensorImage |
SoImageVizEngineOutput < SoSFImageDataAdapter, SoImageDataAdapter * > | outVectorImage |
SoImageVizEngineOutput < SoSFImageDataAdapter, SoImageDataAdapter * > | outSaliencyImage |
SoImageVizEngineOutput < SoSFImageDataAdapter, SoImageDataAdapter * > | outBallnessImage |
The SoTensorVotingProcessing2d engine strengthens an image local features according to their consistency with a model of smooth curves.
The computation will use a feature score image and an orientation vector image.
The voting field used assumes that the best connection between two points with one orientation imposes a circular arc that decays with the radius according to a Gaussian function. The voting field size is defined by the parameter "scale".
This voting field can be illustrated on the unit sphere:
Example of a stick voting field.
The method is referenced by Franken and van Almsick publication
E.Franken, M.van Almsick, P.Rongen, L.Florack, B.ter Haar Romeny,
"An efficient method for tensor voting using steerable filters."
Computer Vision - ECCV 2006. Springer, pp. 228-240, 2006.
Different outputs can be computed by this filter and are selected with the "outputSelection" parameter. Only the outputs necessary to the application can be selected in order to minimize memory and computation time usage.
This filter can provide an output spectral image where each channel represents a tensor component set in the following order , , .
The saliency, ballness and orientation vector images can be extracted from this tensor image following:
The saliency can be interpreted as a measure for the orientation certainty or a measure of anisotropy of the ellipse in orientation given in outVectorImage.
The ballness can be interpreted as a measure for the orientation uncertainty or a measure of isotropy.
The orientation vector image defines the main orientation of the output tensor.
inFeatureImage | NULL |
inVectorImage | NULL |
scale | 5.0 |
outputSelection | SALIENCY |
This enum defines each computable outputs.
SoTensorVotingProcessing2d::SoTensorVotingProcessing2d | ( | ) |
Constructor.
Input feature image.
Image must have only one spectral canal. Default value is NULL. Supported types include: grayscale image.
Input orientation vector image.
Image must have the same size as the input and 2 spectral canals. Each vector is used to define an orientation and its norm is ignored. Default value is NULL. Supported types include: color image.
SoImageVizEngineOutput<SoSFImageDataAdapter,SoImageDataAdapter*> SoTensorVotingProcessing2d::outBallnessImage |
Output ballness image.
The size, calibration and interpretation of the output image are forced to the same values as the feature input. Type is forced to float. Default value is NULL. Supported types include: grayscale image.
Enable the computation of selected outputs.
Use enum OutputSelection. Default is SALIENCY
SoImageVizEngineOutput<SoSFImageDataAdapter,SoImageDataAdapter*> SoTensorVotingProcessing2d::outSaliencyImage |
Output saliency image.
The size, calibration and interpretation of the output image are forced to the same values as the feature input. Type is forced to float. Default value is NULL. Supported types include: grayscale image.
SoImageVizEngineOutput<SoSFImageDataAdapter,SoImageDataAdapter*> SoTensorVotingProcessing2d::outTensorImage |
Output tensor image.
The size (except spectral serie), calibration and interpretation of the output image are forced to the same values as the feature input. Type is forced to float. Default value is NULL. Supported types include: color image.
SoImageVizEngineOutput<SoSFImageDataAdapter,SoImageDataAdapter*> SoTensorVotingProcessing2d::outVectorImage |
Output orientation vector image.
The size (except spectral serie), calibration and interpretation of the output image are forced to the same values as the feature input. The size of the spectral serie component is forced to 2. Each vector defines the main orientation of the output tensor and its norm is equal to the saliency. Type is forced to float. Default value is NULL. Supported types include: color image.
This parameter acts on the gap length filled by the tensor voting algorithm.
It is expressed in pixels. Default value is 5.0.