26#ifndef LATTICES_LINECOLLAPSER_H
27#define LATTICES_LINECOLLAPSER_H
30#include <casacore/casa/aips.h>
31#include <casacore/casa/Arrays/ArrayFwd.h>
32#include <casacore/scimath/Mathematics/NumericTraits.h>
90template <
class T,
class U = T>
99 virtual void init(
uInt nOutPixelsPerCollapse) = 0;
134#ifndef CASACORE_NO_AUTO_TEMPLATES
135#include <casacore/lattices/LatticeMath/LineCollapser.tcc>
virtual Bool canHandleNullMask() const
Can the process function in the derived class handle a null mask?
virtual ~LineCollapser()
Destructor.
virtual void process(U &result, Bool &resultMask, const Vector< T > &line, const Vector< Bool > &mask, const IPosition &pos)=0
Collapse the given line and return one value from that operation.
virtual void init(uInt nOutPixelsPerCollapse)=0
The init function for a derived class.
virtual void multiProcess(Vector< U > &result, Vector< Bool > &resultMask, const Vector< T > &line, const Vector< Bool > &mask, const IPosition &pos)=0
Collapse the given line and return a line of values from that operation.
For temporary backward namespace compatibility, use casa as alias for casacore.
LatticeExprNode mask(const LatticeExprNode &expr)
This function returns the mask of the given expression.
bool Bool
Define the standard types used by Casacore.