Go to the documentation of this file.
28 #ifndef CASA_ARRAYPARTMATH_H
29 #define CASA_ARRAYPARTMATH_H
31 #include <casacore/casa/aips.h>
32 #include <casacore/casa/Arrays/ArrayMath.h>
33 #include <casacore/casa/Arrays/ArrayMathBase.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); }
196 virtual T operator() (
const Array<T>& arr)
const {
return sum(arr); }
201 virtual T operator() (
const Array<T>& arr)
const {
return sumsqr(arr); }
211 virtual T operator() (
const Array<T>& arr)
const {
return min(arr); }
216 virtual T operator() (
const Array<T>& arr)
const {
return max(arr); }
228 virtual T operator() (
const Array<T>& arr)
const {
return pvariance(arr, itsDdof); }
237 virtual T operator() (
const Array<T>& arr)
const {
return pstddev(arr, itsDdof); }
249 virtual T operator() (
const Array<T>& arr)
const {
return rms(arr); }
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
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.
virtual T operator()(const Array< T > &arr) const
InterFractileRangeFunc(Float fraction, Bool sorted=False, Bool inPlace=False)
Basic class for math on Array objects.
A Vector of integers, for indexing into Array<T> objects.
Array< T > partialRmss(const Array< T > &array, const IPosition &collapseAxes)
Array< T > partialStddevs(const Array< T > &array, const IPosition &collapseAxes, const Array< T > &means, uInt ddof=1)
InterHexileRangeFunc(Bool sorted=False, Bool inPlace=False)
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.
Array< T > partialVariances(const Array< T > &array, const IPosition &collapseAxes, uInt ddof=1)
virtual T operator()(const Array< T > &arr) const
Array< T > partialMadfms(const Array< T > &array, const IPosition &collapseAxes, Bool takeEvenMean=False, Bool inPlace=False)
virtual ~InterFractileRangeFunc()
virtual T operator()(const Array< T > &arr) const
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 > partialMedians(const Array< T > &array, const IPosition &collapseAxes, Bool takeEvenMean=False, Bool inPlace=False)
LatticeExprNode sqrt(const LatticeExprNode &expr)
Array< T > partialSums(const Array< T > &array, const IPosition &collapseAxes)
Determine the sum, product, etc.
Array< T > partialMeans(const Array< T > &array, const IPosition &collapseAxes)
LatticeExprNode mean(const LatticeExprNode &expr)
virtual ~InterQuartileRangeFunc()
Array< T > partialFractiles(const Array< T > &array, const IPosition &collapseAxes, Float fraction, Bool inPlace=False)
virtual T operator()(const Array< T > &arr) const
Mathematical and logical operations for Array parts.
T product(const TableVector< T > &tv)
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...
InterQuartileRangeFunc(Bool sorted=False, Bool inPlace=False)
LatticeExprNode max(const LatticeExprNode &left, const LatticeExprNode &right)
Array< T > partialInterFractileRanges(const Array< T > &array, const IPosition &collapseAxes, Float fraction, Bool inPlace=False)
TableExprNode shape(const TableExprNode &array)
Function operating on any scalar or array resulting in a Double array containing the shape.
virtual T operator()(const Array< T > &arr) const
MadfmFunc(Bool sorted=False, Bool takeEvenMean=True, Bool inPlace=False)
LatticeExprNode min(const LatticeExprNode &left, const LatticeExprNode &right)
TableExprNode means(const TableExprNode &array, const TableExprNodeSet &collapseAxes)
virtual T operator()(const Array< T > &arr) const
this file contains all the compiler specific defines
virtual T operator()(const Array< T > &arr) const
TableExprNode array(const TableExprNode &values, const TableExprNodeSet &shape)
Create an array of the given shape and fill it with the values.
LatticeExprNode median(const LatticeExprNode &expr)
virtual T operator()(const Array< T > &arr) const
Define functors to perform a reduction function on an Array object.
Array< T > partialSumSqrs(const Array< T > &array, const IPosition &collapseAxes)
Array< T > partialAvdevs(const Array< T > &array, const IPosition &collapseAxes)
Array< T > partialInterHexileRanges(const Array< T > &array, const IPosition &collapseAxes, Bool inPlace=False)
virtual T operator()(const Array< T > &arr) const
virtual T operator()(const Array< T > &arr) const
Array< T > partialMins(const Array< T > &array, const IPosition &collapseAxes)
template <class T, class U> class vector;
virtual ~InterHexileRangeFunc()
LatticeExprNode sum(const LatticeExprNode &expr)
Array< T > partialStddevs(const Array< T > &array, const IPosition &collapseAxes, uInt ddof=1)
bool Bool
Define the standard types used by Casacore.
FractileFunc(Float fraction, Bool sorted=False, Bool inPlace=False)
TableExprNode rms(const TableExprNode &array)
LatticeExprNode avdev(const LatticeExprNode &expr)
Array< T > partialMaxs(const Array< T > &array, const IPosition &collapseAxes)
Array< T > partialInterQuartileRanges(const Array< T > &array, const IPosition &collapseAxes, Bool inPlace=False)
virtual T operator()(const Array< T > &arr) const
virtual T operator()(const Array< T > &arr) const
Array< T > partialProducts(const Array< T > &array, const IPosition &collapseAxes)
virtual T operator()(const Array< T > &arr) const
void fillBoxedShape(const IPosition &shape, const IPosition &boxShape, IPosition &fullBoxShape, IPosition &resultShape)
Helper functions for boxed and sliding functions.
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...
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.