00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00024 #ifndef _FFT_hpp
00025 #define _FFT_hpp
00026
00027 #include<ImLib3D/Image3D.hpp>
00028
00029
00030 #include<ImLib3D/ImageProcessor.hpp>
00031 #include<ImLib3D/Image3Dlinear.hpp>
00032
00033 namespace IP3D
00034 {
00035 void FFT(const Image3Df& src,Image3Dcomplexf& res,bool resultFullSize=true);
00036 void FFT(const Image3Dd& src,Image3Dcomplexd& res,bool resultFullSize=true);
00037 void FFT(const Image3Dcomplexf& src,Image3Dcomplexf& res,
00038 bool resultFullSize=true);
00039 void FFT(const Image3Dcomplexd& src,Image3Dcomplexd& res,
00040 bool resultFullSize=true);
00041 }
00042
00043 namespace IP3D
00044 {
00045 void FFTInverse(const Image3Dcomplexf& src,Image3Dcomplexf& res,
00046 int resultWidth=0,bool overwriteSrc=false);
00047 void FFTInverse(const Image3Dcomplexd& src,Image3Dcomplexd& res,
00048 int resultWidth=0,bool overwriteSrc=false);
00049 void FFTInverse(const Image3Dcomplexf& src,Image3Df& res,
00050 int resultWidth=0,bool overwriteSrc=false);
00051 void FFTInverse(const Image3Dcomplexd& src,Image3Dd& res,
00052 int resultWidth=0,bool overwriteSrc=false);
00053 }
00054
00055 #endif //_FFT_hpp