im_log_dmask(3) create a laplacian of gaussian (log)

Other Alias

im_log_imask

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.

COPYRIGHT


N. Dessipris

AUTHOR

N. Dessipris - 06/12/1991