IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 1452


Ignore:
Timestamp:
Aug 10, 2004, 8:54:38 AM (22 years ago)
Author:
desonia
Message:

added doxygen comments.

Location:
trunk/psLib
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/psLib/psLib.kdevses

    r1404 r1452  
    22<!DOCTYPE KDevPrjSession>
    33<KDevPrjSession>
    4  <DocsAndViews NumberOfDocuments="0" />
     4 <DocsAndViews NumberOfDocuments="1" >
     5  <Doc0 NumberOfViews="1" URL="file:/home/desonia/psLib/src/dataManip/psFFT.h" >
     6   <View0 line="54" Type="???" >
     7    <AdditionalSettings Top="1" Width="1107" Attach="1" Height="529" Left="1" MinMaxMode="0" />
     8   </View0>
     9  </Doc0>
     10 </DocsAndViews>
    511 <pluginList>
    612  <kdevbookmarks>
  • trunk/psLib/src/dataManip/psFFT.c

    r1440 r1452  
    66*  @author Robert DeSonia, MHPCC
    77*
    8 *  @version $Revision: 1.20 $ $Name: not supported by cvs2svn $
    9 *  @date $Date: 2004-08-09 23:34:57 $
     8*  @version $Revision: 1.21 $ $Name: not supported by cvs2svn $
     9*  @date $Date: 2004-08-10 18:54:38 $
    1010*
    1111*  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
     
    211211}
    212212
    213 psImage* psImageComplex(psImage* out, psImage* real, const psImage* imag)
     213psImage* psImageComplex(psImage* out, const psImage* real, const psImage* imag)
    214214{
    215215    psElemType type;
     
    586586}
    587587
    588 psVector* psVectorComplex(psVector* out, psVector* real, const psVector* imag)
     588psVector* psVectorComplex(psVector* out, const psVector* real, const psVector* imag)
    589589{
    590590    psElemType type;
  • trunk/psLib/src/dataManip/psFFT.h

    r1441 r1452  
    88 *  @author Robert DeSonia, MHPCC
    99 *
    10  *  @version $Revision: 1.12 $ $Name: not supported by cvs2svn $
    11  *  @date $Date: 2004-08-09 23:40:55 $
     10 *  @version $Revision: 1.13 $ $Name: not supported by cvs2svn $
     11 *  @date $Date: 2004-08-10 18:54:38 $
    1212 *
    1313 *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
     
    2323/// @{
    2424
    25 /** Details on FFT implementation (private). */
    26 
     25/** Specify direction of FFT */
    2726typedef enum {
    28     // / psImageFFT/psVectorFFT should perform a forward FFT.
     27    /// psImageFFT/psVectorFFT should perform a forward FFT.
    2928    PS_FFT_FORWARD = (-1),
    3029
    31     ///< psImageFFT/psVectorFFT should perform a reverse FFT.
     30    /// psImageFFT/psVectorFFT should perform a reverse FFT.
    3231    PS_FFT_REVERSE = (+1)
    3332} psFftDirection;
    3433
    35 psImage* psImageFFT(psImage* out, const psImage* in, psFftDirection direction);
    36 psImage* psImageReal(psImage* out, const psImage* in);
    37 psImage* psImageImaginary(psImage* out, const psImage* in);
    38 psImage* psImageComplex(psImage* out, psImage* real, const psImage* imag);
    39 psImage* psImageConjugate(psImage* out, const psImage* in);
    40 psImage* psImagePowerSpectrum(psImage* out, const psImage* in);
     34/** Forward and reverse FFT calculations.
     35 *
     36 *  This takes as input the image of interest (in) and the direction
     37 *  (direction), which is specified by an enumerated type psFftDirection.
     38 *  The input image may be of type psF32 or psC32, the result is always
     39 *  psC32. If the input vector is psF32, the direction must be forward.
     40 * 
     41 *  @return psImage* the FFT transformation result
     42 */
     43psImage* psImageFFT(
     44    psImage* out,                      ///< a psImage to recycle.  If NULL, a new psImage is made.
     45    const psImage* in,                 ///< the psImage to apply transform to
     46    psFftDirection direction           ///< the direction of the transform
     47);
    4148
    42 psVector* psVectorFFT(psVector* out, const psVector* in, psFftDirection direction);
    43 psVector* psVectorReal(psVector* out, const psVector* in);
    44 psVector* psVectorImaginary(psVector* out, const psVector* in);
    45 psVector* psVectorComplex(psVector* out, psVector* real, const psVector* imag);
    46 psVector* psVectorConjugate(psVector* out, const psVector* in);
    47 psVector* psVectorPowerSpectrum(psVector* out, const psVector* in);
     49/** extract the real portion of a complex image
     50 *
     51 *  @return psImage*   real portion of the input image.
     52 */
     53psImage* psImageReal(
     54    psImage* out,                      ///< a psImage to recycle.  If NULL, a new psImage is made.
     55    const psImage* in                  ///< the psImage to extract real portion from
     56);
     57
     58/** extract the imaginary portion of a complex image
     59 *
     60 *  @return psImage*   imaginary portion of the input image.
     61 */
     62psImage* psImageImaginary(
     63    psImage* out,                      ///< a psImage to recycle.  If NULL, a new psImage is made.
     64    const psImage* in                  ///< the psImage to extract imaginary portion from
     65);
     66
     67/** creates a complex image from separate real and imaginary plane images
     68 *
     69 *  @return psImage*   resulting complex image
     70 */
     71psImage* psImageComplex(
     72    psImage* out,                      ///< a psImage to recycle.  If NULL, a new psImage is made.
     73    const psImage* real,               ///< the real plane image
     74    const psImage* imag                ///< the imaginary plane image
     75);
     76
     77/** computes the complex conjugate of an image
     78 *
     79 *  @return psImage*   the complex conjugate of the 'in' image
     80 */
     81psImage* psImageConjugate(
     82    psImage* out,                      ///< a psImage to recycle.  If NULL, a new psImage is made.
     83    const psImage* in                  ///< the psImage to compute conjugate of
     84);
     85
     86/** computes the power spectrum of an image
     87 *
     88 *  @return psImage*   the power spectrum of the 'in' image
     89 */
     90psImage* psImagePowerSpectrum(
     91    psImage* out,                       ///< a psImage to recycle.  If NULL, a new psImage is made.
     92    const psImage* in                   ///< the psImage to power spectrum of
     93);
     94
     95/** Forward and reverse FFT calculations.
     96 *
     97 *  This takes as input the vector of interest (in) and the direction
     98 *  (direction), which is specified by an enumerated type psFftDirection.
     99 *  The input vector may be of type psF32 or psC32, the result is always
     100 *  psC32. If the input vector is psF32, the direction must be forward.
     101 * 
     102 *  @return psVector* the FFT transformation result
     103 */
     104psVector* psVectorFFT(
     105    psVector* out,                     ///< a psVector to recycle.  If NULL, a new psVector is made.
     106    const psVector* in,                ///< the vector to apply transform to
     107    psFftDirection direction           ///< the direction of the transform
     108);
     109
     110/** extract the real portion of a complex vector
     111 *
     112 *  @return psVector*   real portion of the input vector.
     113 */
     114psVector* psVectorReal(
     115    psVector* out,                     ///< a psVector to recycle.  If NULL, a new psVector is made.
     116    const psVector* in                ///< the psVector to extract real portion from
     117);
     118
     119/** extract the imaginary portion of a complex vector
     120 *
     121 *  @return psVector*   imaginary portion of the input vector.
     122 */
     123psVector* psVectorImaginary(
     124    psVector* out,                     ///< a psVector to recycle.  If NULL, a new psVector is made.
     125    const psVector* in                 ///< the psVector to extract imaginary portion from
     126);
     127
     128/** creates a complex vector from separate real and imaginary vectors
     129 *
     130 *  @return psVector*   resulting complex vector
     131 */
     132psVector* psVectorComplex(
     133    psVector* out,                     ///< a psVector to recycle.  If NULL, a new psVector is made.
     134    const psVector* real,              ///< the real vector
     135    const psVector* imag               ///< the imaginary vector
     136);
     137
     138/** computes the complex conjugate of a vector
     139 *
     140 *  @return psVector*   the complex conjugate of the 'in' vector
     141 */
     142psVector* psVectorConjugate(
     143    psVector* out,                     ///< a psVector to recycle.  If NULL, a new psVector is made.
     144    const psVector* in                 ///< the psVector to compute conjugate of
     145);
     146
     147/** computes the power spectrum of a vector
     148 *
     149 *  @return psVector*   the power spectrum of the 'in' vector
     150 */
     151psVector* psVectorPowerSpectrum(
     152    psVector* out,                     ///< a psVector to recycle.  If NULL, a new psVector is made.
     153    const psVector* in                 ///< the psVector to power spectrum of
     154);
    48155
    49156/// @}
  • trunk/psLib/src/dataManip/psVectorFFT.c

    r1440 r1452  
    66*  @author Robert DeSonia, MHPCC
    77*
    8 *  @version $Revision: 1.20 $ $Name: not supported by cvs2svn $
    9 *  @date $Date: 2004-08-09 23:34:57 $
     8*  @version $Revision: 1.21 $ $Name: not supported by cvs2svn $
     9*  @date $Date: 2004-08-10 18:54:38 $
    1010*
    1111*  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
     
    211211}
    212212
    213 psImage* psImageComplex(psImage* out, psImage* real, const psImage* imag)
     213psImage* psImageComplex(psImage* out, const psImage* real, const psImage* imag)
    214214{
    215215    psElemType type;
     
    586586}
    587587
    588 psVector* psVectorComplex(psVector* out, psVector* real, const psVector* imag)
     588psVector* psVectorComplex(psVector* out, const psVector* real, const psVector* imag)
    589589{
    590590    psElemType type;
  • trunk/psLib/src/dataManip/psVectorFFT.h

    r1441 r1452  
    88 *  @author Robert DeSonia, MHPCC
    99 *
    10  *  @version $Revision: 1.12 $ $Name: not supported by cvs2svn $
    11  *  @date $Date: 2004-08-09 23:40:55 $
     10 *  @version $Revision: 1.13 $ $Name: not supported by cvs2svn $
     11 *  @date $Date: 2004-08-10 18:54:38 $
    1212 *
    1313 *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
     
    2323/// @{
    2424
    25 /** Details on FFT implementation (private). */
    26 
     25/** Specify direction of FFT */
    2726typedef enum {
    28     // / psImageFFT/psVectorFFT should perform a forward FFT.
     27    /// psImageFFT/psVectorFFT should perform a forward FFT.
    2928    PS_FFT_FORWARD = (-1),
    3029
    31     ///< psImageFFT/psVectorFFT should perform a reverse FFT.
     30    /// psImageFFT/psVectorFFT should perform a reverse FFT.
    3231    PS_FFT_REVERSE = (+1)
    3332} psFftDirection;
    3433
    35 psImage* psImageFFT(psImage* out, const psImage* in, psFftDirection direction);
    36 psImage* psImageReal(psImage* out, const psImage* in);
    37 psImage* psImageImaginary(psImage* out, const psImage* in);
    38 psImage* psImageComplex(psImage* out, psImage* real, const psImage* imag);
    39 psImage* psImageConjugate(psImage* out, const psImage* in);
    40 psImage* psImagePowerSpectrum(psImage* out, const psImage* in);
     34/** Forward and reverse FFT calculations.
     35 *
     36 *  This takes as input the image of interest (in) and the direction
     37 *  (direction), which is specified by an enumerated type psFftDirection.
     38 *  The input image may be of type psF32 or psC32, the result is always
     39 *  psC32. If the input vector is psF32, the direction must be forward.
     40 * 
     41 *  @return psImage* the FFT transformation result
     42 */
     43psImage* psImageFFT(
     44    psImage* out,                      ///< a psImage to recycle.  If NULL, a new psImage is made.
     45    const psImage* in,                 ///< the psImage to apply transform to
     46    psFftDirection direction           ///< the direction of the transform
     47);
    4148
    42 psVector* psVectorFFT(psVector* out, const psVector* in, psFftDirection direction);
    43 psVector* psVectorReal(psVector* out, const psVector* in);
    44 psVector* psVectorImaginary(psVector* out, const psVector* in);
    45 psVector* psVectorComplex(psVector* out, psVector* real, const psVector* imag);
    46 psVector* psVectorConjugate(psVector* out, const psVector* in);
    47 psVector* psVectorPowerSpectrum(psVector* out, const psVector* in);
     49/** extract the real portion of a complex image
     50 *
     51 *  @return psImage*   real portion of the input image.
     52 */
     53psImage* psImageReal(
     54    psImage* out,                      ///< a psImage to recycle.  If NULL, a new psImage is made.
     55    const psImage* in                  ///< the psImage to extract real portion from
     56);
     57
     58/** extract the imaginary portion of a complex image
     59 *
     60 *  @return psImage*   imaginary portion of the input image.
     61 */
     62psImage* psImageImaginary(
     63    psImage* out,                      ///< a psImage to recycle.  If NULL, a new psImage is made.
     64    const psImage* in                  ///< the psImage to extract imaginary portion from
     65);
     66
     67/** creates a complex image from separate real and imaginary plane images
     68 *
     69 *  @return psImage*   resulting complex image
     70 */
     71psImage* psImageComplex(
     72    psImage* out,                      ///< a psImage to recycle.  If NULL, a new psImage is made.
     73    const psImage* real,               ///< the real plane image
     74    const psImage* imag                ///< the imaginary plane image
     75);
     76
     77/** computes the complex conjugate of an image
     78 *
     79 *  @return psImage*   the complex conjugate of the 'in' image
     80 */
     81psImage* psImageConjugate(
     82    psImage* out,                      ///< a psImage to recycle.  If NULL, a new psImage is made.
     83    const psImage* in                  ///< the psImage to compute conjugate of
     84);
     85
     86/** computes the power spectrum of an image
     87 *
     88 *  @return psImage*   the power spectrum of the 'in' image
     89 */
     90psImage* psImagePowerSpectrum(
     91    psImage* out,                       ///< a psImage to recycle.  If NULL, a new psImage is made.
     92    const psImage* in                   ///< the psImage to power spectrum of
     93);
     94
     95/** Forward and reverse FFT calculations.
     96 *
     97 *  This takes as input the vector of interest (in) and the direction
     98 *  (direction), which is specified by an enumerated type psFftDirection.
     99 *  The input vector may be of type psF32 or psC32, the result is always
     100 *  psC32. If the input vector is psF32, the direction must be forward.
     101 * 
     102 *  @return psVector* the FFT transformation result
     103 */
     104psVector* psVectorFFT(
     105    psVector* out,                     ///< a psVector to recycle.  If NULL, a new psVector is made.
     106    const psVector* in,                ///< the vector to apply transform to
     107    psFftDirection direction           ///< the direction of the transform
     108);
     109
     110/** extract the real portion of a complex vector
     111 *
     112 *  @return psVector*   real portion of the input vector.
     113 */
     114psVector* psVectorReal(
     115    psVector* out,                     ///< a psVector to recycle.  If NULL, a new psVector is made.
     116    const psVector* in                ///< the psVector to extract real portion from
     117);
     118
     119/** extract the imaginary portion of a complex vector
     120 *
     121 *  @return psVector*   imaginary portion of the input vector.
     122 */
     123psVector* psVectorImaginary(
     124    psVector* out,                     ///< a psVector to recycle.  If NULL, a new psVector is made.
     125    const psVector* in                 ///< the psVector to extract imaginary portion from
     126);
     127
     128/** creates a complex vector from separate real and imaginary vectors
     129 *
     130 *  @return psVector*   resulting complex vector
     131 */
     132psVector* psVectorComplex(
     133    psVector* out,                     ///< a psVector to recycle.  If NULL, a new psVector is made.
     134    const psVector* real,              ///< the real vector
     135    const psVector* imag               ///< the imaginary vector
     136);
     137
     138/** computes the complex conjugate of a vector
     139 *
     140 *  @return psVector*   the complex conjugate of the 'in' vector
     141 */
     142psVector* psVectorConjugate(
     143    psVector* out,                     ///< a psVector to recycle.  If NULL, a new psVector is made.
     144    const psVector* in                 ///< the psVector to compute conjugate of
     145);
     146
     147/** computes the power spectrum of a vector
     148 *
     149 *  @return psVector*   the power spectrum of the 'in' vector
     150 */
     151psVector* psVectorPowerSpectrum(
     152    psVector* out,                     ///< a psVector to recycle.  If NULL, a new psVector is made.
     153    const psVector* in                 ///< the psVector to power spectrum of
     154);
    48155
    49156/// @}
  • trunk/psLib/src/fft/psVectorFFT.c

    r1440 r1452  
    66*  @author Robert DeSonia, MHPCC
    77*
    8 *  @version $Revision: 1.20 $ $Name: not supported by cvs2svn $
    9 *  @date $Date: 2004-08-09 23:34:57 $
     8*  @version $Revision: 1.21 $ $Name: not supported by cvs2svn $
     9*  @date $Date: 2004-08-10 18:54:38 $
    1010*
    1111*  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
     
    211211}
    212212
    213 psImage* psImageComplex(psImage* out, psImage* real, const psImage* imag)
     213psImage* psImageComplex(psImage* out, const psImage* real, const psImage* imag)
    214214{
    215215    psElemType type;
     
    586586}
    587587
    588 psVector* psVectorComplex(psVector* out, psVector* real, const psVector* imag)
     588psVector* psVectorComplex(psVector* out, const psVector* real, const psVector* imag)
    589589{
    590590    psElemType type;
  • trunk/psLib/src/fft/psVectorFFT.h

    r1441 r1452  
    88 *  @author Robert DeSonia, MHPCC
    99 *
    10  *  @version $Revision: 1.12 $ $Name: not supported by cvs2svn $
    11  *  @date $Date: 2004-08-09 23:40:55 $
     10 *  @version $Revision: 1.13 $ $Name: not supported by cvs2svn $
     11 *  @date $Date: 2004-08-10 18:54:38 $
    1212 *
    1313 *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
     
    2323/// @{
    2424
    25 /** Details on FFT implementation (private). */
    26 
     25/** Specify direction of FFT */
    2726typedef enum {
    28     // / psImageFFT/psVectorFFT should perform a forward FFT.
     27    /// psImageFFT/psVectorFFT should perform a forward FFT.
    2928    PS_FFT_FORWARD = (-1),
    3029
    31     ///< psImageFFT/psVectorFFT should perform a reverse FFT.
     30    /// psImageFFT/psVectorFFT should perform a reverse FFT.
    3231    PS_FFT_REVERSE = (+1)
    3332} psFftDirection;
    3433
    35 psImage* psImageFFT(psImage* out, const psImage* in, psFftDirection direction);
    36 psImage* psImageReal(psImage* out, const psImage* in);
    37 psImage* psImageImaginary(psImage* out, const psImage* in);
    38 psImage* psImageComplex(psImage* out, psImage* real, const psImage* imag);
    39 psImage* psImageConjugate(psImage* out, const psImage* in);
    40 psImage* psImagePowerSpectrum(psImage* out, const psImage* in);
     34/** Forward and reverse FFT calculations.
     35 *
     36 *  This takes as input the image of interest (in) and the direction
     37 *  (direction), which is specified by an enumerated type psFftDirection.
     38 *  The input image may be of type psF32 or psC32, the result is always
     39 *  psC32. If the input vector is psF32, the direction must be forward.
     40 * 
     41 *  @return psImage* the FFT transformation result
     42 */
     43psImage* psImageFFT(
     44    psImage* out,                      ///< a psImage to recycle.  If NULL, a new psImage is made.
     45    const psImage* in,                 ///< the psImage to apply transform to
     46    psFftDirection direction           ///< the direction of the transform
     47);
    4148
    42 psVector* psVectorFFT(psVector* out, const psVector* in, psFftDirection direction);
    43 psVector* psVectorReal(psVector* out, const psVector* in);
    44 psVector* psVectorImaginary(psVector* out, const psVector* in);
    45 psVector* psVectorComplex(psVector* out, psVector* real, const psVector* imag);
    46 psVector* psVectorConjugate(psVector* out, const psVector* in);
    47 psVector* psVectorPowerSpectrum(psVector* out, const psVector* in);
     49/** extract the real portion of a complex image
     50 *
     51 *  @return psImage*   real portion of the input image.
     52 */
     53psImage* psImageReal(
     54    psImage* out,                      ///< a psImage to recycle.  If NULL, a new psImage is made.
     55    const psImage* in                  ///< the psImage to extract real portion from
     56);
     57
     58/** extract the imaginary portion of a complex image
     59 *
     60 *  @return psImage*   imaginary portion of the input image.
     61 */
     62psImage* psImageImaginary(
     63    psImage* out,                      ///< a psImage to recycle.  If NULL, a new psImage is made.
     64    const psImage* in                  ///< the psImage to extract imaginary portion from
     65);
     66
     67/** creates a complex image from separate real and imaginary plane images
     68 *
     69 *  @return psImage*   resulting complex image
     70 */
     71psImage* psImageComplex(
     72    psImage* out,                      ///< a psImage to recycle.  If NULL, a new psImage is made.
     73    const psImage* real,               ///< the real plane image
     74    const psImage* imag                ///< the imaginary plane image
     75);
     76
     77/** computes the complex conjugate of an image
     78 *
     79 *  @return psImage*   the complex conjugate of the 'in' image
     80 */
     81psImage* psImageConjugate(
     82    psImage* out,                      ///< a psImage to recycle.  If NULL, a new psImage is made.
     83    const psImage* in                  ///< the psImage to compute conjugate of
     84);
     85
     86/** computes the power spectrum of an image
     87 *
     88 *  @return psImage*   the power spectrum of the 'in' image
     89 */
     90psImage* psImagePowerSpectrum(
     91    psImage* out,                       ///< a psImage to recycle.  If NULL, a new psImage is made.
     92    const psImage* in                   ///< the psImage to power spectrum of
     93);
     94
     95/** Forward and reverse FFT calculations.
     96 *
     97 *  This takes as input the vector of interest (in) and the direction
     98 *  (direction), which is specified by an enumerated type psFftDirection.
     99 *  The input vector may be of type psF32 or psC32, the result is always
     100 *  psC32. If the input vector is psF32, the direction must be forward.
     101 * 
     102 *  @return psVector* the FFT transformation result
     103 */
     104psVector* psVectorFFT(
     105    psVector* out,                     ///< a psVector to recycle.  If NULL, a new psVector is made.
     106    const psVector* in,                ///< the vector to apply transform to
     107    psFftDirection direction           ///< the direction of the transform
     108);
     109
     110/** extract the real portion of a complex vector
     111 *
     112 *  @return psVector*   real portion of the input vector.
     113 */
     114psVector* psVectorReal(
     115    psVector* out,                     ///< a psVector to recycle.  If NULL, a new psVector is made.
     116    const psVector* in                ///< the psVector to extract real portion from
     117);
     118
     119/** extract the imaginary portion of a complex vector
     120 *
     121 *  @return psVector*   imaginary portion of the input vector.
     122 */
     123psVector* psVectorImaginary(
     124    psVector* out,                     ///< a psVector to recycle.  If NULL, a new psVector is made.
     125    const psVector* in                 ///< the psVector to extract imaginary portion from
     126);
     127
     128/** creates a complex vector from separate real and imaginary vectors
     129 *
     130 *  @return psVector*   resulting complex vector
     131 */
     132psVector* psVectorComplex(
     133    psVector* out,                     ///< a psVector to recycle.  If NULL, a new psVector is made.
     134    const psVector* real,              ///< the real vector
     135    const psVector* imag               ///< the imaginary vector
     136);
     137
     138/** computes the complex conjugate of a vector
     139 *
     140 *  @return psVector*   the complex conjugate of the 'in' vector
     141 */
     142psVector* psVectorConjugate(
     143    psVector* out,                     ///< a psVector to recycle.  If NULL, a new psVector is made.
     144    const psVector* in                 ///< the psVector to compute conjugate of
     145);
     146
     147/** computes the power spectrum of a vector
     148 *
     149 *  @return psVector*   the power spectrum of the 'in' vector
     150 */
     151psVector* psVectorPowerSpectrum(
     152    psVector* out,                     ///< a psVector to recycle.  If NULL, a new psVector is made.
     153    const psVector* in                 ///< the psVector to power spectrum of
     154);
    48155
    49156/// @}
Note: See TracChangeset for help on using the changeset viewer.