VariationFilter3d
Computes, for each voxel of a three-dimensional image, the variation value of its neighborhood.
Access to parameter description
For an introduction:
The shape of the neighborhood can be:
Access to parameter description
For an introduction:
- section Images Filtering.
- section First Order Statistics Filters.
The shape of the neighborhood can be:
- A cube with a half side length defined by the kernelRadius parameter,
- A ball with a radius defined by the kernelRadius parameter.
Function Syntax
This function returns the outputImage output parameter.
// Function prototype.
std::shared_ptr< iolink::ImageView >
variationFilter3d( std::shared_ptr< iolink::ImageView > inputImage,
VariationFilter3d::KernelShape kernelShape,
uint32_t kernelRadius,
std::shared_ptr< iolink::ImageView > outputImage = NULL );
This function returns the outputImage output parameter.
// Function prototype.
variation_filter_3d( input_image,
kernel_shape = VariationFilter3d.KernelShape.BALL,
kernel_radius = 3,
output_image = None )
This function returns the outputImage output parameter.
// Function prototype.
public static IOLink.ImageView
VariationFilter3d( IOLink.ImageView inputImage,
VariationFilter3d.KernelShape kernelShape = ImageDev.VariationFilter3d.KernelShape.BALL,
UInt32 kernelRadius = 3,
IOLink.ImageView outputImage = null );
Class Syntax
Parameters
| Class Name | VariationFilter3d |
|---|
| Parameter Name | Description | Type | Supported Values | Default Value | |||||
|---|---|---|---|---|---|---|---|---|---|
![]() |
inputImage |
The input image. | Image | Binary, Label, Grayscale or Multispectral | nullptr | ||||
![]() |
kernelRadius |
The shape of the window defining the neighborhood. | UInt32 | >=1 | 3 | ||||
![]() |
kernelShape |
The kernel half side length or radius, in voxels. In case of a cube, a value N produces a cube window of 2N+1 voxels side length. In case of a ball, a value N produces a ball with a 2N+1 voxels diameter.
|
Enumeration | BALL | |||||
![]() |
outputImage |
The output image. Its dimensions are forced to the same values as the input. Its data type is forced to floating point. | Image | nullptr | |||||
Object Examples
auto foam = readVipImage( std::string( IMAGEDEVDATA_IMAGES_FOLDER ) + "foam.vip" ); VariationFilter3d variationFilter3dAlgo; variationFilter3dAlgo.setInputImage( foam ); variationFilter3dAlgo.setKernelShape( VariationFilter3d::KernelShape::CUBE ); variationFilter3dAlgo.setKernelRadius( 3 ); variationFilter3dAlgo.execute(); std::cout << "outputImage:" << variationFilter3dAlgo.outputImage()->toString();
foam = imagedev.read_vip_image(imagedev_data.get_image_path("foam.vip"))
variation_filter_3d_algo = imagedev.VariationFilter3d()
variation_filter_3d_algo.input_image = foam
variation_filter_3d_algo.kernel_shape = imagedev.VariationFilter3d.CUBE
variation_filter_3d_algo.kernel_radius = 3
variation_filter_3d_algo.execute()
print( "output_image:", str( variation_filter_3d_algo.output_image ) );
ImageView foam = Data.ReadVipImage( @"Data/images/foam.vip" );
VariationFilter3d variationFilter3dAlgo = new VariationFilter3d
{
inputImage = foam,
kernelShape = VariationFilter3d.KernelShape.CUBE,
kernelRadius = 3
};
variationFilter3dAlgo.Execute();
Console.WriteLine( "outputImage:" + variationFilter3dAlgo.outputImage.ToString() );
Function Examples
auto foam = readVipImage( std::string( IMAGEDEVDATA_IMAGES_FOLDER ) + "foam.vip" ); auto result = variationFilter3d( foam, VariationFilter3d::KernelShape::CUBE, 3 ); std::cout << "outputImage:" << result->toString();
foam = imagedev.read_vip_image(imagedev_data.get_image_path("foam.vip"))
result = imagedev.variation_filter_3d( foam, imagedev.VariationFilter3d.CUBE, 3 )
print( "output_image:", str( result ) );
ImageView foam = Data.ReadVipImage( @"Data/images/foam.vip" ); IOLink.ImageView result = Processing.VariationFilter3d( foam, VariationFilter3d.KernelShape.CUBE, 3 ); Console.WriteLine( "outputImage:" + result.ToString() );

