casacore::HistAcc< T > Class Template Reference
Makes a histogram from input values.
More...
#include <HistAcc.h>
List of all members.
Public Member Functions |
| HistAcc (const uInt nBuff) |
| Constructors and destructor.
|
| HistAcc (const uInt nBuff, const T width) |
| HistAcc (const T low, const T high, const T width) |
| HistAcc (const HistAcc &) |
| ~HistAcc () |
void | copy (const HistAcc &) |
| Copy operations.
|
HistAcc & | operator= (const HistAcc &) |
void | put (const T v) |
| Accumulate (put) value(s) into the histogram.
|
void | put (const Array< T > &vv) |
void | put (const Block< T > &vv) |
void | reset () |
| Reset the contents of the bins to zero, but retain the current bin definition.
|
void | emptyBinsWithLessThan (const uInt nmin) |
| Empty all bins whose contents is < nmin (e.g.
|
Fallible< T > | getPercentile (const Float p) |
| The median is the 50-percentile (getPercentile(50)), i.e.
|
Fallible< T > | getMedian () |
Fallible< T > | getBinWidth () const |
| All bins have the same width.
|
const StatAcc< T > & | getStatistics () |
| Get the internal Statistics accumulator (see StatAcc,h).
|
Fallible< uInt > | getHistogram (Block< uInt > &bins, Block< T > &values) |
| The return value is the nr of histogram bins, and is invalid if the number is zero.
|
uInt | getSpurious (uInt &tooSmall, uInt &tooLarge) |
| Get the nr of `spurious' values, i.e.
|
void | printHistogram (ostream &, const String &caption) |
| Print histogram.
|
Private Member Functions |
void | put1 (const T) |
| Accumulate a single value into the histogram.
|
void | defineBins (const T low, const T high, const T width) |
| Definition of histogram bins with given parameters.
|
void | initBuffer (const uInt size) |
| Internal helper functions for the automatic definition of histogram parameters, using the contents of itsBuffer.
|
void | putBuffer (const T v) |
void | clearBuffer () |
void | autoDefineBins () |
void | init () |
| Other internal helper function(s).
|
Fallible< T > | getBinValue (const uInt index) const |
Private Attributes |
Block< uInt > | itsBinContents |
Block< T > | itsBinHighLimit |
T | itsUserDefinedBinWidth |
StatAcc< T > | itsStatAcc |
Bool | itsAutoDefineMode |
Block< T > | itsBuffer |
uInt | itsBufferContents |
Detailed Description
template<class T>
class casacore::HistAcc< T >
Makes a histogram from input values.
Review Status
- Test programs:
- tHistAcc
Prerequisite
-
module Arrays
-
Arrays module
Etymology
HistAcc stands for `Histogram Accumulator'.
Template Type Argument Requirements (T)
-
The accepted input types are real, i.e. Int, uInt, Float, Double, but not Complex.
Synopsis
Makes a histogram from input values. The histogram bin parameters may be defined, or determined from the first n input values. The input values are fed to HistAcc via the member function `put'. They can be fed individually, or in the form of an Array.
The histogram `bins' can be defined via the constructor in the form of loop variables: low bin, high bin, bin-width. It is also possible to let the bin parameters be determined automatically from the first n (e.g. n=50) input values. If the actual nr of input values is less than n when the histogram is interrogated in some way, the bin parameters will be determined from what is available.
Example
It is usually convenient to let the bins be defined automatically:
Matrix<T> vv(30,100);
vv = ...
HistAcc<T> h(25);
h.put(vv);
h.printHistogram(cout,"vv");
Fallible<Double> median = h1.getMedian();
In some cases the bin parameters are pre-defined:
Vector<T> vv(100,0);
vv = ...
HistAcc<T> h(-10,20,3);
h.put(vv);
uInt n = h.getSpurious(l,h);
The internal statistics accumulator can be interrogated explicitly or implicitly:
StatAcc<T> s = h.getStatistics();
Fallible<Double> mean = s.getMean();
Fallible<Double> mean = h.getStatistics().getMean();
Motivation
Definition at line 118 of file HistAcc.h.
Constructor & Destructor Documentation
Constructors and destructor.
If the bin-parameters low, high and width (for lowest and highest bin, and binwidth) are not specified, they will be determined automatically from the first nBuff input values (which are stored in a temporary buffer).
Member Function Documentation
template<class T >
void casacore::HistAcc< T >::defineBins |
( |
const T |
low, |
|
|
const T |
high, |
|
|
const T |
width | |
|
) |
| | [private] |
Definition of histogram bins with given parameters.
Empty all bins whose contents is < nmin (e.g.
nmin=2). This is useful to remove `noise' values from the histogram.
All bins have the same width.
The return value is the nr of histogram bins, and is invalid if the number is zero.
The given blocks/vectors are resized, and contain the contents and centre values of the bins.
The median is the 50-percentile (getPercentile(50)), i.e.
the value which has 50 percent of the input values below it. Calculation takes into account the spurious input values, i.e. values that fell outside the bins.
Get the nr of `spurious' values, i.e.
the ones that fell outside the defined bins.
Get the internal Statistics accumulator (see StatAcc,h).
It can be used to obtain statistics of the input values.
Other internal helper function(s).
Internal helper functions for the automatic definition of histogram parameters, using the contents of itsBuffer.
Reset the contents of the bins to zero, but retain the current bin definition.
Member Data Documentation
The documentation for this class was generated from the following file: