ldconvo(3)

LIBRARY ROUTINE
ldconvo - Convolution sequence of 1-D signal(s)

LIBRARY CALL
#include "vinclude.h"
int
ldconvo ( image1, image2, arith_type, proc_option, process_dir )
int proc_option, arith_type, process_dir;
struct xvimage *image1, *image2;

INPUT

image1
    pointer to VIFF structure containing first image data to be processed.

image2
    pointer to VIFF structure containing second image data to be processed.

arith_type
    an integer specifying the type of arithmetic to be performed if the data is complex. A value of 0 indicates scalar arithmetic, a value of 1 indicates vector arithmetic.

proc_option
    an integer specifying what type of convolution is to be performed. If a value of 0 is passed in (the default), then a time domain convolution estimate is performed. If a 1 passed in, then a frequency domain convolution is performed.

procdir
    process direction: 0 indicated vector oriented processing, 1 indicates band oriented processing.

OUTPUT

image1
    pointer to VIFF structure containing image data after processing.

Return Value:
    1 on success, 0 on failure.

MODIFICATIONS

Jeremy Worley 24 Feb 1992 22:15 MST
    changed call to lfft1d in ldfconvo() to fft842_() since lfft1d is being phased out. Also cleaned up some implicitly defined functions and modularized ldfconvo() which resulted in the creation of a static function called _lfconvo(). Also fixed a small scaling problem with the output of ldfconvo().

DESCRIPTION
1D Convolution Estimate. Generates time domain or FFT based circular convolution estimate of a data sequence. It can operate on real and complex data. If complex data, the user has the option of using complex arithmetic (vector) or real arithmetic (scalar), which is equivalent to treating the real number and imaginary parts of the complex pair independently.

If the FFT based convolution estimate is specified and the length of the data sets is not an integral power of two, then the data sets will be zero padded to the next integral power of two prior to performing the FFT.

ldconvo does not work on explicit location data and will return an error when such a file is encountered. No output file will be created. dconvo works only on VFF_TYP_FLOAT or VFF_TYP_COMPLEX data files.

Input/Output Images

The input image must be of type VFF_TYP_FLOAT or VFF_TYP_COMPLEX. If the data is of type VFF_TYP_COMPLEX and complex aithmetic is selected then the output file will be of type VFF_TYP_FLOAT. ********************************************************************* Process direction

Data can be processed with either band or vector orientation (-d option). The default data processing direction is in the vector direction (-d = 0). This means that data stored in multiband format will be processed as a set pixel location. The direction of processing can be changed so that each band is processed as a signal (instead of each vector being a signal) by setting the -d option to 1.

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

RESTRICTIONS
works only on VFF_TYP_COMPLEX and VFF_TYP_FLOAT.

ldconvo does not work on explicit location data and will return an error when such a data file is encountered.

AUTHOR
Jeremy Worley, Ramiro Jordan

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