26 #ifndef SCIMATH_HINGESFENCESQUANTILECOMPUTER_H
27 #define SCIMATH_HINGESFENCESQUANTILECOMPUTER_H
43 class AccumType,
class DataIterator,
class MaskIterator=
const Bool*,
44 class WeightsIterator=DataIterator
76 std::vector<BinCountArray>& binCounts,
78 const DataIterator& dataBegin,
uInt64 nr,
uInt dataStride,
80 const std::vector<AccumType>& maxLimit
84 std::vector<BinCountArray>& binCounts,
86 const DataIterator& dataBegin,
uInt64 nr,
uInt dataStride,
89 const std::vector<AccumType>& maxLimit
93 std::vector<BinCountArray>& binCounts,
95 const DataIterator& dataBegin,
uInt64 nr,
uInt dataStride,
96 const MaskIterator& maskBegin,
uInt maskStride,
98 const std::vector<AccumType>& maxLimit
102 std::vector<BinCountArray>& binCounts,
104 const DataIterator& dataBegin,
uInt64 nr,
uInt dataStride,
105 const MaskIterator& maskBegin,
uInt maskStride,
108 const std::vector<AccumType>& maxLimit
112 std::vector<BinCountArray>& binCounts,
114 const DataIterator& dataBegin,
const WeightsIterator& weightsBegin,
117 const std::vector<AccumType>& maxLimit
121 std::vector<BinCountArray>& binCounts,
123 const DataIterator& dataBegin,
const WeightsIterator& weightsBegin,
126 const std::vector<AccumType>& maxLimit
130 std::vector<BinCountArray>& binCounts,
132 const DataIterator& dataBegin,
const WeightsIterator& weightsBegin,
133 uInt64 nr,
uInt dataStride,
const MaskIterator& maskBegin,
136 const std::vector<AccumType>& maxLimit
140 std::vector<BinCountArray>& binCounts,
142 const DataIterator& dataBegin,
const WeightsIterator& weightBegin,
143 uInt64 nr,
uInt dataStride,
const MaskIterator& maskBegin,
145 const std::vector<AccumType>& maxLimit
172 uInt dataStride,
const MaskIterator& maskBegin,
uInt maskStride
178 uInt dataStride,
const MaskIterator& maskBegin,
uInt maskStride,
184 DataArray& ary,
const DataIterator& dataBegin,
185 const WeightsIterator& weightsBegin,
uInt64 nr,
uInt dataStride
190 DataArray& ary,
const DataIterator& dataBegin,
191 const WeightsIterator& weightsBegin,
uInt64 nr,
uInt dataStride,
197 DataArray& ary,
const DataIterator& dataBegin,
198 const WeightsIterator& weightBegin,
uInt64 nr,
uInt dataStride,
199 const MaskIterator& maskBegin,
uInt maskStride
204 DataArray& ary,
const DataIterator& dataBegin,
205 const WeightsIterator& weightBegin,
uInt64 nr,
uInt dataStride,
206 const MaskIterator& maskBegin,
uInt maskStride,
212 std::vector<DataArray>& arys,
uInt64& currentCount,
213 const DataIterator& dataBegin,
uInt64 nr,
uInt dataStride,
220 std::vector<DataArray>& arys,
uInt64& currentCount,
221 const DataIterator& dataBegin,
uInt64 nr,
uInt dataStride,
227 std::vector<DataArray>& arys,
uInt64& currentCount,
228 const DataIterator& dataBegin,
uInt64 nr,
uInt dataStride,
229 const MaskIterator& maskBegin,
uInt maskStride,
235 std::vector<DataArray>& arys,
uInt64& currentCount,
236 const DataIterator& dataBegin,
uInt64 nr,
uInt dataStride,
237 const MaskIterator& maskBegin,
uInt maskStride,
244 std::vector<DataArray>& arys,
uInt64& currentCount,
245 const DataIterator& dataBegin,
const WeightsIterator& weightsBegin,
252 std::vector<DataArray>& arys,
uInt64& currentCount,
253 const DataIterator& dataBegin,
const WeightsIterator& weightsBegin,
260 std::vector<DataArray>& arys,
uInt64& currentCount,
261 const DataIterator& dataBegin,
const WeightsIterator& weightBegin,
262 uInt64 nr,
uInt dataStride,
const MaskIterator& maskBegin,
268 std::vector<DataArray>& arys,
uInt64& currentCount,
269 const DataIterator& dataBegin,
const WeightsIterator& weightBegin,
270 uInt64 nr,
uInt dataStride,
const MaskIterator& maskBegin,
279 DataArray& ary,
const DataIterator& dataBegin,
293 uInt dataStride,
const MaskIterator& maskBegin,
uInt maskStride,
300 uInt dataStride,
const MaskIterator& maskBegin,
uInt maskStride,
306 DataArray& ary,
const DataIterator& dataBegin,
307 const WeightsIterator& weightBegin,
uInt64 nr,
uInt dataStride,
313 DataArray& ary,
const DataIterator& dataBegin,
314 const WeightsIterator& weightsBegin,
uInt64 nr,
uInt dataStride,
320 DataArray& ary,
const DataIterator& dataBegin,
321 const WeightsIterator& weightBegin,
uInt64 nr,
uInt dataStride,
322 const MaskIterator& maskBegin,
uInt maskStride,
uInt maxElements
327 DataArray& ary,
const DataIterator& dataBegin,
328 const WeightsIterator& weightBegin,
uInt64 nr,
uInt dataStride,
329 const MaskIterator& maskBegin,
uInt maskStride,
342 #ifndef CASACORE_NO_AUTO_TEMPLATES
343 #include <casacore/scimath/StatsFramework/HingesFencesQuantileComputer.tcc>
Basic concrete QuantileComputer class for data constrained to be in a specified range.
Represents an unfilled histogram with equal width bins for binning used for quantile computations...
unsigned long long uInt64
virtual StatisticsAlgorithmQuantileComputer< CASA_STATP > * clone() const
clone this object by returning a pointer to a copy
virtual void _populateArrays(std::vector< DataArray > &arys, uInt64 ¤tCount, const DataIterator &dataBegin, uInt64 nr, uInt dataStride, const IncludeLimits &includeLimits, uInt64 maxCount) const
no weights, no mask, no ranges
#define DataArray
Commonly used types in statistics framework.
void setHasRange(Bool hr)
virtual void _populateArray(DataArray &ary, const DataIterator &dataBegin, uInt64 nr, uInt dataStride) const
populate an unsorted array with valid data.
virtual Bool _populateTestArray(DataArray &ary, const DataIterator &dataBegin, uInt64 nr, uInt dataStride, uInt maxElements) const
no weights, no mask, no ranges
virtual ~HingesFencesQuantileComputer()
HingesFencesQuantileComputer & operator=(const HingesFencesQuantileComputer &other)
copy semantics
bool Bool
Define the standard types used by Casacore.
QuantileComputer used by HingesFencesStatistics for computing quantile-like statistics.
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
HingesFencesQuantileComputer()=delete
virtual void reset()
reset private fields