00001 #ifndef IMAGEANALYSIS_IMAGEHANNINGSMOOTHER_H 00002 #define IMAGEANALYSIS_IMAGEHANNINGSMOOTHER_H 00003 00004 #include <imageanalysis/ImageAnalysis/Image1DSmoother.h> 00005 00006 #include <casa/namespace.h> 00007 00008 namespace casa { 00009 00010 template <class T> class ImageHanningSmoother : public Image1DSmoother<T> { 00011 // <summary> 00012 // Top level interface for 1-D hanning smoothing of images. 00013 // </summary> 00014 00015 // <reviewed reviewer="" date="" tests="" demos=""> 00016 // </reviewed> 00017 00018 // <prerequisite> 00019 // </prerequisite> 00020 00021 // <etymology> 00022 // Hanning smooths an image in one dimension. 00023 // </etymology> 00024 00025 // <synopsis> 00026 // Top level interface for removing image planes. 00027 // </synopsis> 00028 00029 public: 00030 00031 ImageHanningSmoother( 00032 const SPCIIT image, 00033 const Record *const region, 00034 const String& maskInp, 00035 const String& outname, Bool overwrite 00036 ); 00037 00038 // destructor 00039 ~ImageHanningSmoother() {} 00040 00041 String getClass() const { const static String s = "HanningSmoother"; return s; } 00042 00043 protected: 00044 00045 SPIIT _smooth( 00046 const ImageInterface<T>& image 00047 ) const; 00048 00049 private: 00050 00051 // disallow default constructor 00052 ImageHanningSmoother(); 00053 00054 Array<T> _hanningSmooth(const Array<T>& in) const ; 00055 }; 00056 } 00057 00058 #ifndef AIPS_NO_TEMPLATE_SRC 00059 #include <imageanalysis/ImageAnalysis/ImageHanningSmoother.tcc> 00060 #endif 00061 00062 #endif