** Date Started: June 2000
**
** This is part of the CTSim program
-** Copyright (C) 1983-2000 Kevin Rosenberg
+** Copyright (c) 1983-2001 Kevin Rosenberg
**
-** $Id: procsignal.h,v 1.8 2000/12/16 06:12:47 kevin Exp $
+** $Id: procsignal.h,v 1.13 2001/01/28 19:10:18 kevin Exp $
**
** This program is free software; you can redistribute it and/or modify
** it under the terms of the GNU General Public License (version 2) as
class SignalFilter;
class SGP;
+typedef std::complex<double> CTSimComplex;
+
+
class ProcessSignal {
public:
static const int FILTER_METHOD_INVALID;
static const int FILTER_GENERATION_DIRECT;
static const int FILTER_GENERATION_INVERSE_FOURIER;
+ enum {
+ FORWARD = -1,
+ BACKWARD = 1,
+ };
+
ProcessSignal (const char* szFilterName, const char* szFilterMethodName,double bw, double signalIncrement, int n, double param, const char* szDomainName, const char* szFilterGenerationName, const int zeropad = 0, const int preinterpolationFactor = 1, const int iTraceLevel = Trace::TRACE_NONE, int iGeometry = Scanner::GEOMETRY_PARALLEL, double dFocalLength = 1., SGP* pSGP = NULL);
~ProcessSignal();
static void finiteFourierTransform (const std::complex<double> input[], double output[], const int n, const int direction);
- static void shuffleNaturalToFourierOrder (double* pdVector, const int n);
-
- static void shuffleFourierToNaturalOrder (double* pdVector, const int n);
-
private:
std::string m_nameFilterMethod;
std::string m_nameFilterGeneration;