Loading...
Searching...
No Matches
casacore::HingesFencesStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator > Class Template Reference

Class to calculate statistics using the so-called hinges and fences algorithm. More...

`#include <HingesFencesStatistics.h>`

## Public Member Functions

| HingesFencesStatistics (Double f=-1.0)
| If f is negative, the full dataset is used; ie the object has the same behavior as a ClassicalStatistics object.
| HingesFencesStatistics (const HingesFencesStatistics< CASA_STATP > &other)
| copy semantics
virtual | ~HingesFencesStatistics ()
HingesFencesStatistics< CASA_STATP > & | operator= (const HingesFencesStatistics< CASA_STATP > &other)
| copy semantics
virtual StatisticsAlgorithm< CASA_STATP > * | clone () const
| Clone this instance.
virtual StatisticsData::ALGORITHM | algorithm () const
| get the algorithm that this object uses for computing stats
virtual void | reset ()
| reset object to initial state.
void | setCalculateAsAdded (Bool c)
| This class does not allow statistics to be calculated as datasets are added, so an exception will be thrown if c is True.
Public Member Functions inherited from casacore::ConstrainedRangeStatistics< CASA_STATP >
| ConstrainedRangeStatistics ()=delete
virtual | ~ConstrainedRangeStatistics ()
virtual CASA_STATP | getMedian (std::shared_ptr< uInt64 > knownNpts=nullptr, std::shared_ptr< CASA_STATP > knownMin=nullptr, std::shared_ptr< CASA_STATP > knownMax=nullptr, uInt binningThreshholdSizeBytes=4096 *4096, Bool persistSortedArray=False, uInt nBins=10000)
| In the following group of methods, if the size of the composite dataset is smaller than binningThreshholdSizeBytes, the composite dataset will be (perhaps partially) sorted and persisted in memory during the call.
virtual CASA_STATP | getMedianAbsDevMed (std::shared_ptr< uInt64 > knownNpts=nullptr, std::shared_ptr< CASA_STATP > knownMin=nullptr, std::shared_ptr< CASA_STATP > knownMax=nullptr, uInt binningThreshholdSizeBytes=4096 *4096, Bool persistSortedArray=False, uInt nBins=10000)
| get the median of the absolute deviation about the median of the data.
virtual CASA_STATP | getMedianAndQuantiles (std::map< Double, CASA_STATP > &quantileToValue, const std::set< Double > &quantiles, std::shared_ptr< uInt64 > knownNpts=nullptr, std::shared_ptr< CASA_STATP > knownMin=nullptr, std::shared_ptr< CASA_STATP > knownMax=nullptr, uInt binningThreshholdSizeBytes=4096 *4096, Bool persistSortedArray=False, uInt nBins=10000)
| If one needs to compute both the median and quantile values, it is better to call getMedianAndQuantiles() rather than getMedian() and getQuantiles() separately, as the first will scan large data sets fewer times than calling the seperate methods.
virtual std::map< Double, CASA_STATP > | getQuantiles (const std::set< Double > &quantiles, std::shared_ptr< uInt64 > knownNpts=nullptr, std::shared_ptr< CASA_STATP > knownMin=nullptr, std::shared_ptr< CASA_STATP > knownMax=NULL, uInt binningThreshholdSizeBytes=4096 *4096, Bool persistSortedArray=False, uInt nBins=10000)
| Get the specified quantiles.
virtual void | getMinMax (CASA_STATP &mymin, CASA_STATP &mymax)
| get the min and max of the data set
virtual uInt64 | getNPts ()
| scan the dataset(s) that have been added, and find the number of good points.
virtual LocationType | getStatisticIndex (StatisticsData::STATS stat)
| see base class description
Public Member Functions inherited from casacore::ClassicalStatistics< CASA_STATP >
| ClassicalStatistics ()
virtual | ~ClassicalStatistics ()
ClassicalStatistics & | operator= (const ClassicalStatistics &other)
| copy semantics
virtual void | getMinMaxNpts (uInt64 &npts, CASA_STATP &mymin, CASA_STATP &mymax)
virtual void | setDataProvider (StatsDataProvider< CASA_STATP > *dataProvider)
| An exception will be thrown if setCalculateAsAdded(True) has been called.
void | setQuantileComputer (std::shared_ptr< ClassicalQuantileComputer< CASA_STATP > > qc)
| Allow derived objects to set the quantile computer object.
virtual void | setStatsToCalculate (std::set< StatisticsData::STATS > &stats)
| Provide guidance to algorithms by specifying a priori which statistics the caller would like calculated.
Public Member Functions inherited from casacore::StatisticsAlgorithm< CASA_STATP >
virtual | ~StatisticsAlgorithm ()
void | addData (const DataIterator &first, uInt nr, uInt dataStride=1, Bool nrAccountsForStride=False)
| Add a dataset to an existing set of datasets on which statistics are to be calculated.
CASA_STATP | getQuantile (Double quantile, std::shared_ptr< uInt64 > knownNpts=nullptr, std::shared_ptr< CASA_STATP > knownMin=nullptr, std::shared_ptr< CASA_STATP > knownMax=nullptr, uInt binningThreshholdSizeBytes=4096 *4096, Bool persistSortedArray=False, uInt nBins=10000)
| Purposefully not virtual.
CASA_STATP | getStatistic (StatisticsData::STATS stat)
| get the value of the specified statistic.
StatsData< CASA_STATP > | getStatistics ()
| Return statistics.
void | setData (const DataIterator &first, uInt nr, uInt dataStride=1, Bool nrAccountsForStride=False)
| setdata() clears any current datasets or data provider and then adds the specified data set as the first dataset in the (possibly new) set of data sets for which statistics are to be calculated.

## Protected Member Functions

virtual void | _accumNpts (uInt64 &npts, const DataIterator &dataStart, uInt64 nr, uInt dataStride) const
| scan through the data set to determine the number of good (unmasked, weight > 0, within range) points.
virtual void | _accumNpts (uInt64 &npts, const DataIterator &dataStart, uInt64 nr, uInt dataStride, const DataRanges &ranges, Bool isInclude) const
virtual void | _accumNpts (uInt64 &npts, const DataIterator &dataBegin, uInt64 nr, uInt dataStride, const MaskIterator &maskBegin, uInt maskStride) const
virtual void | _accumNpts (uInt64 &npts, const DataIterator &dataBegin, uInt64 nr, uInt dataStride, const MaskIterator &maskBegin, uInt maskStride, const DataRanges &ranges, Bool isInclude) const
virtual void | _accumNpts (uInt64 &npts, const DataIterator &dataBegin, const WeightsIterator &weightsBegin, uInt64 nr, uInt dataStride) const
virtual void | _accumNpts (uInt64 &npts, const DataIterator &dataBegin, const WeightsIterator &weightsBegin, uInt64 nr, uInt dataStride, const DataRanges &ranges, Bool isInclude) const
virtual void | _accumNpts (uInt64 &npts, const DataIterator &dataBegin, const WeightsIterator &weightsBegin, uInt64 nr, uInt dataStride, const MaskIterator &maskBegin, uInt maskStride, const DataRanges &ranges, Bool isInclude) const
virtual void | _accumNpts (uInt64 &npts, const DataIterator &dataBegin, const WeightsIterator &weightBegin, uInt64 nr, uInt dataStride, const MaskIterator &maskBegin, uInt maskStride) const
virtual void | _minMax (std::shared_ptr< AccumType > &mymin, std::shared_ptr< AccumType > &mymax, const DataIterator &dataBegin, uInt64 nr, uInt dataStride) const
virtual void | _minMax (std::shared_ptr< AccumType > &mymin, std::shared_ptr< AccumType > &mymax, const DataIterator &dataBegin, uInt64 nr, uInt dataStride, const DataRanges &ranges, Bool isInclude) const
virtual void | _minMax (std::shared_ptr< AccumType > &mymin, std::shared_ptr< AccumType > &mymax, const DataIterator &dataBegin, uInt64 nr, uInt dataStride, const MaskIterator &maskBegin, uInt maskStride) const
virtual void | _minMax (std::shared_ptr< AccumType > &mymin, std::shared_ptr< AccumType > &mymax, const DataIterator &dataBegin, uInt64 nr, uInt dataStride, const MaskIterator &maskBegin, uInt maskStride, const DataRanges &ranges, Bool isInclude) const
virtual void | _minMax (std::shared_ptr< AccumType > &mymin, std::shared_ptr< AccumType > &mymax, const DataIterator &dataBegin, const WeightsIterator &weightsBegin, uInt64 nr, uInt dataStride) const
virtual void | _minMax (std::shared_ptr< AccumType > &mymin, std::shared_ptr< AccumType > &mymax, const DataIterator &dataBegin, const WeightsIterator &weightsBegin, uInt64 nr, uInt dataStride, const DataRanges &ranges, Bool isInclude) const
virtual void | _minMax (std::shared_ptr< AccumType > &mymin, std::shared_ptr< AccumType > &mymax, const DataIterator &dataBegin, const WeightsIterator &weightsBegin, uInt64 nr, uInt dataStride, const MaskIterator &maskBegin, uInt maskStride, const DataRanges &ranges, Bool isInclude) const
virtual void | _minMax (std::shared_ptr< AccumType > &mymin, std::shared_ptr< AccumType > &mymax, const DataIterator &dataBegin, const WeightsIterator &weightBegin, uInt64 nr, uInt dataStride, const MaskIterator &maskBegin, uInt maskStride) const
virtual void | _minMaxNpts (uInt64 &npts, std::shared_ptr< AccumType > &mymin, std::shared_ptr< AccumType > &mymax, const DataIterator &dataBegin, uInt64 nr, uInt dataStride) const
| Sometimes we want the min, max, and npts all in one scan.
virtual void | _minMaxNpts (uInt64 &npts, std::shared_ptr< AccumType > &mymin, std::shared_ptr< AccumType > &mymax, const DataIterator &dataBegin, uInt64 nr, uInt dataStride, const DataRanges &ranges, Bool isInclude) const
virtual void | _minMaxNpts (uInt64 &npts, std::shared_ptr< AccumType > &mymin, std::shared_ptr< AccumType > &mymax, const DataIterator &dataBegin, uInt64 nr, uInt dataStride, const MaskIterator &maskBegin, uInt maskStride) const
virtual void | _minMaxNpts (uInt64 &npts, std::shared_ptr< AccumType > &mymin, std::shared_ptr< AccumType > &mymax, const DataIterator &dataBegin, uInt64 nr, uInt dataStride, const MaskIterator &maskBegin, uInt maskStride, const DataRanges &ranges, Bool isInclude) const
virtual void | _minMaxNpts (uInt64 &npts, std::shared_ptr< AccumType > &mymin, std::shared_ptr< AccumType > &mymax, const DataIterator &dataBegin, const WeightsIterator &weightsBegin, uInt64 nr, uInt dataStride) const
virtual void | _minMaxNpts (uInt64 &npts, std::shared_ptr< AccumType > &mymin, std::shared_ptr< AccumType > &mymax, const DataIterator &dataBegin, const WeightsIterator &weightsBegin, uInt64 nr, uInt dataStride, const DataRanges &ranges, Bool isInclude) const
virtual void | _minMaxNpts (uInt64 &npts, std::shared_ptr< AccumType > &mymin, std::shared_ptr< AccumType > &mymax, const DataIterator &dataBegin, const WeightsIterator &weightsBegin, uInt64 nr, uInt dataStride, const MaskIterator &maskBegin, uInt maskStride, const DataRanges &ranges, Bool isInclude) const
virtual void | _minMaxNpts (uInt64 &npts, std::shared_ptr< AccumType > &mymin, std::shared_ptr< AccumType > &mymax, const DataIterator &dataBegin, const WeightsIterator &weightBegin, uInt64 nr, uInt dataStride, const MaskIterator &maskBegin, uInt maskStride) const
virtual void | _unweightedStats (StatsData< AccumType > &stats, uInt64 &ngood, LocationType &location, const DataIterator &dataBegin, uInt64 nr, uInt dataStride)
| no weights, no mask, no ranges
virtual void | _unweightedStats (StatsData< AccumType > &stats, uInt64 &ngood, LocationType &location, const DataIterator &dataBegin, uInt64 nr, uInt dataStride, const DataRanges &ranges, Bool isInclude)
| no weights, no mask
virtual void | _unweightedStats (StatsData< AccumType > &stats, uInt64 &ngood, LocationType &location, const DataIterator &dataBegin, uInt64 nr, uInt dataStride, const MaskIterator &maskBegin, uInt maskStride)
virtual void | _unweightedStats (StatsData< AccumType > &stats, uInt64 &ngood, LocationType &location, const DataIterator &dataBegin, uInt64 nr, uInt dataStride, const MaskIterator &maskBegin, uInt maskStride, const DataRanges &ranges, Bool isInclude)
virtual void | _weightedStats (StatsData< AccumType > &stats, LocationType &location, const DataIterator &dataBegin, const WeightsIterator &weightsBegin, uInt64 nr, uInt dataStride)
| has weights, but no mask, no ranges
virtual void | _weightedStats (StatsData< AccumType > &stats, LocationType &location, const DataIterator &dataBegin, const WeightsIterator &weightsBegin, uInt64 nr, uInt dataStride, const DataRanges &ranges, Bool isInclude)
virtual void | _weightedStats (StatsData< AccumType > &stats, LocationType &location, const DataIterator &dataBegin, const WeightsIterator &weightBegin, uInt64 nr, uInt dataStride, const MaskIterator &maskBegin, uInt maskStride)
virtual void | _weightedStats (StatsData< AccumType > &stats, LocationType &location, const DataIterator &dataBegin, const WeightsIterator &weightBegin, uInt64 nr, uInt dataStride, const MaskIterator &maskBegin, uInt maskStride, const DataRanges &ranges, Bool isInclude)
Protected Member Functions inherited from casacore::ConstrainedRangeStatistics< CASA_STATP >
ConstrainedRangeStatistics< CASA_STATP > & | operator= (const ConstrainedRangeStatistics< CASA_STATP > &other)
| copy semantics
virtual CASA_STATP | _getStatistic (StatisticsData::STATS stat)
virtual StatsData< CASA_STATP > | _getStatistics ()
virtual void | _minMax (std::shared_ptr< CASA_STATP > &mymin, std::shared_ptr< CASA_STATP > &mymax, const DataIterator &dataBegin, uInt64 nr, uInt dataStride) const
virtual void | _minMaxNpts (uInt64 &npts, std::shared_ptr< CASA_STATP > &mymin, std::shared_ptr< CASA_STATP > &mymax, const DataIterator &dataBegin, uInt64 nr, uInt dataStride) const
| Sometimes we want the min, max, and npts all in one scan.
void | _setRange (std::shared_ptr< std::pair< CASA_STATP, CASA_STATP > > r)
| This method is purposefully non-virtual.
virtual void | _unweightedStats (StatsData< CASA_STATP > &stats, uInt64 &ngood, LocationType &location, const DataIterator &dataBegin, uInt64 nr, uInt dataStride)
| no weights, no mask, no ranges
virtual void | _weightedStats (StatsData< CASA_STATP > &stats, LocationType &location, const DataIterator &dataBegin, const DataIterator &weightsBegin, uInt64 nr, uInt dataStride)
| has weights, but no mask, no ranges
Protected Member Functions inherited from casacore::ClassicalStatistics< CASA_STATP >
void | _accumulate (StatsData< CASA_STATP > &stats, const CASA_STATP &datum, const LocationType &location)
void | _addData ()
| Allows derived classes to do things after data is set or added.
void | _clearStats ()
Bool | _getDoMaxMin () const
virtual StatsData< CASA_STATP > | _getInitialStats () const
virtual StatsData< CASA_STATP > & | _getStatsData ()
| Retrieve stats structure.
std::shared_ptr< StatisticsAlgorithmQuantileComputer< CASA_STATP > > | _getQuantileComputer ()
virtual void | _updateDataProviderMaxMin (const StatsData< CASA_STATP > &threadStats)
Protected Member Functions inherited from casacore::StatisticsAlgorithm< CASA_STATP >
| StatisticsAlgorithm ()
StatisticsAlgorithm & | operator= (const StatisticsAlgorithm &other)
| use copy semantics, except for the data provider which uses reference semantics
const StatisticsDataset< CASA_STATP > & | _getDataset () const
| These methods are purposefully not virtual.
const std::set< StatisticsData::STATS > | _getStatsToCalculate () const
virtual const std::set< StatisticsData::STATS > & | _getUnsupportedStatistics () const
void | _setUnsupportedStatistics (const std::set< StatisticsData::STATS > &stats)
| Derived classes should normally call this in their constructors, if applicable.

## Private Member Functions

void | _setRange ()

## Private Attributes

Double | _f
| _f defined in inclusion range between Q1 - _f*D and Q3 + _f*D, where D = Q3 - Q1 and Q1 and Q3 are the first and third quartiles, respectively
Bool | _rangeIsSet
Bool | _hasRange

## Detailed Description

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>
class casacore::HingesFencesStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >

Class to calculate statistics using the so-called hinges and fences algorithm.

In this algorithm, the data on which the statistics are computed from is limited to the range of values between Q1 - f*D and Q3 + f*D, inclusive, where D = Q3 - Q1 and Q1 and Q3 are the first and third quartiles, respectively.

This class uses a HingesFencesQuantileComputer object for computing quantile- like statistics. See class documentation for StatisticsAlgorithm for details regarding QuantileComputer classes.

Definition at line 53 of file HingesFencesStatistics.h.

## Constructor & Destructor Documentation

## HingesFencesStatistics() [1/2]

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>

casacore::HingesFencesStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::HingesFencesStatistics | ( | Double | f = -1.0 | ) |

If f is negative, the full dataset is used; ie the object has the same behavior as a ClassicalStatistics object.

Referenced by HingesFencesStatistics(), and operator=().

## HingesFencesStatistics() [2/2]

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>

casacore::HingesFencesStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::HingesFencesStatistics | ( | const HingesFencesStatistics< CASA_STATP > & | other | ) |

copy semantics

References HingesFencesStatistics().

## ~HingesFencesStatistics()

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>

virtual casacore::HingesFencesStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::~HingesFencesStatistics | ( |  | ) |

virtual

## Member Function Documentation

## _accumNpts() [1/8]

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>

virtual void casacore::HingesFencesStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_accumNpts | ( | uInt64 & | npts,
|  | const DataIterator & | dataBegin,
|  | const WeightsIterator & | weightBegin,
|  | uInt64 | nr,
|  | uInt | dataStride,
|  | const MaskIterator & | maskBegin,
|  | uInt | maskStride ) const

protected virtual

## _accumNpts() [2/8]

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>

virtual void casacore::HingesFencesStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_accumNpts | ( | uInt64 & | npts,
|  | const DataIterator & | dataBegin,
|  | const WeightsIterator & | weightsBegin,
|  | uInt64 | nr,
|  | uInt | dataStride ) const

protected virtual

## _accumNpts() [3/8]

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>

virtual void casacore::HingesFencesStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_accumNpts | ( | uInt64 & | npts,
|  | const DataIterator & | dataBegin,
|  | const WeightsIterator & | weightsBegin,
|  | uInt64 | nr,
|  | uInt | dataStride,
|  | const DataRanges & | ranges,
|  | Bool | isInclude ) const

protected virtual

References DataRanges.

## _accumNpts() [4/8]

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>

virtual void casacore::HingesFencesStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_accumNpts | ( | uInt64 & | npts,
|  | const DataIterator & | dataBegin,
|  | const WeightsIterator & | weightsBegin,
|  | uInt64 | nr,
|  | uInt | dataStride,
|  | const MaskIterator & | maskBegin,
|  | uInt | maskStride,
|  | const DataRanges & | ranges,
|  | Bool | isInclude ) const

protected virtual

References DataRanges.

## _accumNpts() [5/8]

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>

virtual void casacore::HingesFencesStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_accumNpts | ( | uInt64 & | npts,
|  | const DataIterator & | dataBegin,
|  | uInt64 | nr,
|  | uInt | dataStride,
|  | const MaskIterator & | maskBegin,
|  | uInt | maskStride ) const

protected virtual

## _accumNpts() [6/8]

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>

virtual void casacore::HingesFencesStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_accumNpts | ( | uInt64 & | npts,
|  | const DataIterator & | dataBegin,
|  | uInt64 | nr,
|  | uInt | dataStride,
|  | const MaskIterator & | maskBegin,
|  | uInt | maskStride,
|  | const DataRanges & | ranges,
|  | Bool | isInclude ) const

protected virtual

References DataRanges.

## _accumNpts() [7/8]

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>

virtual void casacore::HingesFencesStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_accumNpts | ( | uInt64 & | npts,
|  | const DataIterator & | dataStart,
|  | uInt64 | nr,
|  | uInt | dataStride ) const

protected virtual

scan through the data set to determine the number of good (unmasked, weight > 0, within range) points.

The first with no mask, no ranges, and no weights is trivial with npts = nr in this class, but is implemented here so that derived classes may override it.

Reimplemented from casacore::ConstrainedRangeStatistics< CASA_STATP >.

## _accumNpts() [8/8]

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>

virtual void casacore::HingesFencesStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_accumNpts | ( | uInt64 & | npts,
|  | const DataIterator & | dataStart,
|  | uInt64 | nr,
|  | uInt | dataStride,
|  | const DataRanges & | ranges,
|  | Bool | isInclude ) const

protected virtual

References DataRanges.

## _minMax() [1/8]

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>

virtual void casacore::HingesFencesStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_minMax | ( | std::shared_ptr< AccumType > & | mymin,
|  | std::shared_ptr< AccumType > & | mymax,
|  | const DataIterator & | dataBegin,
|  | const WeightsIterator & | weightBegin,
|  | uInt64 | nr,
|  | uInt | dataStride,
|  | const MaskIterator & | maskBegin,
|  | uInt | maskStride ) const

protected virtual

## _minMax() [2/8]

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>

virtual void casacore::HingesFencesStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_minMax | ( | std::shared_ptr< AccumType > & | mymin,
|  | std::shared_ptr< AccumType > & | mymax,
|  | const DataIterator & | dataBegin,
|  | const WeightsIterator & | weightsBegin,
|  | uInt64 | nr,
|  | uInt | dataStride ) const

protected virtual

## _minMax() [3/8]

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>

virtual void casacore::HingesFencesStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_minMax | ( | std::shared_ptr< AccumType > & | mymin,
|  | std::shared_ptr< AccumType > & | mymax,
|  | const DataIterator & | dataBegin,
|  | const WeightsIterator & | weightsBegin,
|  | uInt64 | nr,
|  | uInt | dataStride,
|  | const DataRanges & | ranges,
|  | Bool | isInclude ) const

protected virtual

References DataRanges.

## _minMax() [4/8]

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>

virtual void casacore::HingesFencesStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_minMax | ( | std::shared_ptr< AccumType > & | mymin,
|  | std::shared_ptr< AccumType > & | mymax,
|  | const DataIterator & | dataBegin,
|  | const WeightsIterator & | weightsBegin,
|  | uInt64 | nr,
|  | uInt | dataStride,
|  | const MaskIterator & | maskBegin,
|  | uInt | maskStride,
|  | const DataRanges & | ranges,
|  | Bool | isInclude ) const

protected virtual

References DataRanges.

## _minMax() [5/8]

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>

virtual void casacore::HingesFencesStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_minMax | ( | std::shared_ptr< AccumType > & | mymin,
|  | std::shared_ptr< AccumType > & | mymax,
|  | const DataIterator & | dataBegin,
|  | uInt64 | nr,
|  | uInt | dataStride ) const

protected virtual

## _minMax() [6/8]

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>

virtual void casacore::HingesFencesStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_minMax | ( | std::shared_ptr< AccumType > & | mymin,
|  | std::shared_ptr< AccumType > & | mymax,
|  | const DataIterator & | dataBegin,
|  | uInt64 | nr,
|  | uInt | dataStride,
|  | const DataRanges & | ranges,
|  | Bool | isInclude ) const

protected virtual

References DataRanges.

## _minMax() [7/8]

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>

virtual void casacore::HingesFencesStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_minMax | ( | std::shared_ptr< AccumType > & | mymin,
|  | std::shared_ptr< AccumType > & | mymax,
|  | const DataIterator & | dataBegin,
|  | uInt64 | nr,
|  | uInt | dataStride,
|  | const MaskIterator & | maskBegin,
|  | uInt | maskStride ) const

protected virtual

## _minMax() [8/8]

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>

virtual void casacore::HingesFencesStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_minMax | ( | std::shared_ptr< AccumType > & | mymin,
|  | std::shared_ptr< AccumType > & | mymax,
|  | const DataIterator & | dataBegin,
|  | uInt64 | nr,
|  | uInt | dataStride,
|  | const MaskIterator & | maskBegin,
|  | uInt | maskStride,
|  | const DataRanges & | ranges,
|  | Bool | isInclude ) const

protected virtual

References DataRanges.

## _minMaxNpts() [1/8]

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>

virtual void casacore::HingesFencesStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_minMaxNpts | ( | uInt64 & | npts,
|  | std::shared_ptr< AccumType > & | mymin,
|  | std::shared_ptr< AccumType > & | mymax,
|  | const DataIterator & | dataBegin,
|  | const WeightsIterator & | weightBegin,
|  | uInt64 | nr,
|  | uInt | dataStride,
|  | const MaskIterator & | maskBegin,
|  | uInt | maskStride ) const

protected virtual

## _minMaxNpts() [2/8]

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>

virtual void casacore::HingesFencesStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_minMaxNpts | ( | uInt64 & | npts,
|  | std::shared_ptr< AccumType > & | mymin,
|  | std::shared_ptr< AccumType > & | mymax,
|  | const DataIterator & | dataBegin,
|  | const WeightsIterator & | weightsBegin,
|  | uInt64 | nr,
|  | uInt | dataStride ) const

protected virtual

## _minMaxNpts() [3/8]

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>

virtual void casacore::HingesFencesStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_minMaxNpts | ( | uInt64 & | npts,
|  | std::shared_ptr< AccumType > & | mymin,
|  | std::shared_ptr< AccumType > & | mymax,
|  | const DataIterator & | dataBegin,
|  | const WeightsIterator & | weightsBegin,
|  | uInt64 | nr,
|  | uInt | dataStride,
|  | const DataRanges & | ranges,
|  | Bool | isInclude ) const

protected virtual

References DataRanges.

## _minMaxNpts() [4/8]

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>

virtual void casacore::HingesFencesStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_minMaxNpts | ( | uInt64 & | npts,
|  | std::shared_ptr< AccumType > & | mymin,
|  | std::shared_ptr< AccumType > & | mymax,
|  | const DataIterator & | dataBegin,
|  | const WeightsIterator & | weightsBegin,
|  | uInt64 | nr,
|  | uInt | dataStride,
|  | const MaskIterator & | maskBegin,
|  | uInt | maskStride,
|  | const DataRanges & | ranges,
|  | Bool | isInclude ) const

protected virtual

References DataRanges.

## _minMaxNpts() [5/8]

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>

virtual void casacore::HingesFencesStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_minMaxNpts | ( | uInt64 & | npts,
|  | std::shared_ptr< AccumType > & | mymin,
|  | std::shared_ptr< AccumType > & | mymax,
|  | const DataIterator & | dataBegin,
|  | uInt64 | nr,
|  | uInt | dataStride ) const

protected virtual

Sometimes we want the min, max, and npts all in one scan.

## _minMaxNpts() [6/8]

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>

virtual void casacore::HingesFencesStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_minMaxNpts | ( | uInt64 & | npts,
|  | std::shared_ptr< AccumType > & | mymin,
|  | std::shared_ptr< AccumType > & | mymax,
|  | const DataIterator & | dataBegin,
|  | uInt64 | nr,
|  | uInt | dataStride,
|  | const DataRanges & | ranges,
|  | Bool | isInclude ) const

protected virtual

References DataRanges.

## _minMaxNpts() [7/8]

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>

virtual void casacore::HingesFencesStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_minMaxNpts | ( | uInt64 & | npts,
|  | std::shared_ptr< AccumType > & | mymin,
|  | std::shared_ptr< AccumType > & | mymax,
|  | const DataIterator & | dataBegin,
|  | uInt64 | nr,
|  | uInt | dataStride,
|  | const MaskIterator & | maskBegin,
|  | uInt | maskStride ) const

protected virtual

## _minMaxNpts() [8/8]

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>

virtual void casacore::HingesFencesStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_minMaxNpts | ( | uInt64 & | npts,
|  | std::shared_ptr< AccumType > & | mymin,
|  | std::shared_ptr< AccumType > & | mymax,
|  | const DataIterator & | dataBegin,
|  | uInt64 | nr,
|  | uInt | dataStride,
|  | const MaskIterator & | maskBegin,
|  | uInt | maskStride,
|  | const DataRanges & | ranges,
|  | Bool | isInclude ) const

protected virtual

References DataRanges.

## _setRange()

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>

void casacore::HingesFencesStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_setRange | ( |  | ) |

private

## _unweightedStats() [1/4]

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>

virtual void casacore::HingesFencesStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_unweightedStats | ( | StatsData< AccumType > & | stats,
|  | uInt64 & | ngood,
|  | LocationType & | location,
|  | const DataIterator & | dataBegin,
|  | uInt64 | nr,
|  | uInt | dataStride )

protected virtual

no weights, no mask, no ranges

## _unweightedStats() [2/4]

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>

virtual void casacore::HingesFencesStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_unweightedStats | ( | StatsData< AccumType > & | stats,
|  | uInt64 & | ngood,
|  | LocationType & | location,
|  | const DataIterator & | dataBegin,
|  | uInt64 | nr,
|  | uInt | dataStride,
|  | const DataRanges & | ranges,
|  | Bool | isInclude )

protected virtual

no weights, no mask

References DataRanges.

## _unweightedStats() [3/4]

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>

virtual void casacore::HingesFencesStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_unweightedStats | ( | StatsData< AccumType > & | stats,
|  | uInt64 & | ngood,
|  | LocationType & | location,
|  | const DataIterator & | dataBegin,
|  | uInt64 | nr,
|  | uInt | dataStride,
|  | const MaskIterator & | maskBegin,
|  | uInt | maskStride )

protected virtual

## _unweightedStats() [4/4]

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>

virtual void casacore::HingesFencesStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_unweightedStats | ( | StatsData< AccumType > & | stats,
|  | uInt64 & | ngood,
|  | LocationType & | location,
|  | const DataIterator & | dataBegin,
|  | uInt64 | nr,
|  | uInt | dataStride,
|  | const MaskIterator & | maskBegin,
|  | uInt | maskStride,
|  | const DataRanges & | ranges,
|  | Bool | isInclude )

protected virtual

References DataRanges.

## _weightedStats() [1/4]

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>

virtual void casacore::HingesFencesStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_weightedStats | ( | StatsData< AccumType > & | stats,
|  | LocationType & | location,
|  | const DataIterator & | dataBegin,
|  | const WeightsIterator & | weightBegin,
|  | uInt64 | nr,
|  | uInt | dataStride,
|  | const MaskIterator & | maskBegin,
|  | uInt | maskStride )

protected virtual

## _weightedStats() [2/4]

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>

virtual void casacore::HingesFencesStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_weightedStats | ( | StatsData< AccumType > & | stats,
|  | LocationType & | location,
|  | const DataIterator & | dataBegin,
|  | const WeightsIterator & | weightBegin,
|  | uInt64 | nr,
|  | uInt | dataStride,
|  | const MaskIterator & | maskBegin,
|  | uInt | maskStride,
|  | const DataRanges & | ranges,
|  | Bool | isInclude )

protected virtual

References DataRanges.

## _weightedStats() [3/4]

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>

virtual void casacore::HingesFencesStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_weightedStats | ( | StatsData< AccumType > & | stats,
|  | LocationType & | location,
|  | const DataIterator & | dataBegin,
|  | const WeightsIterator & | weightsBegin,
|  | uInt64 | nr,
|  | uInt | dataStride )

protected virtual

has weights, but no mask, no ranges

## _weightedStats() [4/4]

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>

virtual void casacore::HingesFencesStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_weightedStats | ( | StatsData< AccumType > & | stats,
|  | LocationType & | location,
|  | const DataIterator & | dataBegin,
|  | const WeightsIterator & | weightsBegin,
|  | uInt64 | nr,
|  | uInt | dataStride,
|  | const DataRanges & | ranges,
|  | Bool | isInclude )

protected virtual

References DataRanges.

## algorithm()

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>

virtual StatisticsData::ALGORITHM casacore::HingesFencesStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::algorithm | ( |  | ) | const

inline virtual

get the algorithm that this object uses for computing stats

Reimplemented from casacore::ClassicalStatistics< CASA_STATP >.

Definition at line 76 of file HingesFencesStatistics.h.

References casacore::StatisticsData::HINGESFENCES.

## clone()

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>

virtual StatisticsAlgorithm< CASA_STATP > * casacore::HingesFencesStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::clone | ( |  | ) | const

virtual

Clone this instance.

Caller is responsible for deleting the returned pointer.

Reimplemented from casacore::ClassicalStatistics< CASA_STATP >.

## operator=()

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>

HingesFencesStatistics< CASA_STATP > & casacore::HingesFencesStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::operator= | ( | const HingesFencesStatistics< CASA_STATP > & | other | ) |

copy semantics

References HingesFencesStatistics().

## reset()

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>

virtual void casacore::HingesFencesStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::reset | ( |  | ) |

virtual

reset object to initial state.

Clears all private fields including data, accumulators, global range. It does not affect the fence factor (_f), which was set at object construction.

Reimplemented from casacore::ConstrainedRangeStatistics< CASA_STATP >.

## setCalculateAsAdded()

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>

void casacore::HingesFencesStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::setCalculateAsAdded | ( | Bool | c | ) |

virtual

This class does not allow statistics to be calculated as datasets are added, so an exception will be thrown if c is True.

Reimplemented from casacore::ClassicalStatistics< CASA_STATP >.

## Member Data Documentation

## _f

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>

Double casacore::HingesFencesStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_f

private

_f defined in inclusion range between Q1 - _f*D and Q3 + _f*D, where D = Q3 - Q1 and Q1 and Q3 are the first and third quartiles, respectively

Definition at line 308 of file HingesFencesStatistics.h.

## _hasRange

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>

Bool casacore::HingesFencesStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_hasRange

private

Definition at line 309 of file HingesFencesStatistics.h.

## _rangeIsSet

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>

Bool casacore::HingesFencesStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_rangeIsSet

private

Definition at line 309 of file HingesFencesStatistics.h.

The documentation for this class was generated from the following file:

- scimath/StatsFramework/HingesFencesStatistics.h