GaussianDerivative2d
            Approximates the convolution of a two-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 the outputImage output parameter.
                        
                    
// Function prototype.
std::shared_ptr< iolink::ImageView >
gaussianDerivative2d( std::shared_ptr< iolink::ImageView > inputImage,
                      iolink::Vector2i32 orderDerivative,
                      iolink::Vector2d standardDeviation,
                      std::shared_ptr< iolink::ImageView > outputImage = NULL );
                    
This function returns the outputImage output parameter.
                        
                    
// Function prototype.
gaussian_derivative_2d( input_image,
                        order_derivative = [0, 0],
                        standard_deviation = [1, 1],
                        output_image = None )
                    
This function returns the outputImage output parameter.
                        
                
// Function prototype.
public static IOLink.ImageView
GaussianDerivative2d( IOLink.ImageView inputImage,
                      int[] orderDerivative = null,
                      double[] standardDeviation = null,
                      IOLink.ImageView outputImage = null );
                    Class Syntax
Parameters
| Class Name | GaussianDerivative2d | 
|---|
| 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 and Y. Each value must be greater than or equal to 0.1. | Vector2d | >=0.1 | {1.f, 1.f} | 
![]()  | 
  orderDerivative    | 
 The derivation order for each direction X and Y. Each value must be 0, 1 or 2. | Vector2i32 | [0, 2] | {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 | |
Object Examples
std::shared_ptr< iolink::ImageView > polystyrene = ioformat::readImage( std::string( IMAGEDEVDATA_IMAGES_FOLDER ) + "polystyrene.tif" );
GaussianDerivative2d gaussianDerivative2dAlgo;
gaussianDerivative2dAlgo.setInputImage( polystyrene );
gaussianDerivative2dAlgo.setOrderDerivative( {0, 0} );
gaussianDerivative2dAlgo.setStandardDeviation( {1.0, 1.0} );
gaussianDerivative2dAlgo.execute();
std::cout << "outputImage:" << gaussianDerivative2dAlgo.outputImage()->toString();
            
polystyrene = ioformat.read_image(imagedev_data.get_image_path("polystyrene.tif"))
gaussian_derivative_2d_algo = imagedev.GaussianDerivative2d()
gaussian_derivative_2d_algo.input_image = polystyrene
gaussian_derivative_2d_algo.order_derivative = [0, 0]
gaussian_derivative_2d_algo.standard_deviation = [1.0, 1.0]
gaussian_derivative_2d_algo.execute()
print( "output_image:", str( gaussian_derivative_2d_algo.output_image ) );
            
ImageView polystyrene = ViewIO.ReadImage( @"Data/images/polystyrene.tif" );
GaussianDerivative2d gaussianDerivative2dAlgo = new GaussianDerivative2d
{
    inputImage = polystyrene,
    orderDerivative = new int[]{0, 0},
    standardDeviation = new double[]{1.0, 1.0}
};
gaussianDerivative2dAlgo.Execute();
Console.WriteLine( "outputImage:" + gaussianDerivative2dAlgo.outputImage.ToString() );
            Function Examples
std::shared_ptr< iolink::ImageView > polystyrene = ioformat::readImage( std::string( IMAGEDEVDATA_IMAGES_FOLDER ) + "polystyrene.tif" );
auto result = gaussianDerivative2d( polystyrene, {0, 0}, {1.0, 1.0} );
std::cout << "outputImage:" << result->toString();
            
polystyrene = ioformat.read_image(imagedev_data.get_image_path("polystyrene.tif"))
result = imagedev.gaussian_derivative_2d( polystyrene, [0, 0], [1.0, 1.0] )
print( "output_image:", str( result ) );
            
ImageView polystyrene = ViewIO.ReadImage( @"Data/images/polystyrene.tif" );
IOLink.ImageView result = Processing.GaussianDerivative2d( polystyrene, new int[]{0, 0}, new double[]{1.0, 1.0} );
Console.WriteLine( "outputImage:" + result.ToString() );
            
