SoPruningProcessing2d engine More...
#include <ImageViz/Engines/MathematicalMorphology/HitOrMissAndSkeleton/SoPruningProcessing2d.h>
Public Types | |
enum | PruningMode { RIGOROUS = 0, PERMISSIVE = 1 } |
Public Member Functions | |
SoPruningProcessing2d () | |
Public Attributes | |
SoSFImageDataAdapter | inBinaryImage |
SoSFEnum | pruningMode |
SoSFInt32 | maxLength |
SoImageVizEngineOutput < SoSFImageDataAdapter, SoImageDataAdapter * > | outBinaryImage |
The SoPruningProcessing2d engine prunes the result of a skeletonization. It removes all object voxels having only one neighbor. It can be applied either specifying a number of iterations or until convergence. This filter can be used for removing terminal branches from a skeleton.
The skeleton is very sensitive to small distortions on the edges of the objects, generating artefacts. The SoPruningProcessing2d engine eliminates these artefacts by thinning with the following structuring element until convergence.
The corresponding structuring element is:
The problem is to determine the number of iterations for the pruning as thinning until convergence will remove all the skeletons except loops and branches intersecting the frame of the image in permissive mode. The strict mode will also stop when an intersection or a right angle is encountered.
See also: SoSkeletonProcessing, SoPruningProcessing3d.
inBinaryImage | NULL |
pruningMode | RIGOROUS |
maxLength | 1 |
RIGOROUS |
Each iteration removes only the end points as defined in SoEndPointsProcessing2d. Using this mode, the pruning stops when an intersection or a right angle is encountered. |
PERMISSIVE |
A skeletonization is reapplied between two iterations. Using this mode, only the closed-loops are kept. |
SoPruningProcessing2d::SoPruningProcessing2d | ( | ) |
Constructor.
The input image.
Supported types include: binary. Default value is NULL. Supported types include: binary image.
Enter the number of iterations (0:until convergence) Default value is 1.
SoImageVizEngineOutput<SoSFImageDataAdapter,SoImageDataAdapter*> SoPruningProcessing2d::outBinaryImage |
The output binary image.
Default value is NULL. Supported types include: binary image.
End point mode Use enum PruningMode.
Default is RIGOROUS