SelectiveClosing3d
Closes objects of a three-dimensional binary image conditionally to a local constraint.
Access to parameter description
For an introduction:
It can be applied only on binary images. Using a threshold of 1 amounts to applying a standard morphological closing.
This operator is smoother than the classic closing, and softens the appearance of the structuring element in the filtered image.
See also
Access to parameter description
For an introduction:
- section Mathematical Morphology
- section Introduction To Closing
It can be applied only on binary images. Using a threshold of 1 amounts to applying a standard morphological closing.
This operator is smoother than the classic closing, and softens the appearance of the structuring element in the filtered image.
See also
Function Syntax
This function returns the outputBinaryImage output parameter.
// Function prototype. std::shared_ptr< iolink::ImageView > selectiveClosing3d( std::shared_ptr< iolink::ImageView > inputBinaryImage, uint32_t numberOfIterations, uint32_t threshold, std::shared_ptr< iolink::ImageView > outputBinaryImage = NULL );
This function returns the outputBinaryImage output parameter.
// Function prototype. selective_closing_3d( input_binary_image, number_of_iterations = 3, threshold = 14, output_binary_image = None )
This function returns the outputBinaryImage output parameter.
// Function prototype. public static IOLink.ImageView SelectiveClosing3d( IOLink.ImageView inputBinaryImage, UInt32 numberOfIterations = 3, UInt32 threshold = 14, IOLink.ImageView outputBinaryImage = null );
Class Syntax
Parameters
Class Name | SelectiveClosing3d |
---|
Parameter Name | Description | Type | Supported Values | Default Value | |
---|---|---|---|---|---|
inputBinaryImage |
The binary input image. | Image | Binary | nullptr | |
numberOfIterations |
The number of iterations. | UInt32 | >=1 | 3 | |
threshold |
The minimum number of neighbors that is required to transform a pixel. | UInt32 | [1, 26] | 14 | |
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" ); SelectiveClosing3d selectiveClosing3dAlgo; selectiveClosing3dAlgo.setInputBinaryImage( foam_sep ); selectiveClosing3dAlgo.setNumberOfIterations( 3 ); selectiveClosing3dAlgo.setThreshold( 14 ); selectiveClosing3dAlgo.execute(); std::cout << "outputBinaryImage:" << selectiveClosing3dAlgo.outputBinaryImage()->toString();
foam_sep = imagedev.read_vip_image(imagedev_data.get_image_path("foam_sep.vip")) selective_closing_3d_algo = imagedev.SelectiveClosing3d() selective_closing_3d_algo.input_binary_image = foam_sep selective_closing_3d_algo.number_of_iterations = 3 selective_closing_3d_algo.threshold = 14 selective_closing_3d_algo.execute() print( "output_binary_image:", str( selective_closing_3d_algo.output_binary_image ) );
ImageView foam_sep = Data.ReadVipImage( @"Data/images/foam_sep.vip" ); SelectiveClosing3d selectiveClosing3dAlgo = new SelectiveClosing3d { inputBinaryImage = foam_sep, numberOfIterations = 3, threshold = 14 }; selectiveClosing3dAlgo.Execute(); Console.WriteLine( "outputBinaryImage:" + selectiveClosing3dAlgo.outputBinaryImage.ToString() );
Function Examples
auto foam_sep = readVipImage( std::string( IMAGEDEVDATA_IMAGES_FOLDER ) + "foam_sep.vip" ); auto result = selectiveClosing3d( foam_sep, 3, 14 ); std::cout << "outputBinaryImage:" << result->toString();
foam_sep = imagedev.read_vip_image(imagedev_data.get_image_path("foam_sep.vip")) result = imagedev.selective_closing_3d( foam_sep, 3, 14 ) print( "output_binary_image:", str( result ) );
ImageView foam_sep = Data.ReadVipImage( @"Data/images/foam_sep.vip" ); IOLink.ImageView result = Processing.SelectiveClosing3d( foam_sep, 3, 14 ); Console.WriteLine( "outputBinaryImage:" + result.ToString() );