28 #ifndef CASA_ARRAYPARTMATH_H
29 #define CASA_ARRAYPARTMATH_H
123 return partialVariances (array, collapseAxes,
124 partialMeans (array, collapseAxes), ddof);
141 return sqrt (partialVariances (array, collapseAxes,
142 partialMeans (array, collapseAxes), ddof));
149 return sqrt (partialVariances (array, collapseAxes, means, ddof));
154 return partialAvdevs (array, collapseAxes,
155 partialMeans (array, collapseAxes));
181 {
return partialInterFractileRanges (array, collapseAxes, 1./6., inPlace); }
185 {
return partialInterFractileRanges (array, collapseAxes, 0.25, inPlace); }
255 : itsSorted(sorted), itsTakeEvenMean(takeEvenMean), itsInPlace(inPlace) {}
258 {
return median(arr, itsTmp, itsSorted, itsTakeEvenMean, itsInPlace); }
269 : itsSorted(sorted), itsTakeEvenMean(takeEvenMean), itsInPlace(inPlace) {}
272 {
return madfm(arr, itsTmp, itsSorted, itsTakeEvenMean, itsInPlace); }
283 : itsFraction(fraction), itsSorted(sorted), itsInPlace(inPlace) {}
286 {
return fractile(arr, itsTmp, itsFraction, itsSorted, itsInPlace); }
297 : itsFraction(fraction), itsSorted(sorted), itsInPlace(inPlace) {}
300 {
return interFractileRange(arr, itsTmp, itsFraction,
301 itsSorted, itsInPlace); }
333 partialArrayMath (res, a, collapseAxes, funcObj);
336 template<
typename T,
typename RES>
364 template<
typename T,
typename RES>
404 template<
typename T,
typename RES>
426 #ifndef CASACORE_NO_AUTO_TEMPLATES
427 #include <casacore/casa/Arrays/ArrayPartMath.tcc>
428 #endif //# CASACORE_NO_AUTO_TEMPLATES
A Vector of integers, for indexing into Array<T> objects.
Define functors to perform a reduction function on an Array object.
TableExprNode means(const TableExprNode &array, const TableExprNodeSet &collapseAxes)
LatticeExprNode median(const LatticeExprNode &expr)
TableExprNode array(const TableExprNode &values, const TableExprNodeSet &shape)
Create an array of the given shape and fill it with the values.
LatticeExprNode sum(const LatticeExprNode &expr)
LatticeExprNode max(const LatticeExprNode &left, const LatticeExprNode &right)
Array< T > partialInterQuartileRanges(const Array< T > &array, const IPosition &collapseAxes, Bool inPlace=False)
LatticeExprNode fractile(const LatticeExprNode &expr, const LatticeExprNode &fraction)
Determine the value of the element at the part fraction from the beginning of the given lattice...
InterFractileRangeFunc(Float fraction, Bool sorted=False, Bool inPlace=False)
InterQuartileRangeFunc(Bool sorted=False, Bool inPlace=False)
void fillBoxedShape(const IPosition &shape, const IPosition &boxShape, IPosition &fullBoxShape, IPosition &resultShape)
Helper functions for boxed and sliding functions.
Array< T > partialVariances(const Array< T > &array, const IPosition &collapseAxes, uInt ddof=1)
virtual ~InterQuartileRangeFunc()
virtual ~InterHexileRangeFunc()
InterHexileRangeFunc(Bool sorted=False, Bool inPlace=False)
Array< T > partialStddevs(const Array< T > &array, const IPosition &collapseAxes, uInt ddof=1)
LatticeExprNode min(const LatticeExprNode &left, const LatticeExprNode &right)
LatticeExprNode avdev(const LatticeExprNode &expr)
Array< T > boxedArrayMath(const Array< T > &a, const IPosition &boxSize, const ArrayFunctorBase< T > &funcObj)
Apply the given ArrayMath reduction function objects to each box in the array.
Array< T > partialArrayMath(const Array< T > &a, const IPosition &collapseAxes, const ArrayFunctorBase< T > &funcObj)
Do partial reduction of an Array object.
Bool fillSlidingShape(const IPosition &shape, const IPosition &halfBoxSize, IPosition &boxEnd, IPosition &resultShape)
Determine the box end and shape of result for a sliding operation.
LatticeExprNode sqrt(const LatticeExprNode &expr)
Basic class for math on Array objects.
TableExprNode product(const TableExprNode &array)
bool Bool
Define the standard types used by Casacore.
MaskedArray< T > boxedArrayMath(const MaskedArray< T > &array, const IPosition &boxSize, const FuncType &funcObj)
Apply the given ArrayMath reduction function objects to each box in the array.
MadfmFunc(Bool sorted=False, Bool takeEvenMean=True, Bool inPlace=False)
TableExprNode shape(const TableExprNode &array)
Function operating on any scalar or array resulting in a Double array containing the shape...
template <class T, class U> class vector;
FractileFunc(Float fraction, Bool sorted=False, Bool inPlace=False)
Array< T > partialAvdevs(const Array< T > &array, const IPosition &collapseAxes)
virtual T operator()(const Array< T > &arr) const
virtual casacore::Bool operator()(Flux< casacore::Double > &value, Flux< casacore::Double > &error, const casacore::MFrequency &mfreq, const casacore::Bool updatecoeffs)=0
Array< T > slidingArrayMath(const Array< T > &a, const IPosition &halfBoxSize, const ArrayFunctorBase< T > &funcObj, Bool fillEdge=True)
Apply for each element in the array the given ArrayMath reduction function object to the box around t...
LatticeExprNode mean(const LatticeExprNode &expr)
TableExprNode rms(const TableExprNode &array)
Array< T > slidingArrayMath(const MaskedArray< T > &array, const IPosition &halfBoxSize, const FuncType &funcObj, Bool fillEdge=True)
Apply for each element in the array the given ArrayMath reduction function object to the box around t...
Array< T > partialInterHexileRanges(const Array< T > &array, const IPosition &collapseAxes, Bool inPlace=False)
virtual ~InterFractileRangeFunc()
virtual T operator()(const Array< T > &arr) const
Array< T > partialStddevs(const Array< T > &array, const IPosition &collapseAxes, const Array< T > &means, uInt ddof=1)
#define casacore
<X11/Intrinsic.h> #defines true, false, casacore::Bool, and String.