LELSpectralIndex.h

Classes

LELSpectralIndex -- This LEL class handles calculation of the spectral index. (full description)

template<class T> class LELSpectralIndex : public LELInterface<T>

Interface

Public Members
LELSpectralIndex (const Block<LatticeExprNode>& expr)
~LELSpectralIndex()
virtual void eval (LELArray<T>& result, const Slicer& section) const
virtual LELScalar<T> getScalar() const
virtual Bool prepareScalarExpr()
virtual String className() const
virtual Bool lock (FileLocker::LockType, uInt nattempts)
virtual void unlock()
virtual Bool hasLock (FileLocker::LockType) const
virtual void resync()

Description

Review Status

Date Reviewed:
yyyy/mm/dd

Prerequisite

Synopsis

This LEL letter class is derived from LELInterface. It is used to construct LEL objects that calculate the sepectral index from 2 other LEL expression (usually images). It operates on real types (Float,Double)

Motivation

This is a separate class (instead of being part of a LELFunction class), because the calculation of the spectral index requires extra variables (the frequencies) and some more complicated code.

Member Description

LELSpectralIndex (const Block<LatticeExprNode>& expr)

Constructor takes operation and expressions to be operated upon

~LELSpectralIndex()

Destructor

virtual void eval (LELArray<T>& result, const Slicer& section) const

Recursively evaluate the expression

virtual LELScalar<T> getScalar() const

Get the result of a scalar subexpression. Throws an exception as it is not possible.

virtual Bool prepareScalarExpr()

Do further preparations (e.g. optimization) on the expression. Returns False.

virtual String className() const

Get class name

virtual Bool lock (FileLocker::LockType, uInt nattempts)
virtual void unlock()
virtual Bool hasLock (FileLocker::LockType) const
virtual void resync()

Handle locking/syncing of a lattice in a lattice expression.