GAUSS_MASKS

Section: C Library Functions (3)
Updated: 6 December 1991
Index Return to Main Contents
 

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