BinarySmoothing3d
Transforms a binary three-dimensional image into another binary image with respect to the real local mean of each voxel neighborhood.
Access to parameter description
This algorithm computes a binary smoothing using a specified window size.
It consists of a two step procedure:
See also
Access to parameter description
This algorithm computes a binary smoothing using a specified window size.
It consists of a two step procedure:
- Computation of the local mean in the neighborhood, defined by the window size, considering foreground voxels with a value of 1 and background pixels with a value of 0.
- Thresholding of the result using the threshold parameter.
See also
Function Syntax
This function returns outputBinaryImage.
// Function prototype
std::shared_ptr< iolink::ImageView > binarySmoothing3d( std::shared_ptr< iolink::ImageView > inputBinaryImage, int32_t kernelRadiusX, int32_t kernelRadiusY, int32_t kernelRadiusZ, double threshold, std::shared_ptr< iolink::ImageView > outputBinaryImage = NULL );
This function returns outputBinaryImage.
// Function prototype. binary_smoothing_3d( input_binary_image, kernel_radius_x = 3, kernel_radius_y = 3, kernel_radius_z = 3, threshold = 0.5, output_binary_image = None )
This function returns outputBinaryImage.
// Function prototype. public static IOLink.ImageView BinarySmoothing3d( IOLink.ImageView inputBinaryImage, Int32 kernelRadiusX = 3, Int32 kernelRadiusY = 3, Int32 kernelRadiusZ = 3, double threshold = 0.5, IOLink.ImageView outputBinaryImage = null );
Class Syntax
Parameters
Parameter Name | Description | Type | Supported Values | Default Value | |
---|---|---|---|---|---|
inputBinaryImage |
The input binary image. | Image | Binary | nullptr | |
kernelRadiusX |
The kernel horizontal half length, in pixels. A value N produces a 2N+1 pixels length. | Int32 | >=1 | 3 | |
kernelRadiusY |
The kernel vertical half length, in pixels. A value N produces a 2N+1 pixels length. | Int32 | >=1 | 3 | |
kernelRadiusZ |
The kernel depth half length, in pixels. A value N produces a 2N+1 pixels length. | Int32 | >=1 | 3 | |
threshold |
The threshold value applied to the local mean (the minimum volume fraction in the window to set a pixel to 1). | Float64 | ]0, 1] | 0.5 | |
outputBinaryImage |
The output binary image. Its dimensions are forced to the same values as the input. | Image | nullptr |
Parameter Name | Description | Type | Supported Values | Default Value | |
---|---|---|---|---|---|
input_binary_image |
The input binary image. | image | Binary | None | |
kernel_radius_x |
The kernel horizontal half length, in pixels. A value N produces a 2N+1 pixels length. | int32 | >=1 | 3 | |
kernel_radius_y |
The kernel vertical half length, in pixels. A value N produces a 2N+1 pixels length. | int32 | >=1 | 3 | |
kernel_radius_z |
The kernel depth half length, in pixels. A value N produces a 2N+1 pixels length. | int32 | >=1 | 3 | |
threshold |
The threshold value applied to the local mean (the minimum volume fraction in the window to set a pixel to 1). | float64 | ]0, 1] | 0.5 | |
output_binary_image |
The output binary image. Its dimensions are forced to the same values as the input. | image | None |
Parameter Name | Description | Type | Supported Values | Default Value | |
---|---|---|---|---|---|
inputBinaryImage |
The input binary image. | Image | Binary | null | |
kernelRadiusX |
The kernel horizontal half length, in pixels. A value N produces a 2N+1 pixels length. | Int32 | >=1 | 3 | |
kernelRadiusY |
The kernel vertical half length, in pixels. A value N produces a 2N+1 pixels length. | Int32 | >=1 | 3 | |
kernelRadiusZ |
The kernel depth half length, in pixels. A value N produces a 2N+1 pixels length. | Int32 | >=1 | 3 | |
threshold |
The threshold value applied to the local mean (the minimum volume fraction in the window to set a pixel to 1). | Float64 | ]0, 1] | 0.5 | |
outputBinaryImage |
The output binary image. Its dimensions are forced to the same values as the input. | Image | null |
Object Examples
auto foam_sep = readVipImage( std::string( IMAGEDEVDATA_IMAGES_FOLDER ) + "foam_sep.vip" ); BinarySmoothing3d binarySmoothing3dAlgo; binarySmoothing3dAlgo.setInputBinaryImage( foam_sep ); binarySmoothing3dAlgo.setKernelRadiusX( 3 ); binarySmoothing3dAlgo.setKernelRadiusY( 3 ); binarySmoothing3dAlgo.setKernelRadiusZ( 3 ); binarySmoothing3dAlgo.setThreshold( 0.5 ); binarySmoothing3dAlgo.execute(); std::cout << "outputBinaryImage:" << binarySmoothing3dAlgo.outputBinaryImage()->toString();
foam_sep = imagedev.read_vip_image(imagedev_data.get_image_path("foam_sep.vip")) binary_smoothing_3d_algo = imagedev.BinarySmoothing3d() binary_smoothing_3d_algo.input_binary_image = foam_sep binary_smoothing_3d_algo.kernel_radius_x = 3 binary_smoothing_3d_algo.kernel_radius_y = 3 binary_smoothing_3d_algo.kernel_radius_z = 3 binary_smoothing_3d_algo.threshold = 0.5 binary_smoothing_3d_algo.execute() print( "output_binary_image:", str( binary_smoothing_3d_algo.output_binary_image ) )
ImageView foam_sep = Data.ReadVipImage( @"Data/images/foam_sep.vip" ); BinarySmoothing3d binarySmoothing3dAlgo = new BinarySmoothing3d { inputBinaryImage = foam_sep, kernelRadiusX = 3, kernelRadiusY = 3, kernelRadiusZ = 3, threshold = 0.5 }; binarySmoothing3dAlgo.Execute(); Console.WriteLine( "outputBinaryImage:" + binarySmoothing3dAlgo.outputBinaryImage.ToString() );
Function Examples
auto foam_sep = readVipImage( std::string( IMAGEDEVDATA_IMAGES_FOLDER ) + "foam_sep.vip" ); auto result = binarySmoothing3d( foam_sep, 3, 3, 3, 0.5 ); std::cout << "outputBinaryImage:" << result->toString();
foam_sep = imagedev.read_vip_image(imagedev_data.get_image_path("foam_sep.vip")) result = imagedev.binary_smoothing_3d( foam_sep, 3, 3, 3, 0.5 ) print( "output_binary_image:", str( result ) )
ImageView foam_sep = Data.ReadVipImage( @"Data/images/foam_sep.vip" ); IOLink.ImageView result = Processing.BinarySmoothing3d( foam_sep, 3, 3, 3, 0.5 ); Console.WriteLine( "outputBinaryImage:" + result.ToString() );