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