lvbpf(3)

LIBRARY ROUTINE
lvbpf - Perform Band-pass filtering on an image in the frequency domain.

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

INPUT

    1. image -- xvimage structure, input and output image ,br 2. order -- band-pass 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.

    lvbpf always returns 1.

MODIFICATIONS

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

DESCRIPTION
lvbpf performs a band-pass filtering operation on an image in the frequency domain. The filter used is a Butterworth radially symmetric band-pass 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
vbpf(1), intro(3), vipl(3), verror(3), vutils(3)

RESTRICTIONS
lvbpf will complain if asked to operate on non-greyscale or non-COMPLEX input images (images not in thge frequency domain).

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.