casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ImageCollapserData.h
Go to the documentation of this file.
1 #ifndef IMAGES_IMAGECOLLAPSERDATA_H
2 #define IMAGES_IMAGECOLLAPSERDATA_H
3 
4 #include <casa/typeinfo.h>
5 
6 #include <map>
7 #include <memory>
8 #include <set>
9 
10 namespace casacore{
11  class String;
12 }
13 
14 namespace casa {
15 
17  // <summary>
18  // Non-templated data related bits for ImageCollapser.
19  // </summary>
20 
21  // <reviewed reviewer="" date="" tests="" demos="">
22  // </reviewed>
23 
24  // <prerequisite>
25  // </prerequisite>
26 
27  // <etymology>
28  // casacore::Data for ImageCollapser.
29  // </etymology>
30 
31  // <synopsis>
32  // </synopsis>
33 
34  // <example>
35  // </example>
36 
37  //<todo>
38  // None of this is thread safe
39  //</todo>
40 public:
41 
43  MAX,
46  MIN,
48  RMS,
50  SUM,
52  // set all pixels in output image to 0
55  // SQRTSUM and MEANSQRT are bizarre statistics, but
56  // ImageAnalysis::getFreqProfile() supported this for the GUI profiler,
57  // so sadly, we must support them here. I actually suspect the intent was for
58  // the sums in these to be the sum of the squares, at least that's what the comments
59  // in ImageAnalysis::getFreqProfile() seemed to imply, but they were implemented
60  // as straight sums, so I followed the implementation because there is no design
61  // or requirements doc to draw from. What a surprise.
62  // the square root of the sum, sqrt(sum)
64  // the square root of the sum divided by the number of pixels, sqrt(sum)/npix
66  // the square root of the sum divided by the number of pixels per beam, sqrt(sum)/(beam_area/pixel_area)
67  // Yes that's how it was implemented in ImageAnalysis::getFreqProfile().
69  // median absolute devation from mean
71  // madm * 1/Phi^-1
74  };
75 
76  ImageCollapserData() = delete;
77 
78  ImageCollapserData(const ImageCollapserData&) = delete;
79 
80  ImageCollapserData operator=(const ImageCollapserData&) const = delete;
81 
82  // destructor
84 
85  static AggregateType aggregateType(const casacore::String& aggString);
86 
87  static std::shared_ptr<const std::set<AggregateType>> aggTypesSupportedDegenAxes();
88 
89  static std::shared_ptr<const std::map<casacore::uInt, casacore::String>> funcNameMap();
90 
91  static std::shared_ptr<const std::map<casacore::uInt, casacore::String>> minMatchMap();
92 
93 private:
94 
95  static std::shared_ptr<std::map<casacore::uInt, casacore::String>> _funcNameMap, _minMatchMap;
96 
97  static std::shared_ptr<std::set<AggregateType>> _degenAxesSupported;
98 
99 };
100 }
101 
102 #endif
static std::shared_ptr< const std::set< AggregateType > > aggTypesSupportedDegenAxes()
median absolute devation from mean
the square root of the sum divided by the number of pixels per beam, sqrt(sum)/(beam_area/pixel_area)...
AggregateType
Non-templated data related bits for ImageCollapser.
SQRTSUM and MEANSQRT are bizarre statistics, but ImageAnalysis::getFreqProfile() supported this for t...
static std::shared_ptr< const std::map< casacore::uInt, casacore::String > > funcNameMap()
the square root of the sum divided by the number of pixels, sqrt(sum)/npix
static std::shared_ptr< std::map< casacore::uInt, casacore::String > > _minMatchMap
static std::shared_ptr< const std::map< casacore::uInt, casacore::String > > minMatchMap()
static std::shared_ptr< std::map< casacore::uInt, casacore::String > > _funcNameMap
set all pixels in output image to 0
String: the storage and methods of handling collections of characters.
Definition: String.h:223
static AggregateType aggregateType(const casacore::String &aggString)
ImageCollapserData operator=(const ImageCollapserData &) const =delete
static std::shared_ptr< std::set< AggregateType > > _degenAxesSupported
#define casacore
&lt;X11/Intrinsic.h&gt; #defines true, false, casacore::Bool, and String.
Definition: X11Intrinsic.h:42