lvbrf(3)

LIBRARY ROUTINE
lvbrf - Perform Band-reject filtering on an image in the frequency domain.

LIBRARY CALL
#include "vinclude.h"
int
lvbrf(image,order,fcut,width)
struct xvimage *image;
int  order, width;
float fcut;

INPUT

    1. image -- xvimage structure, input and output image
    2. order -- band-reject filter order;
                default value is 1
    3. fcut -- cutoff frequency radius;
               default value is 0.5
    4. width -- Band width in pixels of the filter.

OUTPUT

    1. image -- holds the result of the
                high-pass filtered image.

    image is used for both the input xvimage structure and the output result xvimage structure. This is done to save space, but you must be careful not to overwrite important data.

    lvbrf always returns 1.

MODIFICATIONS

Scott Wilson 27-Jan-91 - Removed FFT data processing code

DESCRIPTION
lvbrf performs a band-reject filtering operation on an image in the frequency domain. The filter used is a Butterworth radially symmetric band-reject filter. The filter cutoff is a radius normalized to the longest image dimension (lets you filter non-square images, but with an elliptical cutoff area). The order of the filter is an integer specifying the sharpness of the cutoff. The band width must also be specified, and is in terms of pixels.

The cutoff frequency is determined by taking 1/2 the length of the longest side of an image and normalizing that to 1. The cutoff frequency is then some value between 0 and 1. Example: take a 256x256 image, divide by 2 = 128, normalize to 1 and determine the cutoff frequency, A 0.25 cutoff would correspond to a cutoff at pixel location row or column 160.

SEE ALSO
vbrf(1), intro(3), vipl(3), verror(3), vutils(3)

RESTRICTIONS
lvbrf will complain if asked to operate on non-greyscale or non-COMPLEX input images.

Filters of high order can take a long time to do their work.

AUTHOR
Tom Sauer

COPYRIGHT
Copyright 1991, University of New Mexico. All rights reserved.