real2DFFTExample.cc
This is an example of how to use the class.
#include <string.h>
#include "real2DFFT.H"
#include <iomanip.h>
using namespace std;
int main(void){
int x=8, y=8;
real2DFFTData *fftData = new real2DFFTData(x,y);
real2DFFT *fft= new real2DFFT(fftData);
fftData->clearInput();
fftData->clearOutput();
int temp=x/2, temp2=y/2;
for (int j=0;j<x;j++)
fftData->in[temp2+j*x]=10000.0;
for (int j=0;j<y;j++)
fftData->in[temp*y+j]=10000.0;
for (int i=0;i<fftData->getXSize();i++){
for (int j=0;j<fftData->getYSize();j++)
cout<<fftData->in[i*x+j]<<'\t';
cout<<endl;
}
cout<<'\n'<<endl;
fft->fwdTransform();
fftData->reScale();
fftData->compPowerSpec();
fft->invTransform();
for (int i=0;i<fftData->getXSize();i++){
for (int j=0;j<fftData->getYSize();j++)
cout<<fftData->in[i*x+j]<<'\t';
cout<<endl;
}
cout<<'\n'<<endl;
for (int i=0;i<x;i++){
for (int j=0;j<y/2+1;j++)
cout<<fftData->power[i*(y/2+1)+j]<<'\t';
cout<<endl;
}
delete fftData;
delete fft;
}