casacore
Public Member Functions | Protected Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes | List of all members
casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator > Class Template Reference

Class to calculate statistics in a "classical" sense, ie using accumulators with no special filtering beyond optional range filtering etc. More...

#include <ClassicalStatistics.h>

Public Member Functions

 ClassicalStatistics ()
 
 ClassicalStatistics (const ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator > &cs)
 copy semantics More...
 
virtual ~ClassicalStatistics ()
 
ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator > & operator= (const ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator > &other)
 copy semantics More...
 
virtual StatisticsData::ALGORITHM algorithm () const
 get the algorithm that this object uses for computing stats More...
 
virtual AccumType getMedian (CountedPtr< uInt64 > knownNpts=NULL, CountedPtr< AccumType > knownMin=NULL, CountedPtr< AccumType > knownMax=NULL, uInt binningThreshholdSizeBytes=4096 *4096, Bool persistSortedArray=False, uInt64 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. More...
 
virtual AccumType getMedianAndQuantiles (std::map< Double, AccumType > &quantiles, const std::set< Double > &fractions, CountedPtr< uInt64 > knownNpts=NULL, CountedPtr< AccumType > knownMin=NULL, CountedPtr< AccumType > knownMax=NULL, uInt binningThreshholdSizeBytes=4096 *4096, Bool persistSortedArray=False, uInt64 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 separate methods. More...
 
virtual AccumType getMedianAbsDevMed (CountedPtr< uInt64 > knownNpts=NULL, CountedPtr< AccumType > knownMin=NULL, CountedPtr< AccumType > knownMax=NULL, uInt binningThreshholdSizeBytes=4096 *4096, Bool persistSortedArray=False, uInt64 nBins=10000)
 get the median of the absolute deviation about the median of the data. More...
 
virtual std::map< Double, AccumType > getQuantiles (const std::set< Double > &fractions, CountedPtr< uInt64 > knownNpts=NULL, CountedPtr< AccumType > knownMin=NULL, CountedPtr< AccumType > knownMax=NULL, uInt binningThreshholdSizeBytes=4096 *4096, Bool persistSortedArray=False, uInt64 nBins=10000)
 Get the specified quantiles. More...
 
virtual void getMinMax (AccumType &mymin, AccumType &mymax)
 scan the dataset(s) that have been added, and find the min and max. More...
 
virtual uInt64 getNPts ()
 scan the dataset(s) that have been added, and find the number of good points. More...
 
virtual std::pair< Int64, Int64getStatisticIndex (StatisticsData::STATS stat)
 see base class description More...
 
Bool hasData () const
 Has any data been added to this object? Will return False if the object has been reset and no data have been added afterward. More...
 
virtual void reset ()
 reset object to initial state. More...
 
virtual void setCalculateAsAdded (Bool c)
 Should statistics be updated with calls to addData or should they only be calculated upon calls to getStatistics etc? Beware that calling this will automatically reinitialize the object, so that it will contain no references to data et al. More...
 
void setDataProvider (StatsDataProvider< AccumType, DataIterator, MaskIterator, WeightsIterator > *dataProvider)
 An exception will be thrown if setCalculateAsAdded(True) has been called. More...
 
void setStatsToCalculate (std::set< StatisticsData::STATS > &stats)
 Provide guidance to algorithms by specifying a priori which statistics the caller would like calculated. More...
 
- Public Member Functions inherited from casacore::StatisticsAlgorithm< AccumType, DataIterator, MaskIterator, WeightsIterator >
virtual ~StatisticsAlgorithm ()
 
virtual 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. More...
 
virtual void addData (const DataIterator &first, uInt nr, const DataRanges &dataRanges, Bool isInclude=True, uInt dataStride=1, Bool nrAccountsForStride=False)
 
virtual void addData (const DataIterator &first, const MaskIterator &maskFirst, uInt nr, uInt dataStride=1, Bool nrAccountsForStride=False, uInt maskStride=1)
 
virtual void addData (const DataIterator &first, const MaskIterator &maskFirst, uInt nr, const DataRanges &dataRanges, Bool isInclude=True, uInt dataStride=1, Bool nrAccountsForStride=False, uInt maskStride=1)
 
virtual void addData (const DataIterator &first, const WeightsIterator &weightFirst, uInt nr, uInt dataStride=1, Bool nrAccountsForStride=False)
 
virtual void addData (const DataIterator &first, const WeightsIterator &weightFirst, uInt nr, const DataRanges &dataRanges, Bool isInclude=True, uInt dataStride=1, Bool nrAccountsForStride=False)
 
virtual void addData (const DataIterator &first, const WeightsIterator &weightFirst, const MaskIterator &maskFirst, uInt nr, uInt dataStride=1, Bool nrAccountsForStride=False, uInt maskStride=1)
 
virtual void addData (const DataIterator &first, const WeightsIterator &weightFirst, const MaskIterator &maskFirst, uInt nr, const DataRanges &dataRanges, Bool isInclude=True, uInt dataStride=1, Bool nrAccountsForStride=False, uInt maskStride=1)
 
void deleteSortedArray ()
 delete any (partially) sorted array More...
 
AccumType getQuantile (Double quantile, CountedPtr< uInt64 > knownNpts=NULL, CountedPtr< AccumType > knownMin=NULL, CountedPtr< AccumType > knownMax=NULL, uInt binningThreshholdSizeBytes=4096 *4096, Bool persistSortedArray=False, uInt64 nBins=10000)
 
virtual AccumType getStatistic (StatisticsData::STATS stat)
 get the value of the specified statistic More...
 
virtual StatsData< AccumType > getStatistics ()
 
virtual 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. More...
 
virtual void setData (const DataIterator &first, uInt nr, const DataRanges &dataRanges, Bool isInclude=True, uInt dataStride=1, Bool nrAccountsForStride=False)
 
virtual void setData (const DataIterator &first, const MaskIterator &maskFirst, uInt nr, uInt dataStride=1, Bool nrAccountsForStride=False, uInt maskStride=1)
 
virtual void setData (const DataIterator &first, const MaskIterator &maskFirst, uInt nr, const DataRanges &dataRanges, Bool isInclude=True, uInt dataStride=1, Bool nrAccountsForStride=False, uInt maskStride=1)
 
virtual void setData (const DataIterator &first, const WeightsIterator &weightFirst, uInt nr, uInt dataStride=1, Bool nrAccountsForStride=False)
 
virtual void setData (const DataIterator &first, const WeightsIterator &weightFirst, uInt nr, const DataRanges &dataRanges, Bool isInclude=True, uInt dataStride=1, Bool nrAccountsForStride=False)
 
virtual void setData (const DataIterator &first, const WeightsIterator &weightFirst, const MaskIterator &maskFirst, uInt nr, uInt dataStride=1, Bool nrAccountsForStride=False, uInt maskStride=1)
 
virtual void setData (const DataIterator &first, const WeightsIterator &weightFirst, const MaskIterator &maskFirst, uInt nr, const DataRanges &dataRanges, Bool isInclude=True, uInt dataStride=1, Bool nrAccountsForStride=False, uInt maskStride=1)
 
virtual void setDataProvider (StatsDataProvider< CASA_STATP > *dataProvider)
 instead of settng and adding data "by hand", set the data provider that will provide all the data sets. More...
 

Protected Member Functions

virtual void _accumNpts (uInt64 &npts, const DataIterator &dataBegin, Int64 nr, uInt dataStride) const
 scan through the data set to determine the number of good (unmasked, weight > 0, within range) points. More...
 
virtual void _accumNpts (uInt64 &npts, const DataIterator &dataBegin, Int64 nr, uInt dataStride, const DataRanges &ranges, Bool isInclude) const
 
virtual void _accumNpts (uInt64 &npts, const DataIterator &dataBegin, Int64 nr, uInt dataStride, const MaskIterator &maskBegin, uInt maskStride) const
 
virtual void _accumNpts (uInt64 &npts, const DataIterator &dataBegin, Int64 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, Int64 nr, uInt dataStride) const
 
virtual void _accumNpts (uInt64 &npts, const DataIterator &dataBegin, const WeightsIterator &weightsBegin, Int64 nr, uInt dataStride, const DataRanges &ranges, Bool isInclude) const
 
virtual void _accumNpts (uInt64 &npts, const DataIterator &dataBegin, const WeightsIterator &weightsBegin, Int64 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, Int64 nr, uInt dataStride, const MaskIterator &maskBegin, uInt maskStride) const
 
void _accumulate (StatsData< AccumType > &stats, const AccumType &datum, const LocationType &location)
 
void _accumulate (StatsData< AccumType > &stats, const AccumType &datum, const AccumType &weight, const LocationType &location)
 
void _addData ()
 Allows derived classes to do things after data is set or added. More...
 
void _clearData ()
 
void _clearStats ()
 
void _doMinMax (AccumType &vmin, AccumType &vmax)
 scan dataset(s) to find min and max More...
 
virtual void _findBins (vector< vector< uInt64 > > &binCounts, vector< CountedPtr< AccumType > > &sameVal, vector< Bool > &allSame, const DataIterator &dataBegin, Int64 nr, uInt dataStride, const vector< typename StatisticsUtilities< AccumType >::BinDesc > &binDesc, const vector< AccumType > &maxLimit) const
 Get the counts of data within the specified histogram bins. More...
 
virtual void _findBins (vector< vector< uInt64 > > &binCounts, vector< CountedPtr< AccumType > > &sameVal, vector< Bool > &allSame, const DataIterator &dataBegin, Int64 nr, uInt dataStride, const DataRanges &ranges, Bool isInclude, const vector< typename StatisticsUtilities< AccumType >::BinDesc > &binDesc, const vector< AccumType > &maxLimit) const
 
virtual void _findBins (vector< vector< uInt64 > > &binCounts, vector< CountedPtr< AccumType > > &sameVal, vector< Bool > &allSame, const DataIterator &dataBegin, Int64 nr, uInt dataStride, const MaskIterator &maskBegin, uInt maskStride, const vector< typename StatisticsUtilities< AccumType >::BinDesc > &binDesc, const vector< AccumType > &maxLimit) const
 
virtual void _findBins (vector< vector< uInt64 > > &binCounts, vector< CountedPtr< AccumType > > &sameVal, vector< Bool > &allSame, const DataIterator &dataBegin, Int64 nr, uInt dataStride, const MaskIterator &maskBegin, uInt maskStride, const DataRanges &ranges, Bool isInclude, const vector< typename StatisticsUtilities< AccumType >::BinDesc > &binDesc, const vector< AccumType > &maxLimit) const
 
virtual void _findBins (vector< vector< uInt64 > > &binCounts, vector< CountedPtr< AccumType > > &sameVal, vector< Bool > &allSame, const DataIterator &dataBegin, const WeightsIterator &weightsBegin, Int64 nr, uInt dataStride, const vector< typename StatisticsUtilities< AccumType >::BinDesc > &binDesc, const vector< AccumType > &maxLimit) const
 
virtual void _findBins (vector< vector< uInt64 > > &binCounts, vector< CountedPtr< AccumType > > &sameVal, vector< Bool > &allSame, const DataIterator &dataBegin, const WeightsIterator &weightsBegin, Int64 nr, uInt dataStride, const DataRanges &ranges, Bool isInclude, const vector< typename StatisticsUtilities< AccumType >::BinDesc > &binDesc, const vector< AccumType > &maxLimit) const
 
virtual void _findBins (vector< vector< uInt64 > > &binCounts, vector< CountedPtr< AccumType > > &sameVal, vector< Bool > &allSame, const DataIterator &dataBegin, const WeightsIterator &weightsBegin, Int64 nr, uInt dataStride, const MaskIterator &maskBegin, uInt maskStride, const DataRanges &ranges, Bool isInclude, const vector< typename StatisticsUtilities< AccumType >::BinDesc > &binDesc, const vector< AccumType > &maxLimit) const
 
virtual void _findBins (vector< vector< uInt64 > > &binCounts, vector< CountedPtr< AccumType > > &sameVal, vector< Bool > &allSame, const DataIterator &dataBegin, const WeightsIterator &weightBegin, Int64 nr, uInt dataStride, const MaskIterator &maskBegin, uInt maskStride, const vector< typename StatisticsUtilities< AccumType >::BinDesc > &binDesc, const vector< AccumType > &maxLimit) const
 
Bool _getDoMaxMin () const
 
Int64 _getIDataset () const
 
virtual StatsData< AccumType > _getInitialStats () const
 
AccumType _getStatistic (StatisticsData::STATS stat)
 
StatsData< AccumType > _getStatistics ()
 
virtual StatsData< AccumType > & _getStatsData ()
 retreive stats structure. More...
 
virtual const StatsData< AccumType > & _getStatsData () const
 
virtual void _minMax (CountedPtr< AccumType > &mymin, CountedPtr< AccumType > &mymax, const DataIterator &dataBegin, Int64 nr, uInt dataStride) const
 
virtual void _minMax (CountedPtr< AccumType > &mymin, CountedPtr< AccumType > &mymax, const DataIterator &dataBegin, Int64 nr, uInt dataStride, const DataRanges &ranges, Bool isInclude) const
 
virtual void _minMax (CountedPtr< AccumType > &mymin, CountedPtr< AccumType > &mymax, const DataIterator &dataBegin, Int64 nr, uInt dataStride, const MaskIterator &maskBegin, uInt maskStride) const
 
virtual void _minMax (CountedPtr< AccumType > &mymin, CountedPtr< AccumType > &mymax, const DataIterator &dataBegin, Int64 nr, uInt dataStride, const MaskIterator &maskBegin, uInt maskStride, const DataRanges &ranges, Bool isInclude) const
 
virtual void _minMax (CountedPtr< AccumType > &mymin, CountedPtr< AccumType > &mymax, const DataIterator &dataBegin, const WeightsIterator &weightsBegin, Int64 nr, uInt dataStride) const
 
virtual void _minMax (CountedPtr< AccumType > &mymin, CountedPtr< AccumType > &mymax, const DataIterator &dataBegin, const WeightsIterator &weightsBegin, Int64 nr, uInt dataStride, const DataRanges &ranges, Bool isInclude) const
 
virtual void _minMax (CountedPtr< AccumType > &mymin, CountedPtr< AccumType > &mymax, const DataIterator &dataBegin, const WeightsIterator &weightsBegin, Int64 nr, uInt dataStride, const MaskIterator &maskBegin, uInt maskStride, const DataRanges &ranges, Bool isInclude) const
 
virtual void _minMax (CountedPtr< AccumType > &mymin, CountedPtr< AccumType > &mymax, const DataIterator &dataBegin, const WeightsIterator &weightBegin, Int64 nr, uInt dataStride, const MaskIterator &maskBegin, uInt maskStride) const
 
virtual void _populateArray (vector< AccumType > &ary, const DataIterator &dataBegin, Int64 nr, uInt dataStride) const
 populate an unsorted array with valid data. More...
 
virtual void _populateArray (vector< AccumType > &ary, const DataIterator &dataBegin, Int64 nr, uInt dataStride, const DataRanges &ranges, Bool isInclude) const
 ranges More...
 
virtual void _populateArray (vector< AccumType > &ary, const DataIterator &dataBegin, Int64 nr, uInt dataStride, const MaskIterator &maskBegin, uInt maskStride) const
 
virtual void _populateArray (vector< AccumType > &ary, const DataIterator &dataBegin, Int64 nr, uInt dataStride, const MaskIterator &maskBegin, uInt maskStride, const DataRanges &ranges, Bool isInclude) const
 mask and ranges More...
 
virtual void _populateArray (vector< AccumType > &ary, const DataIterator &dataBegin, const WeightsIterator &weightsBegin, Int64 nr, uInt dataStride) const
 weights More...
 
virtual void _populateArray (vector< AccumType > &ary, const DataIterator &dataBegin, const WeightsIterator &weightsBegin, Int64 nr, uInt dataStride, const DataRanges &ranges, Bool isInclude) const
 weights and ranges More...
 
virtual void _populateArray (vector< AccumType > &ary, const DataIterator &dataBegin, const WeightsIterator &weightBegin, Int64 nr, uInt dataStride, const MaskIterator &maskBegin, uInt maskStride) const
 weights and mask More...
 
virtual void _populateArray (vector< AccumType > &ary, const DataIterator &dataBegin, const WeightsIterator &weightBegin, Int64 nr, uInt dataStride, const MaskIterator &maskBegin, uInt maskStride, const DataRanges &ranges, Bool isInclude) const
 weights, mask, ranges More...
 
virtual void _populateArrays (vector< vector< AccumType > > &arys, uInt64 &currentCount, const DataIterator &dataBegin, Int64 nr, uInt dataStride, const vector< std::pair< AccumType, AccumType > > &includeLimits, uInt64 maxCount) const
 Create a vector of unsorted arrays, one array for each bin defined by includeLimits. More...
 
virtual void _populateArrays (vector< vector< AccumType > > &arys, uInt64 &currentCount, const DataIterator &dataBegin, Int64 nr, uInt dataStride, const DataRanges &ranges, Bool isInclude, const vector< std::pair< AccumType, AccumType > > &includeLimits, uInt64 maxCount) const
 ranges More...
 
virtual void _populateArrays (vector< vector< AccumType > > &arys, uInt64 &currentCount, const DataIterator &dataBegin, Int64 nr, uInt dataStride, const MaskIterator &maskBegin, uInt maskStride, const vector< std::pair< AccumType, AccumType > > &includeLimits, uInt64 maxCount) const
 
virtual void _populateArrays (vector< vector< AccumType > > &arys, uInt64 &currentCount, const DataIterator &dataBegin, Int64 nr, uInt dataStride, const MaskIterator &maskBegin, uInt maskStride, const DataRanges &ranges, Bool isInclude, const vector< std::pair< AccumType, AccumType > > &includeLimits, uInt64 maxCount) const
 mask and ranges More...
 
virtual void _populateArrays (vector< vector< AccumType > > &arys, uInt64 &currentCount, const DataIterator &dataBegin, const WeightsIterator &weightsBegin, Int64 nr, uInt dataStride, const vector< std::pair< AccumType, AccumType > > &includeLimits, uInt64 maxCount) const
 weights More...
 
virtual void _populateArrays (vector< vector< AccumType > > &arys, uInt64 &currentCount, const DataIterator &dataBegin, const WeightsIterator &weightsBegin, Int64 nr, uInt dataStride, const DataRanges &ranges, Bool isInclude, const vector< std::pair< AccumType, AccumType > > &includeLimits, uInt64 maxCount) const
 weights and ranges More...
 
virtual void _populateArrays (vector< vector< AccumType > > &arys, uInt64 &currentCount, const DataIterator &dataBegin, const WeightsIterator &weightBegin, Int64 nr, uInt dataStride, const MaskIterator &maskBegin, uInt maskStride, const vector< std::pair< AccumType, AccumType > > &includeLimits, uInt64 maxCount) const
 weights and mask More...
 
virtual void _populateArrays (vector< vector< AccumType > > &arys, uInt64 &currentCount, const DataIterator &dataBegin, const WeightsIterator &weightBegin, Int64 nr, uInt dataStride, const MaskIterator &maskBegin, uInt maskStride, const DataRanges &ranges, Bool isInclude, const vector< std::pair< AccumType, AccumType > > &includeLimits, uInt64 maxCount) const
 weights, mask, ranges More...
 
virtual Bool _populateTestArray (vector< AccumType > &ary, const DataIterator &dataBegin, Int64 nr, uInt dataStride, uInt maxElements) const
 no weights, no mask, no ranges More...
 
virtual Bool _populateTestArray (vector< AccumType > &ary, const DataIterator &dataBegin, Int64 nr, uInt dataStride, const DataRanges &ranges, Bool isInclude, uInt maxElements) const
 ranges More...
 
virtual Bool _populateTestArray (vector< AccumType > &ary, const DataIterator &dataBegin, Int64 nr, uInt dataStride, const MaskIterator &maskBegin, uInt maskStride, uInt maxElements) const
 mask More...
 
virtual Bool _populateTestArray (vector< AccumType > &ary, const DataIterator &dataBegin, Int64 nr, uInt dataStride, const MaskIterator &maskBegin, uInt maskStride, const DataRanges &ranges, Bool isInclude, uInt maxElements) const
 mask and ranges More...
 
virtual Bool _populateTestArray (vector< AccumType > &ary, const DataIterator &dataBegin, const WeightsIterator &weightBegin, Int64 nr, uInt dataStride, uInt maxElements) const
 weights More...
 
virtual Bool _populateTestArray (vector< AccumType > &ary, const DataIterator &dataBegin, const WeightsIterator &weightsBegin, Int64 nr, uInt dataStride, const DataRanges &ranges, Bool isInclude, uInt maxElements) const
 weights and ranges More...
 
virtual Bool _populateTestArray (vector< AccumType > &ary, const DataIterator &dataBegin, const WeightsIterator &weightBegin, Int64 nr, uInt dataStride, const MaskIterator &maskBegin, uInt maskStride, uInt maxElements) const
 weights and mask More...
 
virtual Bool _populateTestArray (vector< AccumType > &ary, const DataIterator &dataBegin, const WeightsIterator &weightBegin, Int64 nr, uInt dataStride, const MaskIterator &maskBegin, uInt maskStride, const DataRanges &ranges, Bool isInclude, uInt maxElements) const
 weights, mask, ranges More...
 
virtual void _unweightedStats (StatsData< AccumType > &stats, uInt64 &ngood, LocationType &location, const DataIterator &dataBegin, Int64 nr, uInt dataStride)
 no weights, no mask, no ranges More...
 
virtual void _unweightedStats (StatsData< AccumType > &stats, uInt64 &ngood, LocationType &location, const DataIterator &dataBegin, Int64 nr, uInt dataStride, const DataRanges &ranges, Bool isInclude)
 no weights, no mask More...
 
virtual void _unweightedStats (StatsData< AccumType > &stats, uInt64 &ngood, LocationType &location, const DataIterator &dataBegin, Int64 nr, uInt dataStride, const MaskIterator &maskBegin, uInt maskStride)
 
virtual void _unweightedStats (StatsData< AccumType > &stats, uInt64 &ngood, LocationType &location, const DataIterator &dataBegin, Int64 nr, uInt dataStride, const MaskIterator &maskBegin, uInt maskStride, const DataRanges &ranges, Bool isInclude)
 
virtual void _updateDataProviderMaxMin (const StatsData< AccumType > &threadStats)
 
virtual void _weightedStats (StatsData< AccumType > &stats, LocationType &location, const DataIterator &dataBegin, const WeightsIterator &weightsBegin, Int64 nr, uInt dataStride)
 has weights, but no mask, no ranges More...
 
virtual void _weightedStats (StatsData< AccumType > &stats, LocationType &location, const DataIterator &dataBegin, const WeightsIterator &weightsBegin, Int64 nr, uInt dataStride, const DataRanges &ranges, Bool isInclude)
 
virtual void _weightedStats (StatsData< AccumType > &stats, LocationType &location, const DataIterator &dataBegin, const WeightsIterator &weightBegin, Int64 nr, uInt dataStride, const MaskIterator &maskBegin, uInt maskStride)
 
virtual void _weightedStats (StatsData< AccumType > &stats, LocationType &location, const DataIterator &dataBegin, const WeightsIterator &weightBegin, Int64 nr, uInt dataStride, const MaskIterator &maskBegin, uInt maskStride, const DataRanges &ranges, Bool isInclude)
 
- Protected Member Functions inherited from casacore::StatisticsAlgorithm< AccumType, DataIterator, MaskIterator, WeightsIterator >
 StatisticsAlgorithm ()
 
StatisticsAlgorithm< CASA_STATP > & operator= (const StatisticsAlgorithm< CASA_STATP > &other)
 use copy semantics More...
 
const vector< Int64 > & _getCounts () const
 
const vector< DataIterator > & _getData () const
 
StatsDataProvider< CASA_STATP > * _getDataProvider ()
 
const vector< uInt > & _getDataStrides () const
 
const std::map< uInt, Bool > & _getIsIncludeRanges () const
 
const std::map< uInt, MaskIterator > _getMasks () const
 
const std::map< uInt, uInt > & _getMaskStrides () const
 
const std::map< uInt, DataRanges > & _getRanges () const
 
const std::set< StatisticsData::STATS_getStatsToCalculate () const
 
std::vector< AccumType > & _getSortedArray ()
 
virtual const std::set< StatisticsData::STATS > & _getUnsupportedStatistics () const
 
const std::map< uInt, WeightsIterator > & _getWeights () const
 
void _setSortedArray (const vector< AccumType > &v)
 

Private Member Functions

vector< vector< uInt64 > > _binCounts (vector< CountedPtr< AccumType > > &sameVal, const vector< typename StatisticsUtilities< AccumType >::BinDesc > &binDesc)
 tally the number of data points that fall into each bin provided by binDesc Any points that are less than binDesc.minLimit or greater than binDesc.minLimit + binDesc.nBins*binDesc.binWidth are not included in the counts. More...
 
void _computeBins (vector< vector< uInt64 > > &bins, vector< CountedPtr< AccumType > > &sameVal, vector< Bool > &allSame, DataIterator dataIter, MaskIterator maskIter, WeightsIterator weightsIter, uInt64 count, const vector< typename StatisticsUtilities< AccumType >::BinDesc > &binDesc, const vector< AccumType > &maxLimit)
 
void _computeDataArray (vector< AccumType > &ary, DataIterator dataIter, MaskIterator maskIter, WeightsIterator weightsIter, uInt64 dataCount)
 
void _computeDataArrays (vector< vector< AccumType > > &arys, uInt64 &currentCount, DataIterator dataIter, MaskIterator maskIter, WeightsIterator weightsIter, uInt64 dataCount, const vector< std::pair< AccumType, AccumType > > &includeLimits, uInt64 maxCount)
 
void _computeMinMax (CountedPtr< AccumType > &mymax, CountedPtr< AccumType > &mymin, DataIterator dataIter, MaskIterator maskIter, WeightsIterator weightsIter, uInt64 dataCount)
 
void _computeStats (StatsData< AccumType > &stats, uInt64 &ngood, LocationType &location, DataIterator dataIter, MaskIterator maskIter, WeightsIterator weightsIter, uInt64 count)
 
void _createDataArray (vector< AccumType > &array)
 Create an unsorted array of the complete data set. More...
 
void _createDataArrays (vector< vector< AccumType > > &arrays, const vector< std::pair< AccumType, AccumType > > &includeLimits, uInt64 maxCount)
 
vector< std::map< uInt64, AccumType > > _dataFromMultipleBins (const vector< typename StatisticsUtilities< AccumType >::BinDesc > &binDesc, uInt64 maxArraySize, const vector< std::set< uInt64 > > &dataIndices, uInt64 nBins)
 extract data from multiple histograms given by binDesc. More...
 
vector< std::map< uInt64, AccumType > > _dataFromSingleBins (const vector< uInt64 > &binNpts, uInt64 maxArraySize, const vector< std::pair< AccumType, AccumType > > &binLimits, const vector< std::set< uInt64 > > &dataIndices, uInt64 nBins)
 
Int64 _doNpts ()
 
Bool _increment (Bool includeIDataset)
 increment the relevant loop counters More...
 
void _incrementThreadIters (DataIterator &dataIter, MaskIterator &maskIter, WeightsIterator &weightsIter, uInt64 &offset, uInt nthreads) const
 increment thread-based iterators More...
 
std::map< uInt64, AccumType > _indicesToValues (CountedPtr< uInt64 > knownNpts, CountedPtr< AccumType > knownMin, CountedPtr< AccumType > knownMax, uInt64 maxArraySize, const std::set< uInt64 > &dataIndices, Bool persistSortedArray, uInt64 nBins)
 get the values for the specified indices in the sorted array of all good data More...
 
void _initIterators ()
 
void _initLoopVars ()
 
void _initThreadVars (uInt &nBlocks, uInt64 &extra, uInt &nthreads, PtrHolder< DataIterator > &dataIter, PtrHolder< MaskIterator > &maskIter, PtrHolder< WeightsIterator > &weightsIter, PtrHolder< uInt64 > &offset, uInt nThreadsMax) const
 
Bool _isNptsSmallerThan (vector< AccumType > &arrayToSort, uInt maxArraySize)
 Determine by scanning the dataset if the number of good points is smaller than maxArraySize. More...
 
std::set< uInt64_medianIndices (CountedPtr< uInt64 > knownNpts)
 get the index (for odd npts) or indices (for even npts) of the median of the sorted array. More...
 
uInt _nThreadsMax () const
 
uInt _threadIdx () const
 
Bool _valuesFromSortedArray (std::map< uInt64, AccumType > &values, CountedPtr< uInt64 > knownNpts, const std::set< uInt64 > &indices, uInt64 maxArraySize, Bool persistSortedArray)
 get values from sorted array if the array is small enough to be held in memory. More...
 

Static Private Member Functions

static void _convertToAbsDevMedArray (vector< AccumType > &myArray, AccumType median)
 convert in place by taking the absolute value of the difference of the vector and the median More...
 
static void _makeBins (typename StatisticsUtilities< AccumType >::BinDesc &bins, AccumType minData, AccumType maxData, uInt maxBins, Bool allowPad)
 If allowPad is True, then pad the lower side of the lowest bin and the higher side of the highest bin so that minData and maxData do not fall on the edge of their respective bins. More...
 
static void _mergeResults (vector< vector< uInt64 > > &bins, vector< CountedPtr< AccumType > > &sameVal, vector< Bool > &allSame, const PtrHolder< vector< vector< uInt64 > > > &tBins, const PtrHolder< vector< CountedPtr< AccumType > > > &tSameVal, const PtrHolder< vector< Bool > > &tAllSame, uInt nThreadsMax)
 

Private Attributes

StatsData< AccumType > _statsData
 
Int64 _idataset
 
Bool _calculateAsAdded
 
Bool _doMaxMin
 
Bool _doMedAbsDevMed
 
Bool _mustAccumulate
 
Bool _hasData
 
vector< DataIterator >::const_iterator _dend
 mutables, used to mitigate repeated code More...
 
vector< DataIterator >::const_iterator _diter
 
vector< Int64 >::const_iterator _citer
 
vector< uInt >::const_iterator _dsiter
 
std::map< uInt, MaskIterator > _masks
 
uInt _maskStride
 
std::map< uInt, WeightsIterator > _weights
 
std::map< uInt, DataRanges_ranges
 
std::map< uInt, Bool_isIncludeRanges
 
Bool _hasMask
 
Bool _hasRanges
 
Bool _hasWeights
 
Bool _myIsInclude
 
DataRanges _myRanges
 
MaskIterator _myMask
 
DataIterator _myData
 
WeightsIterator _myWeights
 
uInt _dataCount
 
uInt _myStride
 
uInt64 _myCount
 

Static Private Attributes

static const uInt CACHE_PADDING
 
static const uInt BLOCK_SIZE
 

Additional Inherited Members

- Static Protected Member Functions inherited from casacore::StatisticsAlgorithm< AccumType, DataIterator, MaskIterator, WeightsIterator >
static std::map< Double, uInt64_indicesFromQuantiles (uInt64 npts, const std::set< Double > &quantiles)
 
*static std::map< uInt64, AccumType > _valuesFromArray (vector< AccumType > &myArray, const std::set< uInt64 > &indices)
 The array can be changed by paritally sorting it up to the largest index. More...
 

Detailed Description

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

Class to calculate statistics in a "classical" sense, ie using accumulators with no special filtering beyond optional range filtering etc.

setCalculateAsAdded() allows one to specify if statistics should be calculated and updated on upon each call to set/addData(). If False, statistics will be calculated only when getStatistic(), getStatistics(), or similar methods are called. Setting this value to True allows the caller to not have to keep all the data accessible at once. Note however, that all data must be simultaneously accessible if quantile (eg median) calculations are desired.

I attempted to write this class using the Composite design pattern, with eg the _unweightedStats() and _weightedStats() methods in their own class, but for reasons I don't understand, that impacted performance significantly. So I'm using the current architecture, which I know is a bit a maintenance nightmare.

Definition at line 60 of file ClassicalStatistics.h.

Constructor & Destructor Documentation

§ ClassicalStatistics() [1/2]

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::ClassicalStatistics ( )

§ ClassicalStatistics() [2/2]

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::ClassicalStatistics ( const ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator > &  cs)

copy semantics

§ ~ClassicalStatistics()

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
virtual casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::~ClassicalStatistics ( )
virtual

Member Function Documentation

§ _accumNpts() [1/8]

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
virtual void casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_accumNpts ( uInt64 npts,
const DataIterator &  dataBegin,
Int64  nr,
uInt  dataStride 
) const
inlineprotectedvirtual

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 in casacore::ConstrainedRangeStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >, casacore::ConstrainedRangeStatistics< CASA_STATP >, and casacore::HingesFencesStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >.

Referenced by casacore::ClassicalStatistics< CASA_STATP >::hasData().

§ _accumNpts() [2/8]

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
virtual void casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_accumNpts ( uInt64 npts,
const DataIterator &  dataBegin,
Int64  nr,
uInt  dataStride,
const DataRanges ranges,
Bool  isInclude 
) const
protectedvirtual

§ _accumNpts() [3/8]

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
virtual void casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_accumNpts ( uInt64 npts,
const DataIterator &  dataBegin,
Int64  nr,
uInt  dataStride,
const MaskIterator &  maskBegin,
uInt  maskStride 
) const
protectedvirtual

§ _accumNpts() [4/8]

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
virtual void casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_accumNpts ( uInt64 npts,
const DataIterator &  dataBegin,
Int64  nr,
uInt  dataStride,
const MaskIterator &  maskBegin,
uInt  maskStride,
const DataRanges ranges,
Bool  isInclude 
) const
protectedvirtual

§ _accumNpts() [5/8]

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
virtual void casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_accumNpts ( uInt64 npts,
const DataIterator &  dataBegin,
const WeightsIterator &  weightsBegin,
Int64  nr,
uInt  dataStride 
) const
protectedvirtual

§ _accumNpts() [6/8]

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
virtual void casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_accumNpts ( uInt64 npts,
const DataIterator &  dataBegin,
const WeightsIterator &  weightsBegin,
Int64  nr,
uInt  dataStride,
const DataRanges ranges,
Bool  isInclude 
) const
protectedvirtual

§ _accumNpts() [7/8]

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
virtual void casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_accumNpts ( uInt64 npts,
const DataIterator &  dataBegin,
const WeightsIterator &  weightsBegin,
Int64  nr,
uInt  dataStride,
const MaskIterator &  maskBegin,
uInt  maskStride,
const DataRanges ranges,
Bool  isInclude 
) const
protectedvirtual

§ _accumNpts() [8/8]

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
virtual void casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_accumNpts ( uInt64 npts,
const DataIterator &  dataBegin,
const WeightsIterator &  weightBegin,
Int64  nr,
uInt  dataStride,
const MaskIterator &  maskBegin,
uInt  maskStride 
) const
protectedvirtual

§ _accumulate() [1/2]

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
void casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_accumulate ( StatsData< AccumType > &  stats,
const AccumType &  datum,
const LocationType location 
)
inlineprotected

§ _accumulate() [2/2]

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
void casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_accumulate ( StatsData< AccumType > &  stats,
const AccumType &  datum,
const AccumType &  weight,
const LocationType location 
)
inlineprotected

§ _addData()

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
void casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_addData ( )
protectedvirtual

Allows derived classes to do things after data is set or added.

Default implementation does nothing.

Reimplemented from casacore::StatisticsAlgorithm< AccumType, DataIterator, MaskIterator, WeightsIterator >.

Referenced by casacore::ClassicalStatistics< CASA_STATP >::hasData().

§ _binCounts()

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
vector<vector<uInt64> > casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_binCounts ( vector< CountedPtr< AccumType > > &  sameVal,
const vector< typename StatisticsUtilities< AccumType >::BinDesc > &  binDesc 
)
private

tally the number of data points that fall into each bin provided by binDesc Any points that are less than binDesc.minLimit or greater than binDesc.minLimit + binDesc.nBins*binDesc.binWidth are not included in the counts.

A data point that falls exactly on a bin boundary is considered to be in the higher index bin. sameVal will be non-null if all the good values in the histogram range are the same. In that case, the value held will be the value of each of those data points.

§ _clearData()

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
void casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_clearData ( )
protectedvirtual

§ _clearStats()

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
void casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_clearStats ( )
protected

§ _computeBins()

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
void casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_computeBins ( vector< vector< uInt64 > > &  bins,
vector< CountedPtr< AccumType > > &  sameVal,
vector< Bool > &  allSame,
DataIterator  dataIter,
MaskIterator  maskIter,
WeightsIterator  weightsIter,
uInt64  count,
const vector< typename StatisticsUtilities< AccumType >::BinDesc > &  binDesc,
const vector< AccumType > &  maxLimit 
)
private

§ _computeDataArray()

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
void casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_computeDataArray ( vector< AccumType > &  ary,
DataIterator  dataIter,
MaskIterator  maskIter,
WeightsIterator  weightsIter,
uInt64  dataCount 
)
private

§ _computeDataArrays()

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
void casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_computeDataArrays ( vector< vector< AccumType > > &  arys,
uInt64 currentCount,
DataIterator  dataIter,
MaskIterator  maskIter,
WeightsIterator  weightsIter,
uInt64  dataCount,
const vector< std::pair< AccumType, AccumType > > &  includeLimits,
uInt64  maxCount 
)
private

§ _computeMinMax()

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
void casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_computeMinMax ( CountedPtr< AccumType > &  mymax,
CountedPtr< AccumType > &  mymin,
DataIterator  dataIter,
MaskIterator  maskIter,
WeightsIterator  weightsIter,
uInt64  dataCount 
)
private

§ _computeStats()

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
void casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_computeStats ( StatsData< AccumType > &  stats,
uInt64 ngood,
LocationType location,
DataIterator  dataIter,
MaskIterator  maskIter,
WeightsIterator  weightsIter,
uInt64  count 
)
private

§ _convertToAbsDevMedArray()

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
static void casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_convertToAbsDevMedArray ( vector< AccumType > &  myArray,
AccumType  median 
)
staticprivate

convert in place by taking the absolute value of the difference of the vector and the median

§ _createDataArray()

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
void casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_createDataArray ( vector< AccumType > &  array)
private

Create an unsorted array of the complete data set.

If includeLimits is specified, only points within those limits (including min but excluding max, as per definition of bins), are included.

§ _createDataArrays()

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
void casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_createDataArrays ( vector< vector< AccumType > > &  arrays,
const vector< std::pair< AccumType, AccumType > > &  includeLimits,
uInt64  maxCount 
)
private

§ _dataFromMultipleBins()

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
vector<std::map<uInt64, AccumType> > casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_dataFromMultipleBins ( const vector< typename StatisticsUtilities< AccumType >::BinDesc > &  binDesc,
uInt64  maxArraySize,
const vector< std::set< uInt64 > > &  dataIndices,
uInt64  nBins 
)
private

extract data from multiple histograms given by binDesc.

dataIndices represent the indices of the sorted arrays of values to extract. There should be exactly one set of data indices to extract for each supplied histogram. The data indices are relative to the minimum value of the minimum bin in their repsective histograms. The ordering of the maps in the returned vector represent the ordering of histograms in binDesc. binDesc should contain non-overlapping histograms and the histograms should be specified in ascending order.

§ _dataFromSingleBins()

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
vector<std::map<uInt64, AccumType> > casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_dataFromSingleBins ( const vector< uInt64 > &  binNpts,
uInt64  maxArraySize,
const vector< std::pair< AccumType, AccumType > > &  binLimits,
const vector< std::set< uInt64 > > &  dataIndices,
uInt64  nBins 
)
private

§ _doMinMax()

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
void casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_doMinMax ( AccumType &  vmin,
AccumType &  vmax 
)
protected

scan dataset(s) to find min and max

Referenced by casacore::ClassicalStatistics< CASA_STATP >::hasData().

§ _doNpts()

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
Int64 casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_doNpts ( )
private

§ _findBins() [1/8]

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
virtual void casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_findBins ( vector< vector< uInt64 > > &  binCounts,
vector< CountedPtr< AccumType > > &  sameVal,
vector< Bool > &  allSame,
const DataIterator &  dataBegin,
Int64  nr,
uInt  dataStride,
const vector< typename StatisticsUtilities< AccumType >::BinDesc > &  binDesc,
const vector< AccumType > &  maxLimit 
) const
protectedvirtual

Get the counts of data within the specified histogram bins.

The number of arrays within binCounts will be equal to the number of histograms in binDesc. Each array within binCounts will have the same number of elements as the number of bins in its corresponding histogram in binDesc.

Reimplemented in casacore::ConstrainedRangeStatistics< CASA_STATP >.

Referenced by casacore::ClassicalStatistics< CASA_STATP >::hasData().

§ _findBins() [2/8]

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
virtual void casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_findBins ( vector< vector< uInt64 > > &  binCounts,
vector< CountedPtr< AccumType > > &  sameVal,
vector< Bool > &  allSame,
const DataIterator &  dataBegin,
Int64  nr,
uInt  dataStride,
const DataRanges ranges,
Bool  isInclude,
const vector< typename StatisticsUtilities< AccumType >::BinDesc > &  binDesc,
const vector< AccumType > &  maxLimit 
) const
protectedvirtual

§ _findBins() [3/8]

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
virtual void casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_findBins ( vector< vector< uInt64 > > &  binCounts,
vector< CountedPtr< AccumType > > &  sameVal,
vector< Bool > &  allSame,
const DataIterator &  dataBegin,
Int64  nr,
uInt  dataStride,
const MaskIterator &  maskBegin,
uInt  maskStride,
const vector< typename StatisticsUtilities< AccumType >::BinDesc > &  binDesc,
const vector< AccumType > &  maxLimit 
) const
protectedvirtual

§ _findBins() [4/8]

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
virtual void casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_findBins ( vector< vector< uInt64 > > &  binCounts,
vector< CountedPtr< AccumType > > &  sameVal,
vector< Bool > &  allSame,
const DataIterator &  dataBegin,
Int64  nr,
uInt  dataStride,
const MaskIterator &  maskBegin,
uInt  maskStride,
const DataRanges ranges,
Bool  isInclude,
const vector< typename StatisticsUtilities< AccumType >::BinDesc > &  binDesc,
const vector< AccumType > &  maxLimit 
) const
protectedvirtual

§ _findBins() [5/8]

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
virtual void casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_findBins ( vector< vector< uInt64 > > &  binCounts,
vector< CountedPtr< AccumType > > &  sameVal,
vector< Bool > &  allSame,
const DataIterator &  dataBegin,
const WeightsIterator &  weightsBegin,
Int64  nr,
uInt  dataStride,
const vector< typename StatisticsUtilities< AccumType >::BinDesc > &  binDesc,
const vector< AccumType > &  maxLimit 
) const
protectedvirtual

§ _findBins() [6/8]

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
virtual void casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_findBins ( vector< vector< uInt64 > > &  binCounts,
vector< CountedPtr< AccumType > > &  sameVal,
vector< Bool > &  allSame,
const DataIterator &  dataBegin,
const WeightsIterator &  weightsBegin,
Int64  nr,
uInt  dataStride,
const DataRanges ranges,
Bool  isInclude,
const vector< typename StatisticsUtilities< AccumType >::BinDesc > &  binDesc,
const vector< AccumType > &  maxLimit 
) const
protectedvirtual

§ _findBins() [7/8]

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
virtual void casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_findBins ( vector< vector< uInt64 > > &  binCounts,
vector< CountedPtr< AccumType > > &  sameVal,
vector< Bool > &  allSame,
const DataIterator &  dataBegin,
const WeightsIterator &  weightsBegin,
Int64  nr,
uInt  dataStride,
const MaskIterator &  maskBegin,
uInt  maskStride,
const DataRanges ranges,
Bool  isInclude,
const vector< typename StatisticsUtilities< AccumType >::BinDesc > &  binDesc,
const vector< AccumType > &  maxLimit 
) const
protectedvirtual

§ _findBins() [8/8]

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
virtual void casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_findBins ( vector< vector< uInt64 > > &  binCounts,
vector< CountedPtr< AccumType > > &  sameVal,
vector< Bool > &  allSame,
const DataIterator &  dataBegin,
const WeightsIterator &  weightBegin,
Int64  nr,
uInt  dataStride,
const MaskIterator &  maskBegin,
uInt  maskStride,
const vector< typename StatisticsUtilities< AccumType >::BinDesc > &  binDesc,
const vector< AccumType > &  maxLimit 
) const
protectedvirtual

§ _getDoMaxMin()

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
Bool casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_getDoMaxMin ( ) const
inlineprotected

Definition at line 349 of file ClassicalStatistics.h.

§ _getIDataset()

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
Int64 casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_getIDataset ( ) const
inlineprotected

Definition at line 351 of file ClassicalStatistics.h.

§ _getInitialStats()

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
virtual StatsData<AccumType> casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_getInitialStats ( ) const
protectedvirtual

§ _getStatistic()

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
AccumType casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_getStatistic ( StatisticsData::STATS  stat)
protectedvirtual

§ _getStatistics()

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
StatsData<AccumType> casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_getStatistics ( )
protectedvirtual

§ _getStatsData() [1/2]

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
virtual StatsData<AccumType>& casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_getStatsData ( )
inlineprotectedvirtual

retreive stats structure.

Allows derived classes to maintain their own StatsData structs.

Reimplemented in casacore::FitToHalfStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >.

Definition at line 361 of file ClassicalStatistics.h.

§ _getStatsData() [2/2]

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
virtual const StatsData<AccumType>& casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_getStatsData ( ) const
inlineprotectedvirtual

§ _increment()

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
Bool casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_increment ( Bool  includeIDataset)
private

increment the relevant loop counters

§ _incrementThreadIters()

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
void casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_incrementThreadIters ( DataIterator &  dataIter,
MaskIterator &  maskIter,
WeightsIterator &  weightsIter,
uInt64 offset,
uInt  nthreads 
) const
private

increment thread-based iterators

§ _indicesToValues()

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
std::map<uInt64, AccumType> casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_indicesToValues ( CountedPtr< uInt64 knownNpts,
CountedPtr< AccumType >  knownMin,
CountedPtr< AccumType >  knownMax,
uInt64  maxArraySize,
const std::set< uInt64 > &  dataIndices,
Bool  persistSortedArray,
uInt64  nBins 
)
private

get the values for the specified indices in the sorted array of all good data

§ _initIterators()

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
void casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_initIterators ( )
private

§ _initLoopVars()

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
void casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_initLoopVars ( )
private

§ _initThreadVars()

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
void casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_initThreadVars ( uInt nBlocks,
uInt64 extra,
uInt nthreads,
PtrHolder< DataIterator > &  dataIter,
PtrHolder< MaskIterator > &  maskIter,
PtrHolder< WeightsIterator > &  weightsIter,
PtrHolder< uInt64 > &  offset,
uInt  nThreadsMax 
) const
private

§ _isNptsSmallerThan()

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
Bool casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_isNptsSmallerThan ( vector< AccumType > &  arrayToSort,
uInt  maxArraySize 
)
private

Determine by scanning the dataset if the number of good points is smaller than maxArraySize.

If so, arrayToSort will contain the unsorted data values. If not, this vector will be empty.

§ _makeBins()

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
static void casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_makeBins ( typename StatisticsUtilities< AccumType >::BinDesc &  bins,
AccumType  minData,
AccumType  maxData,
uInt  maxBins,
Bool  allowPad 
)
staticprivate

If allowPad is True, then pad the lower side of the lowest bin and the higher side of the highest bin so that minData and maxData do not fall on the edge of their respective bins.

If false, no padding so that minData and maxData are also exactly the histogram abscissa limits.

§ _medianIndices()

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
std::set<uInt64> casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_medianIndices ( CountedPtr< uInt64 knownNpts)
private

get the index (for odd npts) or indices (for even npts) of the median of the sorted array.

If knownNpts is not null, it will be used and must be correct. If it is null, the value of _npts will be used if it has been previously calculated. If not, the data sets will be scanned to determine npts.

§ _mergeResults()

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
static void casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_mergeResults ( vector< vector< uInt64 > > &  bins,
vector< CountedPtr< AccumType > > &  sameVal,
vector< Bool > &  allSame,
const PtrHolder< vector< vector< uInt64 > > > &  tBins,
const PtrHolder< vector< CountedPtr< AccumType > > > &  tSameVal,
const PtrHolder< vector< Bool > > &  tAllSame,
uInt  nThreadsMax 
)
staticprivate

§ _minMax() [1/8]

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
virtual void casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_minMax ( CountedPtr< AccumType > &  mymin,
CountedPtr< AccumType > &  mymax,
const DataIterator &  dataBegin,
Int64  nr,
uInt  dataStride 
) const
protectedvirtual

§ _minMax() [2/8]

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
virtual void casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_minMax ( CountedPtr< AccumType > &  mymin,
CountedPtr< AccumType > &  mymax,
const DataIterator &  dataBegin,
Int64  nr,
uInt  dataStride,
const DataRanges ranges,
Bool  isInclude 
) const
protectedvirtual

§ _minMax() [3/8]

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
virtual void casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_minMax ( CountedPtr< AccumType > &  mymin,
CountedPtr< AccumType > &  mymax,
const DataIterator &  dataBegin,
Int64  nr,
uInt  dataStride,
const MaskIterator &  maskBegin,
uInt  maskStride 
) const
protectedvirtual

§ _minMax() [4/8]

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
virtual void casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_minMax ( CountedPtr< AccumType > &  mymin,
CountedPtr< AccumType > &  mymax,
const DataIterator &  dataBegin,
Int64  nr,
uInt  dataStride,
const MaskIterator &  maskBegin,
uInt  maskStride,
const DataRanges ranges,
Bool  isInclude 
) const
protectedvirtual

§ _minMax() [5/8]

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
virtual void casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_minMax ( CountedPtr< AccumType > &  mymin,
CountedPtr< AccumType > &  mymax,
const DataIterator &  dataBegin,
const WeightsIterator &  weightsBegin,
Int64  nr,
uInt  dataStride 
) const
protectedvirtual

§ _minMax() [6/8]

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
virtual void casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_minMax ( CountedPtr< AccumType > &  mymin,
CountedPtr< AccumType > &  mymax,
const DataIterator &  dataBegin,
const WeightsIterator &  weightsBegin,
Int64  nr,
uInt  dataStride,
const DataRanges ranges,
Bool  isInclude 
) const
protectedvirtual

§ _minMax() [7/8]

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
virtual void casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_minMax ( CountedPtr< AccumType > &  mymin,
CountedPtr< AccumType > &  mymax,
const DataIterator &  dataBegin,
const WeightsIterator &  weightsBegin,
Int64  nr,
uInt  dataStride,
const MaskIterator &  maskBegin,
uInt  maskStride,
const DataRanges ranges,
Bool  isInclude 
) const
protectedvirtual

§ _minMax() [8/8]

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
virtual void casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_minMax ( CountedPtr< AccumType > &  mymin,
CountedPtr< AccumType > &  mymax,
const DataIterator &  dataBegin,
const WeightsIterator &  weightBegin,
Int64  nr,
uInt  dataStride,
const MaskIterator &  maskBegin,
uInt  maskStride 
) const
protectedvirtual

§ _nThreadsMax()

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
uInt casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_nThreadsMax ( ) const
private

§ _populateArray() [1/8]

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
virtual void casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_populateArray ( vector< AccumType > &  ary,
const DataIterator &  dataBegin,
Int64  nr,
uInt  dataStride 
) const
protectedvirtual

populate an unsorted array with valid data.

no weights, no mask, no ranges

Referenced by casacore::ClassicalStatistics< CASA_STATP >::_getStatsData().

§ _populateArray() [2/8]

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
virtual void casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_populateArray ( vector< AccumType > &  ary,
const DataIterator &  dataBegin,
Int64  nr,
uInt  dataStride,
const DataRanges ranges,
Bool  isInclude 
) const
protectedvirtual

ranges

§ _populateArray() [3/8]

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
virtual void casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_populateArray ( vector< AccumType > &  ary,
const DataIterator &  dataBegin,
Int64  nr,
uInt  dataStride,
const MaskIterator &  maskBegin,
uInt  maskStride 
) const
protectedvirtual

§ _populateArray() [4/8]

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
virtual void casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_populateArray ( vector< AccumType > &  ary,
const DataIterator &  dataBegin,
Int64  nr,
uInt  dataStride,
const MaskIterator &  maskBegin,
uInt  maskStride,
const DataRanges ranges,
Bool  isInclude 
) const
protectedvirtual

mask and ranges

§ _populateArray() [5/8]

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
virtual void casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_populateArray ( vector< AccumType > &  ary,
const DataIterator &  dataBegin,
const WeightsIterator &  weightsBegin,
Int64  nr,
uInt  dataStride 
) const
protectedvirtual

weights

§ _populateArray() [6/8]

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
virtual void casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_populateArray ( vector< AccumType > &  ary,
const DataIterator &  dataBegin,
const WeightsIterator &  weightsBegin,
Int64  nr,
uInt  dataStride,
const DataRanges ranges,
Bool  isInclude 
) const
protectedvirtual

weights and ranges

§ _populateArray() [7/8]

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
virtual void casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_populateArray ( vector< AccumType > &  ary,
const DataIterator &  dataBegin,
const WeightsIterator &  weightBegin,
Int64  nr,
uInt  dataStride,
const MaskIterator &  maskBegin,
uInt  maskStride 
) const
protectedvirtual

weights and mask

§ _populateArray() [8/8]

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
virtual void casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_populateArray ( vector< AccumType > &  ary,
const DataIterator &  dataBegin,
const WeightsIterator &  weightBegin,
Int64  nr,
uInt  dataStride,
const MaskIterator &  maskBegin,
uInt  maskStride,
const DataRanges ranges,
Bool  isInclude 
) const
protectedvirtual

weights, mask, ranges

§ _populateArrays() [1/8]

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
virtual void casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_populateArrays ( vector< vector< AccumType > > &  arys,
uInt64 currentCount,
const DataIterator &  dataBegin,
Int64  nr,
uInt  dataStride,
const vector< std::pair< AccumType, AccumType > > &  includeLimits,
uInt64  maxCount 
) const
protectedvirtual

Create a vector of unsorted arrays, one array for each bin defined by includeLimits.

includeLimits should be non-overlapping and should be given in ascending order (the algorithm used assumes this). Once the sum of the lengths of all arrays equals maxCount the method will return with no further processing. no weights, no mask, no ranges

Referenced by casacore::ClassicalStatistics< CASA_STATP >::_getStatsData().

§ _populateArrays() [2/8]

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
virtual void casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_populateArrays ( vector< vector< AccumType > > &  arys,
uInt64 currentCount,
const DataIterator &  dataBegin,
Int64  nr,
uInt  dataStride,
const DataRanges ranges,
Bool  isInclude,
const vector< std::pair< AccumType, AccumType > > &  includeLimits,
uInt64  maxCount 
) const
protectedvirtual

ranges

§ _populateArrays() [3/8]

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
virtual void casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_populateArrays ( vector< vector< AccumType > > &  arys,
uInt64 currentCount,
const DataIterator &  dataBegin,
Int64  nr,
uInt  dataStride,
const MaskIterator &  maskBegin,
uInt  maskStride,
const vector< std::pair< AccumType, AccumType > > &  includeLimits,
uInt64  maxCount 
) const
protectedvirtual

§ _populateArrays() [4/8]

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
virtual void casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_populateArrays ( vector< vector< AccumType > > &  arys,
uInt64 currentCount,
const DataIterator &  dataBegin,
Int64  nr,
uInt  dataStride,
const MaskIterator &  maskBegin,
uInt  maskStride,
const DataRanges ranges,
Bool  isInclude,
const vector< std::pair< AccumType, AccumType > > &  includeLimits,
uInt64  maxCount 
) const
protectedvirtual

mask and ranges

§ _populateArrays() [5/8]

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
virtual void casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_populateArrays ( vector< vector< AccumType > > &  arys,
uInt64 currentCount,
const DataIterator &  dataBegin,
const WeightsIterator &  weightsBegin,
Int64  nr,
uInt  dataStride,
const vector< std::pair< AccumType, AccumType > > &  includeLimits,
uInt64  maxCount 
) const
protectedvirtual

weights

§ _populateArrays() [6/8]

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
virtual void casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_populateArrays ( vector< vector< AccumType > > &  arys,
uInt64 currentCount,
const DataIterator &  dataBegin,
const WeightsIterator &  weightsBegin,
Int64  nr,
uInt  dataStride,
const DataRanges ranges,
Bool  isInclude,
const vector< std::pair< AccumType, AccumType > > &  includeLimits,
uInt64  maxCount 
) const
protectedvirtual

weights and ranges

§ _populateArrays() [7/8]

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
virtual void casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_populateArrays ( vector< vector< AccumType > > &  arys,
uInt64 currentCount,
const DataIterator &  dataBegin,
const WeightsIterator &  weightBegin,
Int64  nr,
uInt  dataStride,
const MaskIterator &  maskBegin,
uInt  maskStride,
const vector< std::pair< AccumType, AccumType > > &  includeLimits,
uInt64  maxCount 
) const
protectedvirtual

weights and mask

§ _populateArrays() [8/8]

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
virtual void casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_populateArrays ( vector< vector< AccumType > > &  arys,
uInt64 currentCount,
const DataIterator &  dataBegin,
const WeightsIterator &  weightBegin,
Int64  nr,
uInt  dataStride,
const MaskIterator &  maskBegin,
uInt  maskStride,
const DataRanges ranges,
Bool  isInclude,
const vector< std::pair< AccumType, AccumType > > &  includeLimits,
uInt64  maxCount 
) const
protectedvirtual

weights, mask, ranges

§ _populateTestArray() [1/8]

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
virtual Bool casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_populateTestArray ( vector< AccumType > &  ary,
const DataIterator &  dataBegin,
Int64  nr,
uInt  dataStride,
uInt  maxElements 
) const
protectedvirtual

no weights, no mask, no ranges

Referenced by casacore::ClassicalStatistics< CASA_STATP >::_getStatsData().

§ _populateTestArray() [2/8]

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
virtual Bool casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_populateTestArray ( vector< AccumType > &  ary,
const DataIterator &  dataBegin,
Int64  nr,
uInt  dataStride,
const DataRanges ranges,
Bool  isInclude,
uInt  maxElements 
) const
protectedvirtual

ranges

§ _populateTestArray() [3/8]

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
virtual Bool casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_populateTestArray ( vector< AccumType > &  ary,
const DataIterator &  dataBegin,
Int64  nr,
uInt  dataStride,
const MaskIterator &  maskBegin,
uInt  maskStride,
uInt  maxElements 
) const
protectedvirtual

mask

§ _populateTestArray() [4/8]

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
virtual Bool casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_populateTestArray ( vector< AccumType > &  ary,
const DataIterator &  dataBegin,
Int64  nr,
uInt  dataStride,
const MaskIterator &  maskBegin,
uInt  maskStride,
const DataRanges ranges,
Bool  isInclude,
uInt  maxElements 
) const
protectedvirtual

mask and ranges

§ _populateTestArray() [5/8]

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
virtual Bool casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_populateTestArray ( vector< AccumType > &  ary,
const DataIterator &  dataBegin,
const WeightsIterator &  weightBegin,
Int64  nr,
uInt  dataStride,
uInt  maxElements 
) const
protectedvirtual

weights

§ _populateTestArray() [6/8]

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
virtual Bool casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_populateTestArray ( vector< AccumType > &  ary,
const DataIterator &  dataBegin,
const WeightsIterator &  weightsBegin,
Int64  nr,
uInt  dataStride,
const DataRanges ranges,
Bool  isInclude,
uInt  maxElements 
) const
protectedvirtual

weights and ranges

§ _populateTestArray() [7/8]

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
virtual Bool casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_populateTestArray ( vector< AccumType > &  ary,
const DataIterator &  dataBegin,
const WeightsIterator &  weightBegin,
Int64  nr,
uInt  dataStride,
const MaskIterator &  maskBegin,
uInt  maskStride,
uInt  maxElements 
) const
protectedvirtual

weights and mask

§ _populateTestArray() [8/8]

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
virtual Bool casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_populateTestArray ( vector< AccumType > &  ary,
const DataIterator &  dataBegin,
const WeightsIterator &  weightBegin,
Int64  nr,
uInt  dataStride,
const MaskIterator &  maskBegin,
uInt  maskStride,
const DataRanges ranges,
Bool  isInclude,
uInt  maxElements 
) const
protectedvirtual

weights, mask, ranges

§ _threadIdx()

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
uInt casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_threadIdx ( ) const
private

§ _unweightedStats() [1/4]

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
virtual void casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_unweightedStats ( StatsData< AccumType > &  stats,
uInt64 ngood,
LocationType location,
const DataIterator &  dataBegin,
Int64  nr,
uInt  dataStride 
)
protectedvirtual

no weights, no mask, no ranges

Referenced by casacore::ClassicalStatistics< CASA_STATP >::_getStatsData().

§ _unweightedStats() [2/4]

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
virtual void casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_unweightedStats ( StatsData< AccumType > &  stats,
uInt64 ngood,
LocationType location,
const DataIterator &  dataBegin,
Int64  nr,
uInt  dataStride,
const DataRanges ranges,
Bool  isInclude 
)
protectedvirtual

no weights, no mask

§ _unweightedStats() [3/4]

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
virtual void casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_unweightedStats ( StatsData< AccumType > &  stats,
uInt64 ngood,
LocationType location,
const DataIterator &  dataBegin,
Int64  nr,
uInt  dataStride,
const MaskIterator &  maskBegin,
uInt  maskStride 
)
protectedvirtual

§ _unweightedStats() [4/4]

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
virtual void casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_unweightedStats ( StatsData< AccumType > &  stats,
uInt64 ngood,
LocationType location,
const DataIterator &  dataBegin,
Int64  nr,
uInt  dataStride,
const MaskIterator &  maskBegin,
uInt  maskStride,
const DataRanges ranges,
Bool  isInclude 
)
protectedvirtual

§ _updateDataProviderMaxMin()

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
virtual void casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_updateDataProviderMaxMin ( const StatsData< AccumType > &  threadStats)
protectedvirtual

§ _valuesFromSortedArray()

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
Bool casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_valuesFromSortedArray ( std::map< uInt64, AccumType > &  values,
CountedPtr< uInt64 knownNpts,
const std::set< uInt64 > &  indices,
uInt64  maxArraySize,
Bool  persistSortedArray 
)
private

get values from sorted array if the array is small enough to be held in memory.

Note that this is the array containing all good data, not data in just a single bin representing a subset of good data. Returns True if the data were successfully retrieved. If True is returned, the values map will contain a map of index to value.

§ _weightedStats() [1/4]

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
virtual void casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_weightedStats ( StatsData< AccumType > &  stats,
LocationType location,
const DataIterator &  dataBegin,
const WeightsIterator &  weightsBegin,
Int64  nr,
uInt  dataStride 
)
protectedvirtual

has weights, but no mask, no ranges

Referenced by casacore::ClassicalStatistics< CASA_STATP >::_getStatsData().

§ _weightedStats() [2/4]

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
virtual void casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_weightedStats ( StatsData< AccumType > &  stats,
LocationType location,
const DataIterator &  dataBegin,
const WeightsIterator &  weightsBegin,
Int64  nr,
uInt  dataStride,
const DataRanges ranges,
Bool  isInclude 
)
protectedvirtual

§ _weightedStats() [3/4]

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
virtual void casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_weightedStats ( StatsData< AccumType > &  stats,
LocationType location,
const DataIterator &  dataBegin,
const WeightsIterator &  weightBegin,
Int64  nr,
uInt  dataStride,
const MaskIterator &  maskBegin,
uInt  maskStride 
)
protectedvirtual

§ _weightedStats() [4/4]

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
virtual void casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_weightedStats ( StatsData< AccumType > &  stats,
LocationType location,
const DataIterator &  dataBegin,
const WeightsIterator &  weightBegin,
Int64  nr,
uInt  dataStride,
const MaskIterator &  maskBegin,
uInt  maskStride,
const DataRanges ranges,
Bool  isInclude 
)
protectedvirtual

§ algorithm()

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
virtual StatisticsData::ALGORITHM casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::algorithm ( ) const
inlinevirtual

§ getMedian()

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
virtual AccumType casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::getMedian ( CountedPtr< uInt64 knownNpts = NULL,
CountedPtr< AccumType >  knownMin = NULL,
CountedPtr< AccumType >  knownMax = NULL,
uInt  binningThreshholdSizeBytes = 4096 *4096,
Bool  persistSortedArray = False,
uInt64  nBins = 10000 
)
virtual

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.

In that case, and if persistSortedArray is True, this sorted array will remain in memory after the call and will be used on subsequent calls of this method when binningThreshholdSizeBytes is greater than the size of the composite dataset. If persistSortedArray is False, the sorted array will not be stored after this call completes and so any subsequent calls for which the dataset size is less than binningThreshholdSizeBytes, the dataset will be sorted from scratch. Values which are not included due to non-unity strides, are not included in any specified ranges, are masked, or have associated weights of zero are not considered as dataset members for quantile computations. If one has a priori information regarding the number of points (npts) and/or the minimum and maximum values of the data set, these can be supplied to improve performance. Note however, that if these values are not correct, the resulting median and/or quantile values will also not be correct (although see the following notes regarding max/min). Note that if this object has already had getStatistics() called, and the min and max were calculated, there is no need to pass these values in as they have been stored internally and used (although passing them in shouldn't hurt anything). If provided, npts, the number of points falling in the specified ranges which are not masked and have weights > 0, should be exactly correct. min can be less than the true minimum, and max can be greater than the True maximum, but for best performance, these should be as close to the actual min and max as possible. In order for quantile computations to occur over multiple datasets, all datasets must be available. This means that if setCalculateAsAdded() was previously called by passing in a value of True, these methods will throw an exception as the previous call indicates that there is no guarantee that all datasets will be available. If one uses a data provider (by having called setDataProvider()), then this should not be an issue.

get the median of the distribution. For a dataset with an odd number of good points, the median is just the value at index int(N/2) in the equivalent sorted dataset, where N is the number of points. For a dataset with an even number of points, the median is the mean of the values at indices int(N/2)-1 and int(N/2) in the sorted dataset. nBins is the number of bins, per histogram, to use to bin the data. More bins decrease the likelihood that multiple passes of the data set will be necessary, but also increase the amount of memory used. If nBins is set to less than 1,000, it is automatically increased to 1,000; there should be no reason to ever set nBins to be this small.

Implements casacore::StatisticsAlgorithm< AccumType, DataIterator, MaskIterator, WeightsIterator >.

Reimplemented in casacore::ConstrainedRangeStatistics< CASA_STATP >.

Referenced by casacore::ClassicalStatistics< CASA_STATP >::algorithm().

§ getMedianAbsDevMed()

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
virtual AccumType casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::getMedianAbsDevMed ( CountedPtr< uInt64 knownNpts = NULL,
CountedPtr< AccumType >  knownMin = NULL,
CountedPtr< AccumType >  knownMax = NULL,
uInt  binningThreshholdSizeBytes = 4096 *4096,
Bool  persistSortedArray = False,
uInt64  nBins = 10000 
)
virtual

§ getMedianAndQuantiles()

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
virtual AccumType casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::getMedianAndQuantiles ( std::map< Double, AccumType > &  quantiles,
const std::set< Double > &  fractions,
CountedPtr< uInt64 knownNpts = NULL,
CountedPtr< AccumType >  knownMin = NULL,
CountedPtr< AccumType >  knownMax = NULL,
uInt  binningThreshholdSizeBytes = 4096 *4096,
Bool  persistSortedArray = False,
uInt64  nBins = 10000 
)
virtual

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 separate methods.

The return value is the median; the quantiles are returned in the quantiles map. Values in the fractions set represent the locations in the CDF and should be between 0 and 1, exclusive.

Implements casacore::StatisticsAlgorithm< AccumType, DataIterator, MaskIterator, WeightsIterator >.

Reimplemented in casacore::ConstrainedRangeStatistics< CASA_STATP >.

Referenced by casacore::ClassicalStatistics< CASA_STATP >::algorithm().

§ getMinMax()

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
virtual void casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::getMinMax ( AccumType &  mymin,
AccumType &  mymax 
)
virtual

scan the dataset(s) that have been added, and find the min and max.

This method may be called even if setStatsToCaclulate has been called and MAX and MIN has been excluded. If setCalculateAsAdded(True) has previously been called after this object has been (re)initialized, an exception will be thrown.

Reimplemented in casacore::ConstrainedRangeStatistics< CASA_STATP >.

Referenced by casacore::ClassicalStatistics< CASA_STATP >::algorithm().

§ getNPts()

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
virtual uInt64 casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::getNPts ( )
virtual

scan the dataset(s) that have been added, and find the number of good points.

This method may be called even if setStatsToCaclulate has been called and NPTS has been excluded. If setCalculateAsAdded(True) has previously been called after this object has been (re)initialized, an exception will be thrown.

Reimplemented in casacore::FitToHalfStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >, casacore::ConstrainedRangeStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >, and casacore::ConstrainedRangeStatistics< CASA_STATP >.

Referenced by casacore::ClassicalStatistics< CASA_STATP >::algorithm().

§ getQuantiles()

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
virtual std::map<Double, AccumType> casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::getQuantiles ( const std::set< Double > &  fractions,
CountedPtr< uInt64 knownNpts = NULL,
CountedPtr< AccumType >  knownMin = NULL,
CountedPtr< AccumType >  knownMax = NULL,
uInt  binningThreshholdSizeBytes = 4096 *4096,
Bool  persistSortedArray = False,
uInt64  nBins = 10000 
)
virtual

§ getStatisticIndex()

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
virtual std::pair<Int64, Int64> casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::getStatisticIndex ( StatisticsData::STATS  stat)
virtual

§ hasData()

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
Bool casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::hasData ( ) const
inline

Has any data been added to this object? Will return False if the object has been reset and no data have been added afterward.

Definition at line 182 of file ClassicalStatistics.h.

§ operator=()

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
ClassicalStatistics<AccumType, DataIterator, MaskIterator, WeightsIterator>& casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::operator= ( const ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator > &  other)

copy semantics

§ reset()

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
virtual void casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::reset ( )
virtual

§ setCalculateAsAdded()

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
virtual void casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::setCalculateAsAdded ( Bool  c)
virtual

Should statistics be updated with calls to addData or should they only be calculated upon calls to getStatistics etc? Beware that calling this will automatically reinitialize the object, so that it will contain no references to data et al.

after this method has been called.

Reimplemented in casacore::FitToHalfStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >, casacore::ChauvenetCriterionStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >, and casacore::HingesFencesStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >.

Referenced by casacore::ClassicalStatistics< CASA_STATP >::hasData().

§ setDataProvider()

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
void casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::setDataProvider ( StatsDataProvider< AccumType, DataIterator, MaskIterator, WeightsIterator > *  dataProvider)

An exception will be thrown if setCalculateAsAdded(True) has been called.

Referenced by casacore::ClassicalStatistics< CASA_STATP >::hasData().

§ setStatsToCalculate()

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
void casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::setStatsToCalculate ( std::set< StatisticsData::STATS > &  stats)
virtual

Provide guidance to algorithms by specifying a priori which statistics the caller would like calculated.

Reimplemented from casacore::StatisticsAlgorithm< AccumType, DataIterator, MaskIterator, WeightsIterator >.

Referenced by casacore::ClassicalStatistics< CASA_STATP >::hasData().

Member Data Documentation

§ _calculateAsAdded

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
Bool casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_calculateAsAdded
private

Definition at line 657 of file ClassicalStatistics.h.

§ _citer

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
vector<Int64>::const_iterator casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_citer
mutableprivate

Definition at line 662 of file ClassicalStatistics.h.

§ _dataCount

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
uInt casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_dataCount
mutableprivate

Definition at line 674 of file ClassicalStatistics.h.

§ _dend

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
vector<DataIterator>::const_iterator casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_dend
mutableprivate

mutables, used to mitigate repeated code

Definition at line 661 of file ClassicalStatistics.h.

§ _diter

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
vector<DataIterator>::const_iterator casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_diter
mutableprivate

Definition at line 661 of file ClassicalStatistics.h.

§ _doMaxMin

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
Bool casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_doMaxMin
private

§ _doMedAbsDevMed

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
Bool casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_doMedAbsDevMed
private

Definition at line 657 of file ClassicalStatistics.h.

§ _dsiter

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
vector<uInt>::const_iterator casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_dsiter
mutableprivate

Definition at line 663 of file ClassicalStatistics.h.

§ _hasData

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
Bool casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_hasData
private

§ _hasMask

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
Bool casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_hasMask
mutableprivate

Definition at line 669 of file ClassicalStatistics.h.

§ _hasRanges

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
Bool casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_hasRanges
mutableprivate

Definition at line 669 of file ClassicalStatistics.h.

§ _hasWeights

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
Bool casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_hasWeights
mutableprivate

Definition at line 669 of file ClassicalStatistics.h.

§ _idataset

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
Int64 casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_idataset
private

§ _isIncludeRanges

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
std::map<uInt, Bool> casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_isIncludeRanges
mutableprivate

Definition at line 668 of file ClassicalStatistics.h.

§ _masks

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
std::map<uInt, MaskIterator> casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_masks
mutableprivate

Definition at line 664 of file ClassicalStatistics.h.

§ _maskStride

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
uInt casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_maskStride
mutableprivate

Definition at line 665 of file ClassicalStatistics.h.

§ _mustAccumulate

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
Bool casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_mustAccumulate
private

Definition at line 657 of file ClassicalStatistics.h.

§ _myCount

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
uInt64 casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_myCount
mutableprivate

Definition at line 675 of file ClassicalStatistics.h.

§ _myData

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
DataIterator casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_myData
mutableprivate

Definition at line 672 of file ClassicalStatistics.h.

§ _myIsInclude

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
Bool casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_myIsInclude
mutableprivate

Definition at line 669 of file ClassicalStatistics.h.

§ _myMask

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
MaskIterator casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_myMask
mutableprivate

Definition at line 671 of file ClassicalStatistics.h.

§ _myRanges

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
DataRanges casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_myRanges
mutableprivate

Definition at line 670 of file ClassicalStatistics.h.

§ _myStride

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
uInt casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_myStride
mutableprivate

Definition at line 674 of file ClassicalStatistics.h.

§ _myWeights

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
WeightsIterator casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_myWeights
mutableprivate

Definition at line 673 of file ClassicalStatistics.h.

§ _ranges

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
std::map<uInt, DataRanges> casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_ranges
mutableprivate

Definition at line 667 of file ClassicalStatistics.h.

§ _statsData

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
StatsData<AccumType> casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_statsData
private

§ _weights

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
std::map<uInt, WeightsIterator> casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::_weights
mutableprivate

Definition at line 666 of file ClassicalStatistics.h.

§ BLOCK_SIZE

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
const uInt casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::BLOCK_SIZE
staticprivate

Definition at line 678 of file ClassicalStatistics.h.

§ CACHE_PADDING

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
const uInt casacore::ClassicalStatistics< AccumType, DataIterator, MaskIterator, WeightsIterator >::CACHE_PADDING
staticprivate

Definition at line 677 of file ClassicalStatistics.h.


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