BorderKill
Removes the objects connected to the borders of a segmented image.
Access to parameter description
For an introduction:
Objects connected to the image borders are identified using a numerical reconstruction from markers made of pixels of the image frame.
Figure 1. Illustration of the BorderKill algorithm
See also
See related example
Access to parameter description
For an introduction:
- section Mathematical Morphology
- section Reconstruction From Markers
Objects connected to the image borders are identified using a numerical reconstruction from markers made of pixels of the image frame.
Figure 1. Illustration of the BorderKill algorithm
See also
See related example
Function Syntax
This function returns the outputObjectImage output parameter.
// Function prototype. std::shared_ptr< iolink::ImageView > borderKill( std::shared_ptr< iolink::ImageView > inputObjectImage, BorderKill::Neighborhood neighborhood, std::shared_ptr< iolink::ImageView > outputObjectImage = NULL );
This function returns the outputObjectImage output parameter.
// Function prototype. border_kill( input_object_image, neighborhood = BorderKill.Neighborhood.CONNECTIVITY_26, output_object_image = None )
This function returns the outputObjectImage output parameter.
// Function prototype. public static IOLink.ImageView BorderKill( IOLink.ImageView inputObjectImage, BorderKill.Neighborhood neighborhood = ImageDev.BorderKill.Neighborhood.CONNECTIVITY_26, IOLink.ImageView outputObjectImage = null );
Class Syntax
Parameters
Class Name | BorderKill |
---|
Parameter Name | Description | Type | Supported Values | Default Value | |||||||
---|---|---|---|---|---|---|---|---|---|---|---|
inputObjectImage |
The input binary or label image. | Image | Binary or Label | nullptr | |||||||
neighborhood |
The 3D neighborhood configuration. This parameter is ignored with a 2D input image.
|
Enumeration | CONNECTIVITY_26 | ||||||||
outputObjectImage |
The output binary or label image. Its dimensions 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" ); BorderKill borderKillAlgo; borderKillAlgo.setInputObjectImage( foam_sep ); borderKillAlgo.setNeighborhood( BorderKill::Neighborhood::CONNECTIVITY_26 ); borderKillAlgo.execute(); std::cout << "outputObjectImage:" << borderKillAlgo.outputObjectImage()->toString();
foam_sep = imagedev.read_vip_image(imagedev_data.get_image_path("foam_sep.vip")) border_kill_algo = imagedev.BorderKill() border_kill_algo.input_object_image = foam_sep border_kill_algo.neighborhood = imagedev.BorderKill.CONNECTIVITY_26 border_kill_algo.execute() print( "output_object_image:", str( border_kill_algo.output_object_image ) );
ImageView foam_sep = Data.ReadVipImage( @"Data/images/foam_sep.vip" ); BorderKill borderKillAlgo = new BorderKill { inputObjectImage = foam_sep, neighborhood = BorderKill.Neighborhood.CONNECTIVITY_26 }; borderKillAlgo.Execute(); Console.WriteLine( "outputObjectImage:" + borderKillAlgo.outputObjectImage.ToString() );
Function Examples
auto foam_sep = readVipImage( std::string( IMAGEDEVDATA_IMAGES_FOLDER ) + "foam_sep.vip" ); auto result = borderKill( foam_sep, BorderKill::Neighborhood::CONNECTIVITY_26 ); std::cout << "outputObjectImage:" << result->toString();
foam_sep = imagedev.read_vip_image(imagedev_data.get_image_path("foam_sep.vip")) result = imagedev.border_kill( foam_sep, imagedev.BorderKill.CONNECTIVITY_26 ) print( "output_object_image:", str( result ) );
ImageView foam_sep = Data.ReadVipImage( @"Data/images/foam_sep.vip" ); IOLink.ImageView result = Processing.BorderKill( foam_sep, BorderKill.Neighborhood.CONNECTIVITY_26 ); Console.WriteLine( "outputObjectImage:" + result.ToString() );