ldifft1d(3)

LIBRARY ROUTINE
ldifft1d - Inverse 1D Discrete Fourier Transform.

LIBRARY CALL
#include "vinclude.h"
int
ldifft1d ( image, center_opt, scale_opt, process_dir )
struct xvimage  *image;
int             center_opt,
                scale_opt,
                process_dir;

INPUT

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

center_opt
    centering choice: 0 for not centered, 1 for centered.

scale_opt
    scaling choice: 0 for no scaling, 1 for multiplying by 1/n, 2 for multiplying by 1/sqrt(n), where n is the number of data points.

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

OUTPUT

image
    pointer to VIFF structure containing image data after processing.

Return Value:
    1 on success, 0 on failure.

MODIFICATIONS

Jeremy Worley 07 Jun 1989 16:14 MDT
    fixed call to lvrtoc() at the top of the library code

Jeremy Worley 29 May 1990 13:21 MDT
    fixed type cast problem in 1/sqrt() scaling option

Jeremy Worley 03 Feb 1992 10:45 MST
    altered code to call fortran multi-radix fft in libvipl for efficiency

Jeremy Worley 19 Feb 1992 09:33 MST
    added explicit declarations for dunload_vector(), ldshift(), and fft842_();

Jeremy Worley 05 Mar 1992 10:49 MST
    Fixed a call to fprintf that was incorrect.

DESCRIPTION
performs the 1D inverse Fourier transform on a set of data sequences. It can operate on Real and Complex data. NOTE: complex data is expected to be in rectangular (not polar) form. The output data type is VFF_TYP_COMPLEX.

The transform can be centered about its N/2 term by setting the -c option to 1. If -c is set to 0, the transform will not be centered (This is the default setting.).

The output data can be scaled by 1/N or by 1/sqrt(N) if desired by using the -s option. The default setting is to leave the output data unscaled (-s = 0). If -s is set to 1, the output data is scaled by 1/N, where N in the number of points in the data sequence. The output can be scaled by 1/sqrt(N) by setting -s to 2.

The default data processing direction for difft1d is in the vector direction. This means that data stored in multiband format will be processed as a set of data sequences, where each sequence corresponds to a pixel location, and the points of each sequence are defined by the bands corresponding to that 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
difft1d(1), intro(3), vipl(3), verror(3), vutils(3)

RESTRICTIONS

AUTHOR
Ramiro Jordan and Donna Koechner

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