LatticeStatsBase.h
Classes
- LatticeStatsBase -- Base class for LatticeStatistics class (full description)
Types
- NPTS
-
The number of points
- SUM
-
The sum
- SUMSQ
-
The sum squared
- MEDIAN
-
The median - the robust stats does not fit well into storage lattice approach
- MEDABSDEVMED
-
median of absolute deviation from median
- QUARTILE
-
inter-quartile range
- MIN
-
The minimum
- MAX
-
The maximum
- MEAN
-
The mean
- VARIANCE
-
The variance about the mean
- SIGMA
-
The standard deviation about the mean
- RMS
-
The rms
- FLUX
-
The flux density (can't always compute this - needs the beam)
- NSTATS
-
The total number of available statistics to plot
- NACCUM = MAX+1
-
The total number of accumulation image items (not for general use:
note that the accumulation items MUST come first in this enum)
Interface
- Public Members
- static Vector<Int> toStatisticTypes (const String& statistics, const Regex& delimiter)
- static Vector<Int> toStatisticTypes (const Vector<String>& statistics)
- static String toStatisticName (StatisticsTypes type)
- static String toStatisticName (Int type)
- static Int toStatisticType (const String& statistic)
- static Bool setNxy (Vector<Int>& nxy, ostream& os)
- static void setStorageImageShape (IPosition& storeImageShape, const Bool& last, const Int& axisSize, const Vector<Int>& displayAxes, const IPosition& shape)
- static void stretchMinMax (Float& min, Float& max)
Review Status
- Date Reviewed:
- yyyy/mm/dd
Prerequisite
Etymology
A simple base class for the LatticeStatistics class
Synopsis
This base class provides an enum defining allowed statistics types
and a helper function to convert between a String and a
Vector<Int> describing the desired statistics to plot. The reason for
having it as a base class rather than just part of LatticeStatistics is that
the latter is templated, and it doesn't make much sense to invoke the static function
setStatisticTypes function with a templated type.
Example
Vector<Int> statsToPlot = LatticeStatsBase::toStatisticTypes("mean,rms,sigma");
Motivation
My sensibilities were offended at having to say
Vector<Int> statsToPlot = LatticeStatistics<Float>::toStatisticTypes("mean,rms,sigma");
when the <Float> was meaningless.
To Do
Member Description
This enum StatisticTypes is provided for use with the
LatticeStatistics<T>::setPlotting function. It gives the allowed
statistics types that you can ask for.
Helper function to convert a String containing a list of desired statistics to
the correct Vector required for the LatticeStatistics::setPlotting
function. This may be usful if your user interface involves strings rather than integers.
A new value is added to the output vector (which is resized appropriately) if any of the
substrings "npts", "min", "max", "sum", "sumsq", "mean", "sigma", "rms",
and "flux" is present. An empty vector results if there are no matches
Convert type to string.
Returns -1 if the statistic string is not valid
static Bool setNxy (Vector<Int>& nxy, ostream& os)
Check and fill in defaults for a Vector<Int> containing the
number of subplots in x and y to be put on a plot. The Vector<Int>
is resized to 2 before assignment. A return value of False indicates
invalid arguments.
static void setStorageImageShape (IPosition& storeImageShape, const Bool& last, const Int& axisSize, const Vector<Int>& displayAxes, const IPosition& shape)
A storage image is used to accumulate information as a function of the display
axes as an image is iterated through. This function sets the storage image shape
to that appropriate to the shape of the display axes and the desired size of the first
or last dimension.
static void stretchMinMax (Float& min, Float& max)
Stretch a range by 10%