casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Image1DSmoother.h
Go to the documentation of this file.
1 #ifndef IMAGEANALYSIS_IMAGE1DSMOOTHER_H
2 #define IMAGEANALYSIS_IMAGE1DSMOOTHER_H
3 
5 
7 
8 #include <casa/namespace.h>
9 
10 namespace casa {
11 
12 template <class T> class Image1DSmoother : public ImageTask<T> {
13  // <summary>
14  // Top level interface for 1-D smoothing of images.
15  // </summary>
16 
17  // <reviewed reviewer="" date="" tests="" demos="">
18  // </reviewed>
19 
20  // <prerequisite>
21  // </prerequisite>
22 
23  // <etymology>
24  // Smooths an image in one dimension.
25  // </etymology>
26 
27  // <synopsis>
28  // Top level interface for removing image planes.
29  // </synopsis>
30 
31 public:
32  Image1DSmoother() = delete;
33 
34  // destructor
35  virtual ~Image1DSmoother() {}
36 
37  SPIIT smooth() const;
38 
39  virtual casacore::String getClass() const { const static casacore::String s = "Image1DSmoother"; return s; }
40 
41  // Keep only every nth plane
43 
44  // Set the pixel axis number along which the smoothing will occur
45  void setAxis(casacore::uInt n);
46 
47  // Set the decimation function.
50  }
51 
52 protected:
53 
55  const SPCIIT image,
56  const casacore::Record *const region,
57  const casacore::String& maskInp,
58  const casacore::String& outname, casacore::Bool overwrite
59  );
60 
61  virtual SPIIT _smooth(const casacore::ImageInterface<T>& image) const = 0;
62 
65  }
66 
67  inline std::vector<casacore::Coordinate::Type> _getNecessaryCoordinates() const {
68  return std::vector<casacore::Coordinate::Type>();
69  }
70 
71  inline casacore::Bool _supportsMultipleBeams() const {return false;}
72 
73  inline casacore::Bool _getDecimate() const { return _decimate; }
74 
76  return _decimationFunction;
77  }
78 
79  inline casacore::uInt _getAxis() const { return _axis; }
80 
81  inline void _setNMinPixels(casacore::uInt n) { _nMinPixels = n; }
82 private:
86 
87 };
88 }
89 
90 #ifndef AIPS_NO_TEMPLATE_SRC
91 #include <imageanalysis/ImageAnalysis/Image1DSmoother.tcc>
92 #endif
93 
94 #endif
void setDecimate(casacore::Bool b)
Keep only every nth plane.
Function
Holds data for ImageDecimator class.
ImageDecimatorData::Function _getDecimationFunction() const
std::vector< casacore::Coordinate::Type > _getNecessaryCoordinates() const
Represents the minimum set of coordinates necessary for the task to function.
SPIIT smooth() const
casacore::Bool _getDecimate() const
ImageDecimatorData::Function _decimationFunction
casacore::Bool _decimate
casacore::Bool _supportsMultipleBeams() const
does this task support images with multiple beams? false means it never does.
virtual ~Image1DSmoother()
destructor
void setDecimationFunction(ImageDecimatorData::Function f)
Set the decimation function.
Image1DSmoother()=delete
Top level interface for 1-D smoothing of images.
A base class for astronomical images.
#define SPIIT
Definition: ImageTypedefs.h:34
virtual casacore::String getClass() const
void setAxis(casacore::uInt n)
Set the pixel axis number along which the smoothing will occur.
virtual SPIIT _smooth(const casacore::ImageInterface< T > &image) const =0
casacore::uInt _axis
A hierarchical collection of named fields of various types.
Definition: Record.h:180
bool Bool
Define the standard types used by Casacore.
Definition: aipstype.h:42
#define SPCIIT
Definition: ImageTypedefs.h:35
casacore::uInt _getAxis() const
casacore::uInt _nMinPixels
CasacRegionManager::StokesControl _getStokesControl() const
String: the storage and methods of handling collections of characters.
Definition: String.h:223
void _setNMinPixels(casacore::uInt n)
unsigned int uInt
Definition: aipstype.h:51