Other Alias
im_gauss_dmaskSYNOPSIS
#include <vips/vips.h>
DOUBLEMASK im_gauss_dmask( name, sigma, min_amplitude )
char *name;
double sigma, min_amplitude;
INTMASK im_gauss_imask( name, sigma, min_amplitude )
char *name;
double sigma, min_amplitude;
INTMASK im_gauss_imask_sep( name, sigma, min_amplitude )
char *name;
double sigma, min_amplitude;
DESCRIPTION
Both functions create a circularly symmetric Gaussian mask of sigma. The size of the mask is determined by the variable min_amplitude; if for instance the value .1 is entered this means that the produced mask is clipped at values less than 10 percent of the maximum amplitude. The mask can be directly used with the vasari convolution programs, the default offset set is 0.The program uses the following equation:
H(r) = exp( -(r * r) / (2 * sigma * sigma) ).
The generated mask has odd size and its maximum value is normalised to either 100 (gauss_imask) or to 1.0 (gauss_dmask).
im_gauss_dmask(3) creates a DOUBLEMASK laplacian of Gaussian mask with maximum value normalised to 1.0.
im_gauss_imask(3) creates a INTMASK laplacian of Gaussian mask with maximum value normalised to 100.
im_gauss_imask_sep(3) returns the centre line of im_gauss_imask(3). It is convenient for use with im_conv_sep(3) for building fast gaussian blur or sharpen.
RETURNED VALUE:
The functions return NULL on erorr.COPYRIGHT
N. Dessipris
AUTHOR
N. Dessipris - 06/12/1991