TriplePoints2d
Point detector selecting triple points of a skeleton in a two-dimensional binary image.
Access to parameter description
For an introduction:
$$ \begin{array}{ccc} \times & 1 & \times\\ \times & 1 & \times\\ 1 & \times & 1 \end{array} ~~~~~~~ \begin{array}{ccc} 1 & \times & \times\\ \times & 1 & \times\\ 1 & \times & 1 \end{array} $$
Segmentation of particles:
In the following figure, it is possible to differentiate particles by counting their number of triple points (in black) and their number of extremities (in gray).
Figure 1. Skeleton, end points, and triple points
See also
Access to parameter description
For an introduction:
- section Mathematical Morphology
- section Point Detectors
$$ \begin{array}{ccc} \times & 1 & \times\\ \times & 1 & \times\\ 1 & \times & 1 \end{array} ~~~~~~~ \begin{array}{ccc} 1 & \times & \times\\ \times & 1 & \times\\ 1 & \times & 1 \end{array} $$
Segmentation of particles:
In the following figure, it is possible to differentiate particles by counting their number of triple points (in black) and their number of extremities (in gray).
Figure 1. Skeleton, end points, and triple points
See also
Function Syntax
This function returns outputBinaryImage.
// Function prototype
std::shared_ptr< iolink::ImageView > triplePoints2d( std::shared_ptr< iolink::ImageView > inputBinaryImage, std::shared_ptr< iolink::ImageView > outputBinaryImage = NULL );
This function returns outputBinaryImage.
// Function prototype. triple_points_2d( input_binary_image, output_binary_image = None )
This function returns outputBinaryImage.
// Function prototype. public static IOLink.ImageView TriplePoints2d( IOLink.ImageView inputBinaryImage, IOLink.ImageView outputBinaryImage = null );
Class Syntax
Parameters
Class Name | TriplePoints2d |
---|
Parameter Name | Description | Type | Supported Values | Default Value | |
---|---|---|---|---|---|
inputBinaryImage |
The binary input image. | Image | Binary | nullptr | |
outputBinaryImage |
The binary output image. Its size and type are forced to the same values as the input. | Image | nullptr |
Object Examples
auto polystyrene_sep = readVipImage( std::string( IMAGEDEVDATA_IMAGES_FOLDER ) + "polystyrene_sep.vip" ); TriplePoints2d triplePoints2dAlgo; triplePoints2dAlgo.setInputBinaryImage( polystyrene_sep ); triplePoints2dAlgo.execute(); std::cout << "outputBinaryImage:" << triplePoints2dAlgo.outputBinaryImage()->toString();
polystyrene_sep = imagedev.read_vip_image(imagedev_data.get_image_path("polystyrene_sep.vip")) triple_points_2d_algo = imagedev.TriplePoints2d() triple_points_2d_algo.input_binary_image = polystyrene_sep triple_points_2d_algo.execute() print( "output_binary_image:", str( triple_points_2d_algo.output_binary_image ) )
ImageView polystyrene_sep = Data.ReadVipImage( @"Data/images/polystyrene_sep.vip" ); TriplePoints2d triplePoints2dAlgo = new TriplePoints2d { inputBinaryImage = polystyrene_sep }; triplePoints2dAlgo.Execute(); Console.WriteLine( "outputBinaryImage:" + triplePoints2dAlgo.outputBinaryImage.ToString() );
Function Examples
auto polystyrene_sep = readVipImage( std::string( IMAGEDEVDATA_IMAGES_FOLDER ) + "polystyrene_sep.vip" ); auto result = triplePoints2d( polystyrene_sep ); std::cout << "outputBinaryImage:" << result->toString();
polystyrene_sep = imagedev.read_vip_image(imagedev_data.get_image_path("polystyrene_sep.vip")) result = imagedev.triple_points_2d( polystyrene_sep ) print( "output_binary_image:", str( result ) )
ImageView polystyrene_sep = Data.ReadVipImage( @"Data/images/polystyrene_sep.vip" ); IOLink.ImageView result = Processing.TriplePoints2d( polystyrene_sep ); Console.WriteLine( "outputBinaryImage:" + result.ToString() );