ImageFFTer.h

Go to the documentation of this file.
00001 #ifndef IMAGES_IMAGEFFTER_H
00002 #define IMAGES_IMAGEFFTER_H
00003 
00004 #include <imageanalysis/ImageAnalysis/ImageTask.h>
00005 
00006 #include <casa/namespace.h>
00007 
00008 namespace casa {
00009 
00010 template <class T> class ImageFFTer : public ImageTask<T> {
00011         // <summary>
00012         // Top level interface which allows FFTing of images.
00013         // </summary>
00014 
00015         // <reviewed reviewer="" date="" tests="" demos="">
00016         // </reviewed>
00017 
00018         // <prerequisite>
00019         // </prerequisite>
00020 
00021         // <etymology>
00022         // FFTs image.
00023         // </etymology>
00024 
00025         // <synopsis>
00026         // High level interface for FFTing an image.
00027         // </synopsis>
00028 
00029 public:
00030 
00031         ImageFFTer(
00032                 const SPCIIT image,
00033                 const Record *const region,
00034                 const String& maskInp, const Vector<uInt>& axes
00035         );
00036 
00037         // destructor
00038         ~ImageFFTer() {}
00039 
00040         void fft() const;
00041 
00042         void setReal(const String& name) { _real = name; }
00043         void setImag(const String& name) { _imag = name; }
00044         void setAmp(const String& name) { _amp = name; }
00045         void setPhase(const String& name) { _phase = name; }
00046         void setComplex(const String& name) { _complex = name; }
00047 
00048         String getClass() const { const static String s = "ImageFFTer"; return s; }
00049 
00050 protected:
00051         inline  CasacRegionManager::StokesControl _getStokesControl() const {
00052                 return CasacRegionManager::USE_ALL_STOKES;
00053         }
00054 
00055         inline std::vector<Coordinate::Type> _getNecessaryCoordinates() const {
00056                 return std::vector<Coordinate::Type>();
00057         }
00058 
00059 private:
00060         Vector<uInt> _axes;
00061         String _real, _imag, _amp, _phase, _complex;
00062 
00063         // disallow default constructor
00064         ImageFFTer();
00065 
00066         SPIIF _createFloatImage(
00067                 const String& name, const SubImage<T>& subimage
00068         ) const;
00069 
00070         SPIIC _createComplexImage(
00071                 const String& name, const SubImage<T>& subimage
00072         ) const;
00073 
00074         static void _checkExists(const String& name);
00075 };
00076 }
00077 
00078 #ifndef AIPS_NO_TEMPLATE_SRC
00079 #include <imageanalysis/ImageAnalysis/ImageFFTer.tcc>
00080 #endif
00081 
00082 #endif
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 31 Aug 2016 for casa by  doxygen 1.6.1