r640: no message
[ctsim.git] / include / fourier.h
1 /*****************************************************************************
2 ** FILE IDENTIFICATION
3 **
4 **   Name:          fourier.h
5 **   Purpose:       Header for Fourier transform functions
6 **   Programmer:    Kevin Rosenberg
7 **   Date Started:  Dec 2000
8 **
9 **  This is part of the CTSim program
10 **  Copyright (c) 1983-2001 Kevin Rosenberg
11 **
12 **  $Id: fourier.h,v 1.6 2001/03/18 18:08:25 kevin Exp $
13 **
14 **  This program is free software; you can redistribute it and/or modify
15 **  it under the terms of the GNU General Public License (version 2) as
16 **  published by the Free Software Foundation.
17 **
18 **  This program is distributed in the hope that it will be useful,
19 **  but WITHOUT ANY WARRANTY; without even the implied warranty of
20 **  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
21 **  GNU General Public License for more details.
22 **
23 **  You should have received a copy of the GNU General Public License
24 **  along with this program; if not, write to the Free Software
25 **  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
26 ******************************************************************************/
27
28 #include <complex>
29
30 class ImageFile;
31
32 class Fourier {
33 public:
34     static void shuffleFourierToNaturalOrder (ImageFile& im);
35     static void shuffleNaturalToFourierOrder (ImageFile& im);
36
37     static void shuffleNaturalToFourierOrder (float* pdVector, const int n);
38     static void shuffleNaturalToFourierOrder (double* pdVector, const int n);
39     static void shuffleNaturalToFourierOrder (std::complex<double>* pdVector, const int n);
40     static void shuffleFourierToNaturalOrder (float* pdVector, const int n);
41     static void shuffleFourierToNaturalOrder (double* pdVector, const int n);
42     static void shuffleFourierToNaturalOrder (std::complex<double>* pdVector, const int n);
43 };
44
45