**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)