Isis 3 Programmer Reference
FourierTransform.h
1 #ifndef FourierTransform_h
2 #define FourierTransform_h
3 
8 /* SPDX-License-Identifier: CC0-1.0 */
9 
10 #include <complex>
11 #include <vector>
12 #include "Constants.h"
13 
14 namespace Isis {
34  public:
37  std::vector< std::complex<double> > Transform(std::vector< std::complex<double> > input);
38  std::vector< std::complex<double> > Inverse(std::vector< std::complex<double> > input);
39  bool IsPowerOfTwo(int n);
40  int lg(int n);
41  int BitReverse(int n, int x);
42  int NextPowerOfTwo(int n);
43  };
44 }
45 
46 #endif
Isis::FourierTransform::FourierTransform
FourierTransform()
Constructs the FourierTransform object.
Definition: FourierTransform.cpp:14
Isis::FourierTransform
Fourier Transform class.
Definition: FourierTransform.h:33
Isis::FourierTransform::IsPowerOfTwo
bool IsPowerOfTwo(int n)
Checks to see if the input integer is a power of two.
Definition: FourierTransform.cpp:100
Isis::FourierTransform::Inverse
std::vector< std::complex< double > > Inverse(std::vector< std::complex< double > > input)
Applies the inverse Fourier transform on the input data and returns the result.
Definition: FourierTransform.cpp:75
Isis::FourierTransform::Transform
std::vector< std::complex< double > > Transform(std::vector< std::complex< double > > input)
Applies the Fourier transform on the input data and returns the result.
Definition: FourierTransform.cpp:28
Isis::FourierTransform::lg
int lg(int n)
This function returns the floor of log2(n)
Definition: FourierTransform.cpp:116
Isis::FourierTransform::BitReverse
int BitReverse(int n, int x)
Reverses the binary representation of the input integer in the number of bits specified.
Definition: FourierTransform.cpp:137
Isis::FourierTransform::~FourierTransform
~FourierTransform()
Destroys the FourierTransform object.
Definition: FourierTransform.cpp:17
Isis::FourierTransform::NextPowerOfTwo
int NextPowerOfTwo(int n)
This function returns the next power of two greater than or equal to n.
Definition: FourierTransform.cpp:160
Isis
This is free and unencumbered software released into the public domain.
Definition: Apollo.h:16