ImageCollapserData.h

Go to the documentation of this file.
00001 #ifndef IMAGES_IMAGECOLLAPSERDATA_H
00002 #define IMAGES_IMAGECOLLAPSERDATA_H
00003 
00004 #include <casa/typeinfo.h>
00005 
00006 #include <map>
00007 
00008 namespace casa {
00009 
00010 class String;
00011 
00012 class ImageCollapserData {
00013         // <summary>
00014         // Non-templated data related bits for ImageCollapser.
00015         // </summary>
00016 
00017         // <reviewed reviewer="" date="" tests="" demos="">
00018         // </reviewed>
00019 
00020         // <prerequisite>
00021         // </prerequisite>
00022 
00023         // <etymology>
00024         // Data for ImageCollapser.
00025         // </etymology>
00026 
00027         // <synopsis>
00028         // </synopsis>
00029 
00030         // <example>
00031         // </example>
00032 
00033 public:
00034 
00035         enum AggregateType {
00036                 //AVDEV,
00037                 MAX,
00038                 MEAN,
00039                 MEDIAN,
00040                 MIN,
00041                 NPTS,
00042                 RMS,
00043                 STDDEV,
00044                 SUM,
00045                 VARIANCE,
00046                 // set all pixels in output image to 0
00047                 ZERO,
00048                 FLUX,
00049                 // SQRTSUM and MEANSQRT are bizarre statistics, but
00050                 // ImageAnalysis::getFreqProfile() supported this for the GUI profiler,
00051                 // so sadly, we must support them here. I actually suspect the intent was for
00052                 // the sums in these to be the sum of the squares, at least that's what the comments
00053                 // in ImageAnalysis::getFreqProfile() seemed to imply, but they were implemented
00054                 // as straight sums, so I followed the implementation because there is no design
00055                 // or requirements doc to draw from. What a surprise.
00056                 // the square root of the sum, sqrt(sum)
00057                 SQRTSUM,
00058                 // the square root of the sum divided by the number of pixels, sqrt(sum)/npix
00059                 SQRTSUM_NPIX,
00060                 // the square root of the sum divided by the number of pixels per beam, sqrt(sum)/(beam_area/pixel_area)
00061                 // Yes that's how it was implemented in ImageAnalysis::getFreqProfile().
00062                 SQRTSUM_NPIX_BEAM,
00063                 UNKNOWN
00064         };
00065 
00066         // destructor
00067         ~ImageCollapserData() {}
00068 
00069         static AggregateType aggregateType(const String& aggString);
00070 
00071         static const std::map<uInt, String>* funcNameMap();
00072         static const std::map<uInt, String>* minMatchMap();
00073 
00074 private:
00075 
00076         static std::map<uInt, String> *_funcNameMap, *_minMatchMap;
00077 
00078         // disallow default constructor
00079         ImageCollapserData();
00080 
00081 };
00082 }
00083 
00084 #endif
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 31 Aug 2016 for casa by  doxygen 1.6.1