EndPoints3d
Point detector selecting end points of a three-dimensional binary image.
Access to parameter description
For an introduction:
This algorithm is a point detector that selects end points of a skeleton (all object voxels having only one neighbor).
The skeleton is first detected, and then this algorithm performs a hit-or-miss transform (HMT) with the following configuration and its 25 associated rotations: 0000×0000 000010000 000000000 Where × means "don't care".
See also
Access to parameter description
For an introduction:
- section Mathematical Morphology
- section Point Detectors
This algorithm is a point detector that selects end points of a skeleton (all object voxels having only one neighbor).
The skeleton is first detected, and then this algorithm performs a hit-or-miss transform (HMT) with the following configuration and its 25 associated rotations: 0000×0000 000010000 000000000 Where × means "don't care".
See also
Function Syntax
This function returns outputBinaryImage.
// Function prototype
std::shared_ptr< iolink::ImageView > endPoints3d( std::shared_ptr< iolink::ImageView > inputBinaryImage, EndPoints3d::BorderCondition borderCondition, EndPoints3d::Neighborhood neighborhood, std::shared_ptr< iolink::ImageView > outputBinaryImage = NULL );
Class Syntax
Parameters
Parameter Name | Description | Type | Supported Values | Default Value | |||||||
---|---|---|---|---|---|---|---|---|---|---|---|
![]() |
inputBinaryImage |
The binary input image. | Image | Binary | nullptr | ||||||
![]() |
borderCondition |
The way to consider voxels out of image borders.
|
Enumeration | ZERO | |||||||
![]() |
neighborhood |
The 3D neighborhood configuration.
|
Enumeration | CONNECTIVITY_26 | |||||||
![]() |
outputBinaryImage |
The binary output image. Its size and type are forced to the same values as the input. | Image | nullptr |
Object Examples
auto foam_sep = readVipImage( std::string( IMAGEDEVDATA_IMAGES_FOLDER ) + "foam_sep.vip" ); EndPoints3d endPoints3dAlgo; endPoints3dAlgo.setInputBinaryImage( foam_sep ); endPoints3dAlgo.setBorderCondition( EndPoints3d::BorderCondition::ZERO ); endPoints3dAlgo.setNeighborhood( EndPoints3d::Neighborhood::CONNECTIVITY_26 ); endPoints3dAlgo.execute(); std::cout << "outputBinaryImage:" << endPoints3dAlgo.outputBinaryImage()->toString();
Function Examples
auto foam_sep = readVipImage( std::string( IMAGEDEVDATA_IMAGES_FOLDER ) + "foam_sep.vip" ); auto result = endPoints3d( foam_sep, EndPoints3d::BorderCondition::ZERO, EndPoints3d::Neighborhood::CONNECTIVITY_26 ); std::cout << "outputBinaryImage:" << result->toString();