GaussianDerivative3d
Approximates the convolution of a three-dimensional image with a Gaussian kernel or its derivative.
Access to parameter description
This algorithm independently applies, on each axis, an approximation of:
Using this mode, the computation time is independent of the standard deviation.
Reference
R.Deriche. "Fast algorithms for low-level vision". IEEE Transactions on Pattern Analysis and Machine Intelligence, vol.12, no 1, pp. 78-87, Jan. 1990.
See also
Access to parameter description
This algorithm independently applies, on each axis, an approximation of:
- a Gaussian filter
- the derivative of a Gaussian filter
- the second derivative of a Gaussian filter
Using this mode, the computation time is independent of the standard deviation.
Reference
R.Deriche. "Fast algorithms for low-level vision". IEEE Transactions on Pattern Analysis and Machine Intelligence, vol.12, no 1, pp. 78-87, Jan. 1990.
See also
Function Syntax
This function returns outputImage.
// Function prototype
std::shared_ptr< iolink::ImageView > gaussianDerivative3d( std::shared_ptr< iolink::ImageView > inputImage, iolink::Vector3i32 orderDerivative, iolink::Vector3d standardDeviation, std::shared_ptr< iolink::ImageView > outputImage = NULL );
This function returns outputImage.
// Function prototype. gaussian_derivative_3d( input_image, order_derivative = [0, 0, 0], standard_deviation = [1, 1, 1], output_image = None )
This function returns outputImage.
// Function prototype. public static IOLink.ImageView GaussianDerivative3d( IOLink.ImageView inputImage, int[] orderDerivative = null, double[] standardDeviation = null, IOLink.ImageView outputImage = null );
Class Syntax
Parameters
Parameter Name | Description | Type | Supported Values | Default Value | |
---|---|---|---|---|---|
inputImage |
The input image. | Image | Binary, Label, Grayscale or Multispectral | nullptr | |
standardDeviation |
The sigma value of the Gaussian filter for each direction X, Y, and Z. Each value must be greater than or equal to 0.1. | Vector3d | >=0.1 | {1.f, 1.f, 1.f} | |
orderDerivative |
The derivation order for each direction X, Y, and Z. Each value must be 0, 1 or 2. | Vector3i32 | [0, 2] | {0, 0, 0} | |
outputImage |
The output image. Its dimensions, calibration and interpretation are forced to the same values as the input image. Its type is forced to float. | Image | nullptr |
Parameter Name | Description | Type | Supported Values | Default Value | |
---|---|---|---|---|---|
input_image |
The input image. | image | Binary, Label, Grayscale or Multispectral | None | |
standard_deviation |
The sigma value of the Gaussian filter for each direction X, Y, and Z. Each value must be greater than or equal to 0.1. | vector3d | >=0.1 | [1, 1, 1] | |
order_derivative |
The derivation order for each direction X, Y, and Z. Each value must be 0, 1 or 2. | vector3i32 | [0, 2] | [0, 0, 0] | |
output_image |
The output image. Its dimensions, calibration and interpretation are forced to the same values as the input image. Its type is forced to float. | image | None |
Parameter Name | Description | Type | Supported Values | Default Value | |
---|---|---|---|---|---|
inputImage |
The input image. | Image | Binary, Label, Grayscale or Multispectral | null | |
standardDeviation |
The sigma value of the Gaussian filter for each direction X, Y, and Z. Each value must be greater than or equal to 0.1. | Vector3d | >=0.1 | {1f, 1f, 1f} | |
orderDerivative |
The derivation order for each direction X, Y, and Z. Each value must be 0, 1 or 2. | Vector3i32 | [0, 2] | {0, 0, 0} | |
outputImage |
The output image. Its dimensions, calibration and interpretation are forced to the same values as the input image. Its type is forced to float. | Image | null |
Object Examples
auto foam = readVipImage( std::string( IMAGEDEVDATA_IMAGES_FOLDER ) + "foam.vip" ); GaussianDerivative3d gaussianDerivative3dAlgo; gaussianDerivative3dAlgo.setInputImage( foam ); gaussianDerivative3dAlgo.setOrderDerivative( {0, 0, 0} ); gaussianDerivative3dAlgo.setStandardDeviation( {1.0, 1.0, 1.0} ); gaussianDerivative3dAlgo.execute(); std::cout << "outputImage:" << gaussianDerivative3dAlgo.outputImage()->toString();
foam = imagedev.read_vip_image(imagedev_data.get_image_path("foam.vip")) gaussian_derivative_3d_algo = imagedev.GaussianDerivative3d() gaussian_derivative_3d_algo.input_image = foam gaussian_derivative_3d_algo.order_derivative = [0, 0, 0] gaussian_derivative_3d_algo.standard_deviation = [1.0, 1.0, 1.0] gaussian_derivative_3d_algo.execute() print( "output_image:", str( gaussian_derivative_3d_algo.output_image ) )
ImageView foam = Data.ReadVipImage( @"Data/images/foam.vip" ); GaussianDerivative3d gaussianDerivative3dAlgo = new GaussianDerivative3d { inputImage = foam, orderDerivative = new int[]{0, 0, 0}, standardDeviation = new double[]{1.0, 1.0, 1.0} }; gaussianDerivative3dAlgo.Execute(); Console.WriteLine( "outputImage:" + gaussianDerivative3dAlgo.outputImage.ToString() );
Function Examples
auto foam = readVipImage( std::string( IMAGEDEVDATA_IMAGES_FOLDER ) + "foam.vip" ); auto result = gaussianDerivative3d( foam, {0, 0, 0}, {1.0, 1.0, 1.0} ); std::cout << "outputImage:" << result->toString();
foam = imagedev.read_vip_image(imagedev_data.get_image_path("foam.vip")) result = imagedev.gaussian_derivative_3d( foam, [0, 0, 0], [1.0, 1.0, 1.0] ) print( "output_image:", str( result ) )
ImageView foam = Data.ReadVipImage( @"Data/images/foam.vip" ); IOLink.ImageView result = Processing.GaussianDerivative3d( foam, new int[]{0, 0, 0}, new double[]{1.0, 1.0, 1.0} ); Console.WriteLine( "outputImage:" + result.ToString() );