25#ifndef LATTICES_STATSTILEDCOLLAPSER_H
26#define LATTICES_STATSTILEDCOLLAPSER_H
30#include <casacore/casa/aips.h>
111template <
class T,
class U=T>
134 const T* inData,
const Bool* inMask,
160 std::shared_ptr<Block<Double>>
_npts;
181#ifndef CASACORE_NO_AUTO_TEMPLATES
182#include <casacore/lattices/LatticeMath/StatsTiledCollapser.tcc>
virtual void process(uInt accumIndex1, uInt accumIndex3, const T *inData, const Bool *inMask, uInt dataIncr, uInt maskIncr, uInt nrval, const IPosition &startPos, const IPosition &shape)
Process the data in the current chunk.
void _convertNPts(DComplex *&nptsPtr, std::shared_ptr< Block< Double > > npts, std::shared_ptr< Block< DComplex > > nptsComplex) const
virtual void init(uInt nOutPixelsPerCollapse)
Initialize process, making some checks.
std::shared_ptr< Block< Double > > _npts
Accumulators for sum, sum squared, number of points minimum, and maximum.
std::shared_ptr< Block< Bool > > _initMinMax
std::shared_ptr< Block< T > > _max
std::shared_ptr< Block< U > > _mean
StatsTiledCollapser(const Vector< T > &pixelRange, Bool noInclude, Bool noExclude, Bool fixedMinMax)
Constructor provides pixel selection range and whether that range is an inclusion or exclusion range.
void _convertNPts(Double *&nptsPtr, std::shared_ptr< Block< Double > > npts, std::shared_ptr< Block< DComplex > > nptsComplex) const
virtual ~StatsTiledCollapser()
std::shared_ptr< Block< U > > _variance
void minMaxPos(IPosition &minPos, IPosition &maxPos)
Find the location of the minimum and maximum data values in the input lattice.
virtual void initAccumulator(uInt64 n1, uInt64 n3)
Initialiaze the accumulator.
std::shared_ptr< Block< U > > _sumSq
std::shared_ptr< Block< U > > _sum
virtual void endAccumulator(Array< U > &result, Array< Bool > &resultMask, const IPosition &shape)
End the accumulation process and return the result arrays.
std::shared_ptr< Block< U > > _nvariance
virtual Bool canHandleNullMask() const
Can handle null mask.
std::shared_ptr< Block< U > > _sigma
std::shared_ptr< Block< T > > _min
this file contains all the compiler specific defines
TableExprNode shape(const TableExprNode &array)
Function operating on any scalar or array resulting in a Double array containing the shape.
bool Bool
Define the standard types used by Casacore.
unsigned long long uInt64