1 // This is core/vil/algo/vil_fft.h
2 #ifndef vil_fft_h_
3 #define vil_fft_h_
4 //:
5 //  \file
6 //  \brief Functions to apply the FFT to an image.
7 // \author Fred Wheeler
8 
9 #include <complex>
10 #ifdef _MSC_VER
11 #  include <vcl_msvc_warnings.h>
12 #endif
13 #include <vil/vil_image_view.h>
14 
15 //: Perform in place forward FFT.
16 // \relatesalso vil_image_view
17 // \relatesalso vil_fft_2d_bwd
18 template<class T>
19 void
20 vil_fft_2d_fwd (vil_image_view<std::complex<T> > & img);
21 
22 //: Perform in place backward FFT.
23 // Unlike vnl_fft_2d, scaling is done properly, so using
24 // vil_fft_2d_fwd(), then vil_fft_2d_bwd() gets back the original
25 // image.
26 // \relatesalso vil_image_view
27 // \relatesalso vil_fft_2d_fwd
28 template<class T>
29 void
30 vil_fft_2d_bwd (vil_image_view<std::complex<T> > & img);
31 
32 #endif // vil_fft_h_
33