NAME
im_log_dmask, im_log_imask - create a laplacian of gaussian (log)
DOUBLEMASK or INTMASK
SYNOPSIS
#include <vips/vips.h>
DOUBLEMASK *im_log_dmask( name, sigma, min_amplitude )
char *name;
double sigma, min_amplitude;
INTMASK *im_log_imask( name, sigma, min_amplitude )
char *name;
double sigma, min_amplitude;
DESCRIPTION
Both functions create a circularly symmetric laplacian of Gaussian
mask. 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 within 10 persent of zero, and
where the change between mask elements is less than 10%. The mask can
be directly used with the vasari convolution programs, the default
offset set is 0.
The program uses the following equation: (from Handbook of Pattern
Recognition and image processing by Young and Fu, AP 1986 pages
220-221):
H(r) = (1 / (2 * M_PI * s4)) *
(2 - (r2 / s2)) * exp(-r2 / (2 * s2))
where s2 = sigma * sigma, s4=s2 * s2, r2 = r * r. The generated mask
has odd size and its maximum value is normalised to either 100
(log_imask) or to 1.0 (log_dmask)
im_log_dmask() creates a DOUBLEMASK laplacian of Gaussian mask with
maximum value normalised to 1.0.
im_log_imask() creates a INTMASK laplacian of Gaussian mask with
maximum value normalised to 100.
RETURNED VALUE:
The functions return NULL on erorr.
SEE ALSO
im_gauss_dmask(3), im_conv(3)
COPYRIGHT
N. Dessipris
AUTHOR
N. Dessipris - 06/12/1991
6 December 1991 LOG_MASKS(3)