casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Protected Member Functions | Private Attributes | List of all members
casacore::ConstrainedRangeQuantileComputer< AccumType, DataIterator, MaskIterator, WeightsIterator > Class Template Reference

Basic concrete QuantileComputer class for data constrained to be in a specified range. More...

#include <ConstrainedRangeQuantileComputer.h>

Inheritance diagram for casacore::ConstrainedRangeQuantileComputer< AccumType, DataIterator, MaskIterator, WeightsIterator >:
casacore::ClassicalQuantileComputer< CASA_STATP > casacore::StatisticsAlgorithmQuantileComputer< CASA_STATP >

Public Member Functions

 ConstrainedRangeQuantileComputer ()=delete
 
 ConstrainedRangeQuantileComputer (StatisticsDataset< CASA_STATP > *dataset)
 
 ConstrainedRangeQuantileComputer (const ConstrainedRangeQuantileComputer &csq)
 copy semantics More...
 
virtual ~ConstrainedRangeQuantileComputer ()
 
ConstrainedRangeQuantileComputeroperator= (const ConstrainedRangeQuantileComputer &other)
 copy semantics More...
 
virtual
StatisticsAlgorithmQuantileComputer
< CASA_STATP > * 
clone () const
 clone this object by returning a pointer to a copy More...
 
virtual AccumType getMedian (uInt64 mynpts, AccumType mymin, AccumType mymax, uInt binningThreshholdSizeBytes, Bool persistSortedArray, uInt nBins)
 Caller is responsible for passing correct values of mynpts, mymin, and mymax; no checking is done for correctness in this method. More...
 
virtual AccumType getMedianAbsDevMed (uInt64 mynpts, AccumType mymin, AccumType mymax, uInt binningThreshholdSizeBytes, Bool persistSortedArray, uInt nBins)
 get the median of the absolute deviation about the median of the data. More...
 
void setRange (const std::pair< AccumType, AccumType > &r)
 
- Public Member Functions inherited from casacore::ClassicalQuantileComputer< CASA_STATP >
 ClassicalQuantileComputer ()=delete
 
 ClassicalQuantileComputer (StatisticsDataset< CASA_STATP > *dataset)
 
 ClassicalQuantileComputer (const ClassicalQuantileComputer &other)
 copy semantics More...
 
virtual ~ClassicalQuantileComputer ()
 
ClassicalQuantileComputeroperator= (const ClassicalQuantileComputer &other)
 copy semantics More...
 
virtual CASA_STATP getMedian (uInt64 mynpts, CASA_STATPmymin, CASA_STATPmymax, uInt binningThreshholdSizeBytes, Bool persistSortedArray, uInt nBins)
 Caller is responsible for passing correct values of mynpts, mymin, and mymax; no checking is done for correctness in this method. More...
 
virtual CASA_STATP getMedianAbsDevMed (uInt64 mynpts, CASA_STATPmymin, CASA_STATPmymax, uInt binningThreshholdSizeBytes, Bool persistSortedArray, uInt nBins)
 get the median of the absolute deviation about the median of the data. More...
 
virtual CASA_STATP getMedianAndQuantiles (std::map< Double, CASA_STATP > &quantiles, const std::set< Double > &fractions, uInt64 mynpts, CASA_STATPmymin, CASA_STATPmymax, uInt binningThreshholdSizeBytes, Bool persistSortedArray, uInt nBins)
 If one needs to compute both the median and QuantileComputer 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 std::map< Double,
CASA_STATP
getQuantiles (const std::set< Double > &fractions, uInt64 mynpts, CASA_STATPmymin, CASA_STATPmymax, uInt binningThreshholdSizeBytes, Bool persistSortedArray, uInt nBins)
 Get the specified Quantiles. More...
 
virtual void reset ()
 reset the private fields More...
 
- Public Member Functions inherited from casacore::StatisticsAlgorithmQuantileComputer< CASA_STATP >
 StatisticsAlgorithmQuantileComputer ()=delete
 
virtual ~StatisticsAlgorithmQuantileComputer ()
 
void deleteSortedArray ()
 delete any (partially) sorted array More...
 
void setDataset (StatisticsDataset< CASA_STATP > *ds)
 This must be called upon the copy or assignment of the associated statistics algorithm object. More...
 
std::vector< CASA_STATP > & _getSortedArray ()
 FIXME make protected once refactor is complete. More...
 
void _setSortedArray (const std::vector< CASA_STATP > &v)
 FIXME make protected once refactor is complete. More...
 
void setMedian (CountedPtr< CASA_STATP > median)
 

Protected Member Functions

virtual void _findBins (std::vector< BinCountArray > &binCounts, std::vector< CountedPtr< AccumType >> &sameVal, std::vector< Bool > &allSame, const DataIterator &dataBegin, uInt64 nr, uInt dataStride, const std::vector< StatsHistogram< AccumType > > &binDesc, const std::vector< AccumType > &maxLimit) const
 
virtual void _findBins (std::vector< BinCountArray > &binCounts, std::vector< CountedPtr< AccumType >> &sameVal, std::vector< Bool > &allSame, const DataIterator &dataBegin, uInt64 nr, uInt dataStride, const DataRanges &ranges, Bool isInclude, const std::vector< StatsHistogram< AccumType >> &binDesc, const std::vector< AccumType > &maxLimit) const
 
virtual void _findBins (std::vector< BinCountArray > &binCounts, std::vector< CountedPtr< AccumType >> &sameVal, std::vector< Bool > &allSame, const DataIterator &dataBegin, uInt64 nr, uInt dataStride, const MaskIterator &maskBegin, uInt maskStride, const std::vector< StatsHistogram< AccumType >> &binDesc, const std::vector< AccumType > &maxLimit) const
 
virtual void _findBins (std::vector< BinCountArray > &binCounts, std::vector< CountedPtr< AccumType >> &sameVal, std::vector< Bool > &allSame, const DataIterator &dataBegin, uInt64 nr, uInt dataStride, const MaskIterator &maskBegin, uInt maskStride, const DataRanges &ranges, Bool isInclude, const std::vector< StatsHistogram< AccumType >> &binDesc, const std::vector< AccumType > &maxLimit) const
 
virtual void _findBins (std::vector< BinCountArray > &binCounts, std::vector< CountedPtr< AccumType >> &sameVal, std::vector< Bool > &allSame, const DataIterator &dataBegin, const WeightsIterator &weightsBegin, uInt64 nr, uInt dataStride, const std::vector< StatsHistogram< AccumType >> &binDesc, const std::vector< AccumType > &maxLimit) const
 
virtual void _findBins (std::vector< BinCountArray > &binCounts, std::vector< CountedPtr< AccumType >> &sameVal, std::vector< Bool > &allSame, const DataIterator &dataBegin, const WeightsIterator &weightsBegin, uInt64 nr, uInt dataStride, const DataRanges &ranges, Bool isInclude, const std::vector< StatsHistogram< AccumType >> &binDesc, const std::vector< AccumType > &maxLimit) const
 
virtual void _findBins (std::vector< BinCountArray > &binCounts, std::vector< CountedPtr< AccumType >> &sameVal, std::vector< Bool > &allSame, const DataIterator &dataBegin, const WeightsIterator &weightsBegin, uInt64 nr, uInt dataStride, const MaskIterator &maskBegin, uInt maskStride, const DataRanges &ranges, Bool isInclude, const std::vector< StatsHistogram< AccumType > > &binDesc, const std::vector< AccumType > &maxLimit) const
 
virtual void _findBins (std::vector< BinCountArray > &binCounts, std::vector< CountedPtr< AccumType >> &sameVal, std::vector< Bool > &allSame, const DataIterator &dataBegin, const WeightsIterator &weightBegin, uInt64 nr, uInt dataStride, const MaskIterator &maskBegin, uInt maskStride, const std::vector< StatsHistogram< AccumType > > &binDesc, const std::vector< AccumType > &maxLimit) const
 
virtual void _populateArray (DataArray &ary, const DataIterator &dataBegin, uInt64 nr, uInt dataStride) const
 populate an unsorted array with valid data. More...
 
virtual void _populateArray (DataArray &ary, const DataIterator &dataBegin, uInt64 nr, uInt dataStride, const DataRanges &ranges, Bool isInclude) const
 ranges More...
 
virtual void _populateArray (DataArray &ary, const DataIterator &dataBegin, uInt64 nr, uInt dataStride, const MaskIterator &maskBegin, uInt maskStride) const
 
virtual void _populateArray (DataArray &ary, const DataIterator &dataBegin, uInt64 nr, uInt dataStride, const MaskIterator &maskBegin, uInt maskStride, const DataRanges &ranges, Bool isInclude) const
 mask and ranges More...
 
virtual void _populateArray (DataArray &ary, const DataIterator &dataBegin, const WeightsIterator &weightsBegin, uInt64 nr, uInt dataStride) const
 weights More...
 
virtual void _populateArray (DataArray &ary, const DataIterator &dataBegin, const WeightsIterator &weightsBegin, uInt64 nr, uInt dataStride, const DataRanges &ranges, Bool isInclude) const
 weights and ranges More...
 
virtual void _populateArray (DataArray &ary, const DataIterator &dataBegin, const WeightsIterator &weightBegin, uInt64 nr, uInt dataStride, const MaskIterator &maskBegin, uInt maskStride) const
 weights and mask More...
 
virtual void _populateArray (DataArray &ary, const DataIterator &dataBegin, const WeightsIterator &weightBegin, uInt64 nr, uInt dataStride, const MaskIterator &maskBegin, uInt maskStride, const DataRanges &ranges, Bool isInclude) const
 weights, mask, ranges More...
 
virtual void _populateArrays (std::vector< DataArray > &arys, uInt64 &currentCount, const DataIterator &dataBegin, uInt64 nr, uInt dataStride, const IncludeLimits &includeLimits, uInt64 maxCount) const
 no weights, no mask, no ranges More...
 
virtual void _populateArrays (std::vector< DataArray > &arys, uInt64 &currentCount, const DataIterator &dataBegin, uInt64 nr, uInt dataStride, const DataRanges &ranges, Bool isInclude, const IncludeLimits &includeLimits, uInt64 maxCount) const
 ranges More...
 
virtual void _populateArrays (std::vector< DataArray > &arys, uInt64 &currentCount, const DataIterator &dataBegin, uInt64 nr, uInt dataStride, const MaskIterator &maskBegin, uInt maskStride, const IncludeLimits &includeLimits, uInt64 maxCount) const
 
virtual void _populateArrays (std::vector< DataArray > &arys, uInt64 &currentCount, const DataIterator &dataBegin, uInt64 nr, uInt dataStride, const MaskIterator &maskBegin, uInt maskStride, const DataRanges &ranges, Bool isInclude, const IncludeLimits &includeLimits, uInt64 maxCount) const
 mask and ranges More...
 
virtual void _populateArrays (std::vector< DataArray > &arys, uInt64 &currentCount, const DataIterator &dataBegin, const WeightsIterator &weightsBegin, uInt64 nr, uInt dataStride, const IncludeLimits &includeLimits, uInt64 maxCount) const
 weights More...
 
virtual void _populateArrays (std::vector< DataArray > &arys, uInt64 &currentCount, const DataIterator &dataBegin, const WeightsIterator &weightsBegin, uInt64 nr, uInt dataStride, const DataRanges &ranges, Bool isInclude, const IncludeLimits &includeLimits, uInt64 maxCount) const
 weights and ranges More...
 
virtual void _populateArrays (std::vector< DataArray > &arys, uInt64 &currentCount, const DataIterator &dataBegin, const WeightsIterator &weightBegin, uInt64 nr, uInt dataStride, const MaskIterator &maskBegin, uInt maskStride, const IncludeLimits &includeLimits, uInt64 maxCount) const
 weights and mask More...
 
virtual void _populateArrays (std::vector< DataArray > &arys, uInt64 &currentCount, const DataIterator &dataBegin, const WeightsIterator &weightBegin, uInt64 nr, uInt dataStride, const MaskIterator &maskBegin, uInt maskStride, const DataRanges &ranges, Bool isInclude, const IncludeLimits &includeLimits, uInt64 maxCount) const
 weights, mask, ranges More...
 
virtual Bool _populateTestArray (DataArray &ary, const DataIterator &dataBegin, uInt64 nr, uInt dataStride, uInt maxElements) const
 no weights, no mask, no ranges More...
 
virtual Bool _populateTestArray (DataArray &ary, const DataIterator &dataBegin, uInt64 nr, uInt dataStride, const DataRanges &ranges, Bool isInclude, uInt maxElements) const
 ranges More...
 
virtual Bool _populateTestArray (DataArray &ary, const DataIterator &dataBegin, uInt64 nr, uInt dataStride, const MaskIterator &maskBegin, uInt maskStride, uInt maxElements) const
 mask More...
 
virtual Bool _populateTestArray (DataArray &ary, const DataIterator &dataBegin, uInt64 nr, uInt dataStride, const MaskIterator &maskBegin, uInt maskStride, const DataRanges &ranges, Bool isInclude, uInt maxElements) const
 mask and ranges More...
 
virtual Bool _populateTestArray (DataArray &ary, const DataIterator &dataBegin, const WeightsIterator &weightBegin, uInt64 nr, uInt dataStride, uInt maxElements) const
 weights More...
 
virtual Bool _populateTestArray (DataArray &ary, const DataIterator &dataBegin, const WeightsIterator &weightsBegin, uInt64 nr, uInt dataStride, const DataRanges &ranges, Bool isInclude, uInt maxElements) const
 weights and ranges More...
 
virtual Bool _populateTestArray (DataArray &ary, const DataIterator &dataBegin, const WeightsIterator &weightBegin, uInt64 nr, uInt dataStride, const MaskIterator &maskBegin, uInt maskStride, uInt maxElements) const
 weights and mask More...
 
virtual Bool _populateTestArray (DataArray &ary, const DataIterator &dataBegin, const WeightsIterator &weightBegin, uInt64 nr, uInt dataStride, const MaskIterator &maskBegin, uInt maskStride, const DataRanges &ranges, Bool isInclude, uInt maxElements) const
 weights, mask, ranges More...
 
- Protected Member Functions inherited from casacore::ClassicalQuantileComputer< CASA_STATP >
virtual void _findBins (std::vector< std::vector< uInt64 > > &binCounts, std::vector< CountedPtr< CASA_STATP > > &sameVal, std::vector< Bool > &allSame, const DataIterator &dataBegin, uInt64 nr, uInt dataStride, const std::vector< StatsHistogram< CASA_STATP > > &hist, const std::vector< CASA_STATP > &maxLimit) const
 Get the counts of data within the specified histogram bins. More...
 
virtual void _findBins (std::vector< std::vector< uInt64 > > &binCounts, std::vector< CountedPtr< CASA_STATP > > &sameVal, std::vector< Bool > &allSame, const DataIterator &dataBegin, uInt64 nr, uInt dataStride, const DataRanges &ranges, Bool isInclude, const std::vector< StatsHistogram< CASA_STATP > > &hist, const std::vector< CASA_STATP > &maxLimit) const
 
virtual void _findBins (std::vector< std::vector< uInt64 > > &binCounts, std::vector< CountedPtr< CASA_STATP > > &sameVal, std::vector< Bool > &allSame, const DataIterator &dataBegin, uInt64 nr, uInt dataStride, const const Bool *&maskBegin, uInt maskStride, const std::vector< StatsHistogram< CASA_STATP > > &hist, const std::vector< CASA_STATP > &maxLimit) const
 
virtual void _findBins (std::vector< std::vector< uInt64 > > &binCounts, std::vector< CountedPtr< CASA_STATP > > &sameVal, std::vector< Bool > &allSame, const DataIterator &dataBegin, uInt64 nr, uInt dataStride, const const Bool *&maskBegin, uInt maskStride, const DataRanges &ranges, Bool isInclude, const std::vector< StatsHistogram< CASA_STATP > > &hist, const std::vector< CASA_STATP > &maxLimit) const
 
virtual void _findBins (std::vector< std::vector< uInt64 > > &binCounts, std::vector< CountedPtr< CASA_STATP > > &sameVal, std::vector< Bool > &allSame, const DataIterator &dataBegin, const DataIterator &weightsBegin, uInt64 nr, uInt dataStride, const std::vector< StatsHistogram< CASA_STATP > > &hist, const std::vector< CASA_STATP > &maxLimit) const
 
virtual void _findBins (std::vector< std::vector< uInt64 > > &binCounts, std::vector< CountedPtr< CASA_STATP > > &sameVal, std::vector< Bool > &allSame, const DataIterator &dataBegin, const DataIterator &weightsBegin, uInt64 nr, uInt dataStride, const DataRanges &ranges, Bool isInclude, const std::vector< StatsHistogram< CASA_STATP > > &hist, const std::vector< CASA_STATP > &maxLimit) const
 
virtual void _findBins (std::vector< std::vector< uInt64 > > &binCounts, std::vector< CountedPtr< CASA_STATP > > &sameVal, std::vector< Bool > &allSame, const DataIterator &dataBegin, const DataIterator &weightsBegin, uInt64 nr, uInt dataStride, const const Bool *&maskBegin, uInt maskStride, const DataRanges &ranges, Bool isInclude, const std::vector< StatsHistogram< CASA_STATP > > &hist, const std::vector< CASA_STATP > &maxLimit) const
 
virtual void _findBins (std::vector< std::vector< uInt64 > > &binCounts, std::vector< CountedPtr< CASA_STATP > > &sameVal, std::vector< Bool > &allSame, const DataIterator &dataBegin, const DataIterator &weightBegin, uInt64 nr, uInt dataStride, const const Bool *&maskBegin, uInt maskStride, const std::vector< StatsHistogram< CASA_STATP > > &hist, const std::vector< CASA_STATP > &maxLimit) const
 
virtual void _populateArray (std::vector< CASA_STATP > &ary, const DataIterator &dataBegin, uInt64 nr, uInt dataStride) const
 populate an unsorted array with valid data. More...
 
virtual void _populateArray (std::vector< CASA_STATP > &ary, const DataIterator &dataBegin, uInt64 nr, uInt dataStride, const DataRanges &ranges, Bool isInclude) const
 ranges More...
 
virtual void _populateArray (std::vector< CASA_STATP > &ary, const DataIterator &dataBegin, uInt64 nr, uInt dataStride, const const Bool *&maskBegin, uInt maskStride) const
 
virtual void _populateArray (std::vector< CASA_STATP > &ary, const DataIterator &dataBegin, uInt64 nr, uInt dataStride, const const Bool *&maskBegin, uInt maskStride, const DataRanges &ranges, Bool isInclude) const
 mask and ranges More...
 
virtual void _populateArray (std::vector< CASA_STATP > &ary, const DataIterator &dataBegin, const DataIterator &weightsBegin, uInt64 nr, uInt dataStride) const
 weights More...
 
virtual void _populateArray (std::vector< CASA_STATP > &ary, const DataIterator &dataBegin, const DataIterator &weightsBegin, uInt64 nr, uInt dataStride, const DataRanges &ranges, Bool isInclude) const
 weights and ranges More...
 
virtual void _populateArray (std::vector< CASA_STATP > &ary, const DataIterator &dataBegin, const DataIterator &weightBegin, uInt64 nr, uInt dataStride, const const Bool *&maskBegin, uInt maskStride) const
 weights and mask More...
 
virtual void _populateArray (std::vector< CASA_STATP > &ary, const DataIterator &dataBegin, const DataIterator &weightBegin, uInt64 nr, uInt dataStride, const const Bool *&maskBegin, uInt maskStride, const DataRanges &ranges, Bool isInclude) const
 weights, mask, ranges More...
 
virtual void _populateArrays (std::vector< std::vector< CASA_STATP >> &arys, uInt64 &currentCount, const DataIterator &dataBegin, uInt64 nr, uInt dataStride, const IncludeLimits &includeLimits, uInt64 maxCount) const
 Create a std::vector of unsorted arrays, one array for each bin defined by includeLimits. More...
 
virtual void _populateArrays (std::vector< std::vector< CASA_STATP > > &arys, uInt64 &currentCount, const DataIterator &dataBegin, uInt64 nr, uInt dataStride, const DataRanges &ranges, Bool isInclude, const IncludeLimits &includeLimits, uInt64 maxCount) const
 ranges More...
 
virtual void _populateArrays (std::vector< std::vector< CASA_STATP > > &arys, uInt64 &currentCount, const DataIterator &dataBegin, uInt64 nr, uInt dataStride, const const Bool *&maskBegin, uInt maskStride, const IncludeLimits &includeLimits, uInt64 maxCount) const
 
virtual void _populateArrays (std::vector< std::vector< CASA_STATP > > &arys, uInt64 &currentCount, const DataIterator &dataBegin, uInt64 nr, uInt dataStride, const const Bool *&maskBegin, uInt maskStride, const DataRanges &ranges, Bool isInclude, const IncludeLimits &includeLimits, uInt64 maxCount) const
 mask and ranges More...
 
virtual void _populateArrays (std::vector< std::vector< CASA_STATP > > &arys, uInt64 &currentCount, const DataIterator &dataBegin, const DataIterator &weightsBegin, uInt64 nr, uInt dataStride, const IncludeLimits &includeLimits, uInt64 maxCount) const
 weights More...
 
virtual void _populateArrays (std::vector< std::vector< CASA_STATP > > &arys, uInt64 &currentCount, const DataIterator &dataBegin, const DataIterator &weightsBegin, uInt64 nr, uInt dataStride, const DataRanges &ranges, Bool isInclude, const IncludeLimits &includeLimits, uInt64 maxCount) const
 weights and ranges More...
 
virtual void _populateArrays (std::vector< std::vector< CASA_STATP > > &arys, uInt64 &currentCount, const DataIterator &dataBegin, const DataIterator &weightBegin, uInt64 nr, uInt dataStride, const const Bool *&maskBegin, uInt maskStride, const IncludeLimits &includeLimits, uInt64 maxCount) const
 weights and mask More...
 
virtual void _populateArrays (std::vector< std::vector< CASA_STATP > > &arys, uInt64 &currentCount, const DataIterator &dataBegin, const DataIterator &weightBegin, uInt64 nr, uInt dataStride, const const Bool *&maskBegin, uInt maskStride, const DataRanges &ranges, Bool isInclude, const IncludeLimits &includeLimits, uInt64 maxCount) const
 weights, mask, ranges More...
 
virtual Bool _populateTestArray (std::vector< CASA_STATP > &ary, const DataIterator &dataBegin, uInt64 nr, uInt dataStride, uInt maxElements) const
 no weights, no mask, no ranges More...
 
virtual Bool _populateTestArray (std::vector< CASA_STATP > &ary, const DataIterator &dataBegin, uInt64 nr, uInt dataStride, const DataRanges &ranges, Bool isInclude, uInt maxElements) const
 ranges More...
 
virtual Bool _populateTestArray (std::vector< CASA_STATP > &ary, const DataIterator &dataBegin, uInt64 nr, uInt dataStride, const const Bool *&maskBegin, uInt maskStride, uInt maxElements) const
 mask More...
 
virtual Bool _populateTestArray (std::vector< CASA_STATP > &ary, const DataIterator &dataBegin, uInt64 nr, uInt dataStride, const const Bool *&maskBegin, uInt maskStride, const DataRanges &ranges, Bool isInclude, uInt maxElements) const
 mask and ranges More...
 
virtual Bool _populateTestArray (std::vector< CASA_STATP > &ary, const DataIterator &dataBegin, const DataIterator &weightBegin, uInt64 nr, uInt dataStride, uInt maxElements) const
 weights More...
 
virtual Bool _populateTestArray (std::vector< CASA_STATP > &ary, const DataIterator &dataBegin, const DataIterator &weightsBegin, uInt64 nr, uInt dataStride, const DataRanges &ranges, Bool isInclude, uInt maxElements) const
 weights and ranges More...
 
virtual Bool _populateTestArray (std::vector< CASA_STATP > &ary, const DataIterator &dataBegin, const DataIterator &weightBegin, uInt64 nr, uInt dataStride, const const Bool *&maskBegin, uInt maskStride, uInt maxElements) const
 weights and mask More...
 
virtual Bool _populateTestArray (std::vector< CASA_STATP > &ary, const DataIterator &dataBegin, const DataIterator &weightBegin, uInt64 nr, uInt dataStride, const const Bool *&maskBegin, uInt maskStride, const DataRanges &ranges, Bool isInclude, uInt maxElements) const
 weights, mask, ranges More...
 
Bool _valuesFromSortedArray (std::map< uInt64, CASA_STATP > &values, uInt64 mynpts, 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...
 
- Protected Member Functions inherited from casacore::StatisticsAlgorithmQuantileComputer< CASA_STATP >
 StatisticsAlgorithmQuantileComputer (StatisticsDataset< CASA_STATP > *ds)
 ds should be the dataset object held in the StatisticsAlgorithm object. More...
 
 StatisticsAlgorithmQuantileComputer (const StatisticsAlgorithmQuantileComputer &other)
 use copy semantics. More...
 
StatisticsAlgorithmQuantileComputeroperator= (const StatisticsAlgorithmQuantileComputer &other)
 use copy semantics. More...
 
StatisticsDataset< CASA_STATP > * _getDataset ()
 
CountedPtr< CASA_STATP_getMedian () const
 
CountedPtr< CASA_STATP_getMedianAbsDevMedian () const
 
void _setMedianAbsDevMedian (CountedPtr< CASA_STATP > medAbsDevMed)
 

Private Attributes

Bool _doMedAbsDevMed False
 
AccumType _myMedian
 for use in macros of often repeatedly run methods More...
 
std::pair< AccumType, AccumType > _range
 

Detailed Description

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

Basic concrete QuantileComputer class for data constrained to be in a specified range.

Some derived classes of ConstrainedRangeStatistics use it. It should never be explicitly instantiated by an API developer. See the class documentation of StatisticsAlgorithm for details on QuantileComputer classes.

Definition at line 45 of file ConstrainedRangeQuantileComputer.h.

Constructor & Destructor Documentation

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
casacore::ConstrainedRangeQuantileComputer< AccumType, DataIterator, MaskIterator, WeightsIterator >::ConstrainedRangeQuantileComputer ( )
delete
template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
casacore::ConstrainedRangeQuantileComputer< AccumType, DataIterator, MaskIterator, WeightsIterator >::ConstrainedRangeQuantileComputer ( StatisticsDataset< CASA_STATP > *  dataset)
template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
casacore::ConstrainedRangeQuantileComputer< AccumType, DataIterator, MaskIterator, WeightsIterator >::ConstrainedRangeQuantileComputer ( const ConstrainedRangeQuantileComputer< AccumType, DataIterator, MaskIterator, WeightsIterator > &  csq)

copy semantics

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

Member Function Documentation

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
virtual void casacore::ConstrainedRangeQuantileComputer< AccumType, DataIterator, MaskIterator, WeightsIterator >::_findBins ( std::vector< BinCountArray > &  binCounts,
std::vector< CountedPtr< AccumType >> &  sameVal,
std::vector< Bool > &  allSame,
const DataIterator &  dataBegin,
uInt64  nr,
uInt  dataStride,
const std::vector< StatsHistogram< AccumType > > &  binDesc,
const std::vector< AccumType > &  maxLimit 
) const
protectedvirtual
template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
virtual void casacore::ConstrainedRangeQuantileComputer< AccumType, DataIterator, MaskIterator, WeightsIterator >::_findBins ( std::vector< BinCountArray > &  binCounts,
std::vector< CountedPtr< AccumType >> &  sameVal,
std::vector< Bool > &  allSame,
const DataIterator &  dataBegin,
uInt64  nr,
uInt  dataStride,
const DataRanges ranges,
Bool  isInclude,
const std::vector< StatsHistogram< AccumType >> &  binDesc,
const std::vector< AccumType > &  maxLimit 
) const
protectedvirtual
template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
virtual void casacore::ConstrainedRangeQuantileComputer< AccumType, DataIterator, MaskIterator, WeightsIterator >::_findBins ( std::vector< BinCountArray > &  binCounts,
std::vector< CountedPtr< AccumType >> &  sameVal,
std::vector< Bool > &  allSame,
const DataIterator &  dataBegin,
uInt64  nr,
uInt  dataStride,
const MaskIterator &  maskBegin,
uInt  maskStride,
const std::vector< StatsHistogram< AccumType >> &  binDesc,
const std::vector< AccumType > &  maxLimit 
) const
protectedvirtual
template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
virtual void casacore::ConstrainedRangeQuantileComputer< AccumType, DataIterator, MaskIterator, WeightsIterator >::_findBins ( std::vector< BinCountArray > &  binCounts,
std::vector< CountedPtr< AccumType >> &  sameVal,
std::vector< Bool > &  allSame,
const DataIterator &  dataBegin,
uInt64  nr,
uInt  dataStride,
const MaskIterator &  maskBegin,
uInt  maskStride,
const DataRanges ranges,
Bool  isInclude,
const std::vector< StatsHistogram< AccumType >> &  binDesc,
const std::vector< AccumType > &  maxLimit 
) const
protectedvirtual
template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
virtual void casacore::ConstrainedRangeQuantileComputer< AccumType, DataIterator, MaskIterator, WeightsIterator >::_findBins ( std::vector< BinCountArray > &  binCounts,
std::vector< CountedPtr< AccumType >> &  sameVal,
std::vector< Bool > &  allSame,
const DataIterator &  dataBegin,
const WeightsIterator &  weightsBegin,
uInt64  nr,
uInt  dataStride,
const std::vector< StatsHistogram< AccumType >> &  binDesc,
const std::vector< AccumType > &  maxLimit 
) const
protectedvirtual
template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
virtual void casacore::ConstrainedRangeQuantileComputer< AccumType, DataIterator, MaskIterator, WeightsIterator >::_findBins ( std::vector< BinCountArray > &  binCounts,
std::vector< CountedPtr< AccumType >> &  sameVal,
std::vector< Bool > &  allSame,
const DataIterator &  dataBegin,
const WeightsIterator &  weightsBegin,
uInt64  nr,
uInt  dataStride,
const DataRanges ranges,
Bool  isInclude,
const std::vector< StatsHistogram< AccumType >> &  binDesc,
const std::vector< AccumType > &  maxLimit 
) const
protectedvirtual
template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
virtual void casacore::ConstrainedRangeQuantileComputer< AccumType, DataIterator, MaskIterator, WeightsIterator >::_findBins ( std::vector< BinCountArray > &  binCounts,
std::vector< CountedPtr< AccumType >> &  sameVal,
std::vector< Bool > &  allSame,
const DataIterator &  dataBegin,
const WeightsIterator &  weightsBegin,
uInt64  nr,
uInt  dataStride,
const MaskIterator &  maskBegin,
uInt  maskStride,
const DataRanges ranges,
Bool  isInclude,
const std::vector< StatsHistogram< AccumType > > &  binDesc,
const std::vector< AccumType > &  maxLimit 
) const
protectedvirtual
template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
virtual void casacore::ConstrainedRangeQuantileComputer< AccumType, DataIterator, MaskIterator, WeightsIterator >::_findBins ( std::vector< BinCountArray > &  binCounts,
std::vector< CountedPtr< AccumType >> &  sameVal,
std::vector< Bool > &  allSame,
const DataIterator &  dataBegin,
const WeightsIterator &  weightBegin,
uInt64  nr,
uInt  dataStride,
const MaskIterator &  maskBegin,
uInt  maskStride,
const std::vector< StatsHistogram< AccumType > > &  binDesc,
const std::vector< AccumType > &  maxLimit 
) const
protectedvirtual
template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
virtual void casacore::ConstrainedRangeQuantileComputer< AccumType, DataIterator, MaskIterator, WeightsIterator >::_populateArray ( DataArray ary,
const DataIterator &  dataBegin,
uInt64  nr,
uInt  dataStride 
) const
protectedvirtual

populate an unsorted array with valid data.

If includeLimits is defined, then restrict values that are entered in the array to those limits (inclusive of the minimum, exclusive of the maximum). maxCount and currentCount are used only if includeLimits is defined. In this case, the method will return when currentCount == maxCount, thus avoiding scanning remaining data unnecessarily.

no weights, no mask, no ranges

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

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

mask and ranges

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

weights

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

weights and ranges

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

weights and mask

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

weights, mask, ranges

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

mask and ranges

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

weights

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

weights and ranges

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

weights and mask

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

weights, mask, ranges

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

mask

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

mask and ranges

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

weights

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

weights and ranges

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

weights and mask

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

weights, mask, ranges

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
virtual StatisticsAlgorithmQuantileComputer<CASA_STATP>* casacore::ConstrainedRangeQuantileComputer< AccumType, DataIterator, MaskIterator, WeightsIterator >::clone ( ) const
virtual
template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
virtual AccumType casacore::ConstrainedRangeQuantileComputer< AccumType, DataIterator, MaskIterator, WeightsIterator >::getMedian ( uInt64  mynpts,
AccumType  mymin,
AccumType  mymax,
uInt  binningThreshholdSizeBytes,
Bool  persistSortedArray,
uInt  nBins 
)
virtual

Caller is responsible for passing correct values of mynpts, mymin, and mymax; no checking is done for correctness in this method.

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
virtual AccumType casacore::ConstrainedRangeQuantileComputer< AccumType, DataIterator, MaskIterator, WeightsIterator >::getMedianAbsDevMed ( uInt64  mynpts,
AccumType  mymin,
AccumType  mymax,
uInt  binningThreshholdSizeBytes,
Bool  persistSortedArray,
uInt  nBins 
)
virtual

get the median of the absolute deviation about the median of the data.

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

copy semantics

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
void casacore::ConstrainedRangeQuantileComputer< AccumType, DataIterator, MaskIterator, WeightsIterator >::setRange ( const std::pair< AccumType, AccumType > &  r)
inline

Definition at line 81 of file ConstrainedRangeQuantileComputer.h.

Member Data Documentation

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

for use in macros of often repeatedly run methods

Definition at line 351 of file ConstrainedRangeQuantileComputer.h.

template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
std::pair<AccumType, AccumType> casacore::ConstrainedRangeQuantileComputer< AccumType, DataIterator, MaskIterator, WeightsIterator >::_range
private
template<class AccumType, class DataIterator, class MaskIterator = const Bool*, class WeightsIterator = DataIterator>
Bool _doMedAbsDevMed casacore::ConstrainedRangeQuantileComputer< AccumType, DataIterator, MaskIterator, WeightsIterator >::False
private

Definition at line 349 of file ConstrainedRangeQuantileComputer.h.


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