RETRO (vipl) functions
LIBRARY ROUTINE
lvmarr - create the Marr Laplacian of Gaussian convolution kernel
LIBRARY CALL
int lvmarr (
xvimage **image,
int rows,
int cols,
float var)
INPUT
- image - pointer to VIFF structure containing image data to be
processed.
- rows - number of rows in kernel.
- cols - number of columns in kernel.
- var - the variance of the Gaussian
OUTPUT
- image - pointer to VIFF structure containing image data after
processing.
RETURN VALUE
TRUE (1) on success, FALSE (0) on failure
DESCRIPTION
This routine creates a convolution filter kernel using the
following equation.
pixel = [-1/(PI*var*var)]*[1-r*r/(2*var)]*exp[-r*r/(2*var)],
where r is the calculated distance from the center of the
kernel.
A Marr filter is the Laplacian of a Gaussian, and is intended
for high lighting image edges and at the same time smooth out
the noise. vmarr creates image data of type float.
ADDITIONAL INFORMATION
none
EXAMPLES
none
SIDE EFFECTS
none
RESTRICTIONS
only generates float kernels
MODIFICATION
John Rasure, Marcelo Teran, Ramiro Jordan, Tom Sauer 7/12/89 -
changed the Laplacian of a Gaussian operator. The new
operator was taken from IEEE Transactions on Pattern Analysis
and Machine Intelligence, Vol 11 No. 4, April 1989.
Jeremy Worley 7/02/90 - minor modifications to code so that it
conforms to Khoros conventions. Added error check on kernel
dimensions. No functional changes.
Robert Estes 4/25/90 - changed the code to implement a
true Log
FILES
$RETRO/objects/library/vipl/src/lvmarr.c
SEE ALSO
vipl(3)
COPYRIGHT
Copyright (C) 1993 - 1997, Khoral Research, Inc. ("KRI") All rights reserved.