Main Page | Modules | Alphabetical List | Data Structures | Directories | File List | Data Fields | Globals

psImageFFT.h

Go to the documentation of this file.
00001 /** @file  psImageFFT.h
00002  *
00003  *  @brief Contains FFT transform related functions for psImage
00004  *
00005  *  @ingroup Transform
00006  *
00007  *  @author Robert DeSonia, MHPCC
00008  *
00009  *  @version $Revision: 1.1.1.1 $ $Name:  $
00010  *  @date $Date: 2005/09/14 20:42:48 $
00011  *
00012  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
00013  */
00014 
00015 #ifndef PS_IMAGE_FFT_H
00016 #define PS_IMAGE_FFT_H
00017 
00018 #include "psImage.h"
00019 #include "psVectorFFT.h"               // for psFFTFlags
00020 
00021 /// @addtogroup Transform
00022 /// @{
00023 
00024 /** Forward and reverse FFT calculations.
00025  *
00026  *  This takes as input the image of interest (in) and the direction
00027  *  (direction), which is specified by an enumerated type psFftDirection.
00028  *  The input image may be of type psF32 or psC32, the result is always
00029  *  psC32. If the input vector is psF32, the direction must be forward.
00030  *
00031  *  @return psImage* the FFT transformation result
00032  */
00033 psImage* psImageFFT(
00034     psImage* out,                      ///< a psImage to recycle.  If NULL, a new psImage is made.
00035     const psImage* image,              ///< the psImage to apply transform to
00036     psFFTFlags direction               ///< the direction of the transform
00037 );
00038 
00039 /** extract the real portion of a complex image
00040  *
00041  *  @return psImage*   real portion of the input image.
00042  */
00043 psImage* psImageReal(
00044     psImage* out,                      ///< a psImage to recycle.  If NULL, a new psImage is made.
00045     const psImage* in                  ///< the psImage to extract real portion from
00046 );
00047 
00048 /** extract the imaginary portion of a complex image
00049  *
00050  *  @return psImage*   imaginary portion of the input image.
00051  */
00052 psImage* psImageImaginary(
00053     psImage* out,                      ///< a psImage to recycle.  If NULL, a new psImage is made.
00054     const psImage* in                  ///< the psImage to extract imaginary portion from
00055 );
00056 
00057 /** creates a complex image from separate real and imaginary plane images
00058  *
00059  *  @return psImage*   resulting complex image
00060  */
00061 psImage* psImageComplex(
00062     psImage* out,                      ///< a psImage to recycle.  If NULL, a new psImage is made.
00063     const psImage* real,               ///< the real plane image
00064     const psImage* imag                ///< the imaginary plane image
00065 );
00066 
00067 /** computes the complex conjugate of an image
00068  *
00069  *  @return psImage*   the complex conjugate of the 'in' image
00070  */
00071 psImage* psImageConjugate(
00072     psImage* out,                      ///< a psImage to recycle.  If NULL, a new psImage is made.
00073     const psImage* in                  ///< the psImage to compute conjugate of
00074 );
00075 
00076 /** computes the power spectrum of an image
00077  *
00078  *  @return psImage*   the power spectrum of the 'in' image
00079  */
00080 psImage* psImagePowerSpectrum(
00081     psImage* out,                      ///< a psImage to recycle.  If NULL, a new psImage is made.
00082     const psImage* in                  ///< the psImage to power spectrum of
00083 );
00084 
00085 /// @}
00086 
00087 #endif // #ifndef PS_IMAGE_FFT_H

Generated on Wed Sep 14 10:42:48 2005 for Pan-STARRS Foundation Library by  doxygen 1.4.2