11#if !defined(__imfft_h)
19#include "armawrap/newmatap.h"
20#include "armawrap/newmatio.h"
22#include "complexvolume.h"
31int ifft2(complexvolume& vol);
32int ifft2(
const complexvolume& vin, complexvolume& vout);
34int fft2(complexvolume& vol);
35int fft2(
const complexvolume& vin, complexvolume& vout);
37int ifft3(complexvolume& vol);
38int ifft3(
const complexvolume& vin, complexvolume& vout);
40int fft3(complexvolume& vol);
41int fft3(
const complexvolume& vin, complexvolume& vout);
43void fftshift(complexvolume& vol);
47int ifft2(volume<float>& realvol, volume<float>& imagvol);
48int ifft2(
const volume<float>& realvin,
const volume<float>& imagvin,
49 volume<float>& realvout, volume<float>& imagvout);
51int fft2(volume<float>& realvol, volume<float>& imagvol);
52int fft2(
const volume<float>& realvin,
const volume<float>& imagvin,
53 volume<float>& realvout, volume<float>& imagvout);
55int ifft3(volume<float>& realvol, volume<float>& imagvol);
56int ifft3(
const volume<float>& realvin,
const volume<float>& imagvin,
57 volume<float>& realvout, volume<float>& imagvout);
59int fft3(volume<float>& realvol, volume<float>& imagvol);
60int fft3(
const volume<float>& realvin,
const volume<float>& imagvin,
61 volume<float>& realvout, volume<float>& imagvout);
63void fftshift(volume<float>& vol);
67int ifft2(volume<double>& realvol, volume<double>& imagvol);
68int ifft2(
const volume<double>& realvin,
const volume<double>& imagvin,
69 volume<double>& realvout, volume<double>& imagvout);
71int fft2(volume<double>& realvol, volume<double>& imagvol);
72int fft2(
const volume<double>& realvin,
const volume<double>& imagvin,
73 volume<double>& realvout, volume<double>& imagvout);
75int ifft3(volume<double>& realvol, volume<double>& imagvol);
76int ifft3(
const volume<double>& realvin,
const volume<double>& imagvin,
77 volume<double>& realvout, volume<double>& imagvout);
79int fft3(volume<double>& realvol, volume<double>& imagvol);
80int fft3(
const volume<double>& realvin,
const volume<double>& imagvin,
81 volume<double>& realvout, volume<double>& imagvout);
83void fftshift(volume<double>& vol);