20#ifndef __stir_numerics_stir_fourier_h__
21#define __stir_numerics_stir_fourier_h__
40void fourier(T& c,
const int sign = 1);
57# pragma warning(disable : 4244)
62# pragma warning(default : 4244)
96void fourier_1d(T& c,
const int sign);
112# pragma warning(disable : 4244)
116# pragma warning(default : 4244)
154Array<1, std::complex<T>> fourier_1d_for_real_data(
const Array<1, T>& c,
const int sign = 1);
164Array<1, T> inverse_fourier_1d_for_real_data(
const Array<1, std::complex<T>>& c,
const int sign = 1);
174Array<1, T> inverse_fourier_1d_for_real_data_corrupting_input(Array<1, std::complex<T>>& c,
const int sign);
200template <
int num_dimensions,
typename T>
201Array<num_dimensions, std::complex<T>> fourier_for_real_data(
const Array<num_dimensions, T>& c,
const int sign = 1);
210template <
int num_dimensions,
typename T>
211Array<num_dimensions, T> inverse_fourier_for_real_data(
const Array<num_dimensions, std::complex<T>>& c,
const int sign = 1);
220template <
int num_dimensions,
typename T>
221Array<num_dimensions, T> inverse_fourier_for_real_data_corrupting_input(Array<num_dimensions, std::complex<T>>& c,
229template <
int num_dimensions,
typename T>
230Array<num_dimensions, std::complex<T>> pos_frequencies_to_all(
const Array<num_dimensions, std::complex<T>>& c);
defines additional numerical operations for arrays of complex numbers
defines the stir::VectorWithOffset class
void inverse_fourier(T &c, const int sign=1)
Compute the inverse of the multi-dimensional discrete fourier transform.
Definition fourier.h:52
void fourier_1d(T &c, const int sign)
Compute one-dimensional discrete fourier transform of an array.
Definition fourier.cxx:65
void fourier(T &c, const int sign=1)
Compute multi-dimensional discrete fourier transform.
Definition fourier.cxx:143
void inverse_fourier_1d(T &c, const int sign=1)
Compute the inverse of the one-dimensional discrete fourier transform.
Definition fourier.h:107