Main Page   Groups   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Concepts

vnl_fft_3d.h

Go to the documentation of this file.
00001 // This is vxl/vnl/algo/vnl_fft_3d.h
00002 #ifndef vnl_fft_3d_h_
00003 #define vnl_fft_3d_h_
00004 #ifdef VCL_NEEDS_PRAGMA_INTERFACE
00005 #pragma interface
00006 #endif
00007 
00013 #include <vnl/vnl_matrix.h>
00014 #include <vnl/algo/vnl_fft_base.h>
00015 
00019 template <class T>
00020 struct vnl_fft_3d : public vnl_fft_base<3, T>
00021 {
00022   typedef vnl_fft_base<3, T> base;
00023 
00026   vnl_fft_3d(int M, int N,int Q) {
00027     base::factors_[0].resize(M);
00028     base::factors_[1].resize(N);
00029     base::factors_[2].resize(Q);
00030   }
00031 
00034   void transform(vnl_matrix<vcl_complex<T> > &signal, int dir)
00035   { base::transform(signal.data_block(), dir); }
00036 
00039   void fwd_transform(vnl_matrix<vcl_complex<T> > &signal)
00040   { transform(signal, +1); }
00041 
00044   void bwd_transform(vnl_matrix<vcl_complex<T> > &signal)
00045   { transform(signal, -1); }
00046 
00049   unsigned rows() const { return base::factors_[0].number(); }
00050   unsigned cols() const { return base::factors_[1].number(); }
00051 };
00052 
00053 #endif // vnl_fft_3d_h_
00054 

Generated at Tue Sep 15 05:32:25 2009 for ITK by doxygen 1.5.8 written by Dimitri van Heesch, © 1997-2000