NAME
im_gauss_dmask, im_gauss_imask - create a gaussian DOUBLEMASK or
INTMASK
SYNOPSIS
#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.
SEE ALSO
im_log_dmask(3), im_conv(3), im_conv_sep(3).
COPYRIGHT
N. Dessipris
AUTHOR
N. Dessipris - 06/12/1991
6 December 1991 GAUSS_MASKS(3)