casacore
Loading...
Searching...
No Matches
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>

Public Member Functions

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

Protected Member Functions

virtual void _findBins (std::vector< BinCountArray > &binCounts, std::vector< std::shared_ptr< 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< std::shared_ptr< 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< std::shared_ptr< 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< std::shared_ptr< 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< std::shared_ptr< 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< std::shared_ptr< 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< std::shared_ptr< 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< std::shared_ptr< 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.
virtual void _populateArray (DataArray &ary, const DataIterator &dataBegin, uInt64 nr, uInt dataStride, const DataRanges &ranges, Bool isInclude) const
 ranges
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
virtual void _populateArray (DataArray &ary, const DataIterator &dataBegin, const WeightsIterator &weightsBegin, uInt64 nr, uInt dataStride) const
 weights
virtual void _populateArray (DataArray &ary, const DataIterator &dataBegin, const WeightsIterator &weightsBegin, uInt64 nr, uInt dataStride, const DataRanges &ranges, Bool isInclude) const
 weights and ranges
virtual void _populateArray (DataArray &ary, const DataIterator &dataBegin, const WeightsIterator &weightBegin, uInt64 nr, uInt dataStride, const MaskIterator &maskBegin, uInt maskStride) const
 weights and mask
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
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
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
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
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
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
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
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
virtual Bool _populateTestArray (DataArray &ary, const DataIterator &dataBegin, uInt64 nr, uInt dataStride, uInt maxElements) const
 no weights, no mask, no ranges
virtual Bool _populateTestArray (DataArray &ary, const DataIterator &dataBegin, uInt64 nr, uInt dataStride, const DataRanges &ranges, Bool isInclude, uInt maxElements) const
 ranges
virtual Bool _populateTestArray (DataArray &ary, const DataIterator &dataBegin, uInt64 nr, uInt dataStride, const MaskIterator &maskBegin, uInt maskStride, uInt maxElements) const
 mask
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
virtual Bool _populateTestArray (DataArray &ary, const DataIterator &dataBegin, const WeightsIterator &weightBegin, uInt64 nr, uInt dataStride, uInt maxElements) const
 weights
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
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
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
Protected Member Functions inherited from casacore::ClassicalQuantileComputer< CASA_STATP >
virtual void _findBins (std::vector< std::vector< uInt64 > > &binCounts, std::vector< std::shared_ptr< 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.
virtual void _populateArray (std::vector< CASA_STATP > &ary, const DataIterator &dataBegin, uInt64 nr, uInt dataStride) const
 populate an unsorted array with valid data.
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.
virtual Bool _populateTestArray (std::vector< CASA_STATP > &ary, const DataIterator &dataBegin, uInt64 nr, uInt dataStride, uInt maxElements) const
 no weights, no mask, no ranges
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.
Protected Member Functions inherited from casacore::StatisticsAlgorithmQuantileComputer< CASA_STATP >
StatisticsAlgorithmQuantileComputeroperator= (const StatisticsAlgorithmQuantileComputer &other)
 use copy semantics.
StatisticsDataset< CASA_STATP > * _getDataset ()
std::shared_ptr< CASA_STATP_getMedian () const
std::shared_ptr< CASA_STATP_getMedianAbsDevMedian () const
void _setMedianAbsDevMedian (std::shared_ptr< CASA_STATP > medAbsDevMed)

Private Attributes

Bool _doMedAbsDevMed
AccumType _myMedian
 for use in macros of often repeatedly run methods
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

◆ ConstrainedRangeQuantileComputer() [1/3]

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

◆ ConstrainedRangeQuantileComputer() [2/3]

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

◆ ConstrainedRangeQuantileComputer() [3/3]

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

References ConstrainedRangeQuantileComputer().

◆ ~ConstrainedRangeQuantileComputer()

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

Member Function Documentation

◆ _findBins() [1/8]

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< std::shared_ptr< 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

◆ _findBins() [2/8]

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< std::shared_ptr< 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

References DataRanges.

◆ _findBins() [3/8]

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< std::shared_ptr< 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

References DataRanges.

◆ _findBins() [4/8]

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< std::shared_ptr< 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

◆ _findBins() [5/8]

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< std::shared_ptr< 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

References DataRanges.

◆ _findBins() [6/8]

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< std::shared_ptr< 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

References DataRanges.

◆ _findBins() [7/8]

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< std::shared_ptr< 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

◆ _findBins() [8/8]

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< std::shared_ptr< 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

◆ _populateArray() [1/8]

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

References DataArray.

◆ _populateArray() [2/8]

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

References DataArray, and DataRanges.

◆ _populateArray() [3/8]

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

References DataArray.

◆ _populateArray() [4/8]

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

References DataArray, and DataRanges.

◆ _populateArray() [5/8]

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

References DataArray.

◆ _populateArray() [6/8]

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

ranges

References DataArray, and DataRanges.

◆ _populateArray() [7/8]

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

References DataArray.

◆ _populateArray() [8/8]

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

References DataArray, and DataRanges.

◆ _populateArrays() [1/8]

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

References DataRanges, and IncludeLimits.

◆ _populateArrays() [2/8]

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

References IncludeLimits.

◆ _populateArrays() [3/8]

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

References DataRanges, and IncludeLimits.

◆ _populateArrays() [4/8]

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

References IncludeLimits.

◆ _populateArrays() [5/8]

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

ranges

References DataRanges, and IncludeLimits.

◆ _populateArrays() [6/8]

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

◆ _populateArrays() [7/8]

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

References DataRanges, and IncludeLimits.

◆ _populateArrays() [8/8]

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

References IncludeLimits.

◆ _populateTestArray() [1/8]

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

References DataArray, and DataRanges.

◆ _populateTestArray() [2/8]

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

References DataArray.

◆ _populateTestArray() [3/8]

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

References DataArray.

◆ _populateTestArray() [4/8]

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

References DataArray, and DataRanges.

◆ _populateTestArray() [5/8]

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

ranges

References DataArray, and DataRanges.

◆ _populateTestArray() [6/8]

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

References DataArray, and DataRanges.

◆ _populateTestArray() [7/8]

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

References DataArray.

◆ _populateTestArray() [8/8]

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

◆ clone()

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

◆ getMedian()

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.

◆ getMedianAbsDevMed()

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.

◆ operator=()

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

References ConstrainedRangeQuantileComputer().

◆ setRange()

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.

References _range.

Member Data Documentation

◆ _doMedAbsDevMed

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

Definition at line 349 of file ConstrainedRangeQuantileComputer.h.

◆ _myMedian

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.

◆ _range

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

Definition at line 352 of file ConstrainedRangeQuantileComputer.h.

Referenced by setRange().


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