casacore
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
casacore::WCLELMask Class Reference

Class to define a mask as a LEL expression. More...

#include <WCLELMask.h>

Inheritance diagram for casacore::WCLELMask:
casacore::WCRegion

Public Member Functions

 WCLELMask ()
 
 WCLELMask (const String &command)
 Construct from the given expression command. More...
 
 WCLELMask (const char *command)
 
 WCLELMask (const ImageExpr< Bool > &expr)
 Construct from the given image expression. More...
 
 WCLELMask (const LatticeExpr< Bool > &expr)
 Construct from the given lattice expression. More...
 
 WCLELMask (const LatticeExprNode &expr)
 Construct from the given lattice expression. More...
 
 WCLELMask (const WCLELMask &other)
 Copy constructor (copy semantics). More...
 
virtual ~WCLELMask ()
 Destructor. More...
 
WCLELMaskoperator= (const WCLELMask &other)
 Assignment (copy semantics) More...
 
virtual Bool operator== (const WCRegion &other) const
 Comparison. More...
 
virtual WCRegioncloneRegion () const
 Clone a WCLELMask object. More...
 
virtual uInt ndim () const
 Get the dimensionality (i.e. More...
 
virtual Bool canExtend () const
 WCLELMask cannot extend a region. More...
 
virtual LCRegiontoLCRegion (const CoordinateSystem &cSys, const IPosition &latticeShape) const
 Convert to an LCRegion using the given new coordinate system and shape. More...
 
virtual LCRegiondoToLCRegion (const CoordinateSystem &cSys, const IPosition &latticeShape, const IPosition &pixelAxesMap, const IPosition &outOrder) const
 Convert to an LCRegion using the supplied CoordinateSystem and shape. More...
 
virtual TableRecord toRecord (const String &tableName) const
 Convert the WCLELMask object to a record. More...
 
virtual String type () const
 Return region type. More...
 
const ImageExpr< Bool > * getImageExpr () const
 
- Public Member Functions inherited from casacore::WCRegion
 WCRegion ()
 
 WCRegion (const WCRegion &other)
 Copy constructor (copy semantics). More...
 
virtual ~WCRegion ()
 Destructor. More...
 
Bool operator!= (const WCRegion &other) const
 
const RecordgetAxesDesc () const
 Get the description of all axes. More...
 
const RecordgetAxisDesc (uInt axis) const
 Get the description of the given axis. More...
 
Int axisNr (const Record &desc, const Record &axesDesc) const
 Return the axis number of the description of an axis in the full axes description. More...
 
Bool isAxisDescEqual (const Record &desc1, const Record &desc2) const
 Are both axis descriptions equal? More...
 
const Stringcomment () const
 Get or set the comment. More...
 
void setComment (const String &comment)
 
LCRegiontoLCRegionAxes (const CoordinateSystem &cSys, const IPosition &shape, const IPosition &pixelAxesMap, const IPosition &outOrder) const
 Convert to an LCRegion using the given coordinate system and shape. More...
 
void defineRecordFields (RecordInterface &record, const String &className) const
 Define the type and class name in the record. More...
 

Static Public Member Functions

static WCLELMaskfromRecord (const TableRecord &rec, const String &tableName)
 Convert to a WCLELMask from a record. More...
 
static String className ()
 Returns WCLELMask. More...
 
- Static Public Member Functions inherited from casacore::WCRegion
static WCRegionfromRecord (const TableRecord &rec, const String &tableName)
 Convert correct object from a record. More...
 

Private Member Functions

void processCommand ()
 Process the command. More...
 
void init (const LatticeExprNode &expr)
 Initialize as a LatticeExprNode if expression's shape is unknown. More...
 

Private Attributes

String itsCommand
 
ImageExpr< Bool > * itsImageExpr
 
LatticeExpr< Bool > * itsLattExpr
 
LatticeExprNodeitsLattNode
 

Additional Inherited Members

- Protected Member Functions inherited from casacore::WCRegion
WCRegionoperator= (const WCRegion &other)
 Assignment (copy semantics) makes only sense for a derived class. More...
 
void addAxisDesc (const Record &axisDesc)
 Add an axis with its description. More...
 
Record makeAxisDesc (const CoordinateSystem &cSys, uInt pixelAxis) const
 Make a description of a pixel axis in the coordinate system. More...
 
Record makeAxesDesc (const CoordinateSystem &cSys) const
 Make a description of all pixel axes in the coordinate system (in pixel axes order). More...
 
void makeWorldAbsolute (Vector< Double > &world, const Vector< Int > &absRel, const CoordinateSystem &cSys, const IPosition &shape) const
 Convert relative to absolute world as needed. More...
 
void checkAxes (const IPosition &pixelAxes, const CoordinateSystem &cSys, const Vector< String > &quantityUnits) const
 
- Static Protected Member Functions inherited from casacore::WCRegion
static void unitInit ()
 
static void convertPixel (Double &pixel, const Double &value, const String &unit, const Int absRel, const Double refPix, const Int shape)
 

Detailed Description

Class to define a mask as a LEL expression.

Intended use:

Public interface

Prerequisite

Synopsis

The WCLELMask class is a specialization of class WCRegion.
It can be used to define an on-the-fly mask for an image using a boolean LatticeExpr. The contents of the mask are calculated on the fly from the expression. Thus the mask may change if the data in the image(s) used in the expression change.
Caution: This mask is only persistent if constructed from an expression string; When constructed from an ImageExpr the mask is not persistent;

Example

Motivation

Users must be able to specify a mask based on an expression.

Definition at line 92 of file WCLELMask.h.

Constructor & Destructor Documentation

casacore::WCLELMask::WCLELMask ( )
casacore::WCLELMask::WCLELMask ( const String command)
explicit

Construct from the given expression command.

The command will be parsed and converted to an ImageExpr.

casacore::WCLELMask::WCLELMask ( const char *  command)
explicit
casacore::WCLELMask::WCLELMask ( const ImageExpr< Bool > &  expr)
explicit

Construct from the given image expression.

casacore::WCLELMask::WCLELMask ( const LatticeExpr< Bool > &  expr)
explicit

Construct from the given lattice expression.

casacore::WCLELMask::WCLELMask ( const LatticeExprNode expr)
explicit

Construct from the given lattice expression.

This constructor makes it possible to have an expression with an unknown shape (e.g. using LEL function INDEXIN). If the shape is known, the LatticeExprNode will be converted to a LatticeExpr<Bool>.

casacore::WCLELMask::WCLELMask ( const WCLELMask other)

Copy constructor (copy semantics).

virtual casacore::WCLELMask::~WCLELMask ( )
virtual

Destructor.

Member Function Documentation

virtual Bool casacore::WCLELMask::canExtend ( ) const
virtual

WCLELMask cannot extend a region.

Reimplemented from casacore::WCRegion.

static String casacore::WCLELMask::className ( )
static

Returns WCLELMask.

virtual WCRegion* casacore::WCLELMask::cloneRegion ( ) const
virtual

Clone a WCLELMask object.

Implements casacore::WCRegion.

virtual LCRegion* casacore::WCLELMask::doToLCRegion ( const CoordinateSystem cSys,
const IPosition latticeShape,
const IPosition pixelAxesMap,
const IPosition outOrder 
) const
virtual

Convert to an LCRegion using the supplied CoordinateSystem and shape.

It checks that coordinates match and that axes are not swapped.

Implements casacore::WCRegion.

static WCLELMask* casacore::WCLELMask::fromRecord ( const TableRecord rec,
const String tableName 
)
static

Convert to a WCLELMask from a record.

const ImageExpr<Bool>* casacore::WCLELMask::getImageExpr ( ) const
inline

Definition at line 169 of file WCLELMask.h.

References itsImageExpr.

void casacore::WCLELMask::init ( const LatticeExprNode expr)
private

Initialize as a LatticeExprNode if expression's shape is unknown.

Otherwise as a LatticeExpr<Bool> if coordinates are unknown. Otherwise as an ImageExpr<Bool>.

virtual uInt casacore::WCLELMask::ndim ( ) const
virtual

Get the dimensionality (i.e.

the number of axes).

Reimplemented from casacore::WCRegion.

WCLELMask& casacore::WCLELMask::operator= ( const WCLELMask other)

Assignment (copy semantics)

virtual Bool casacore::WCLELMask::operator== ( const WCRegion other) const
virtual

Comparison.

Reimplemented from casacore::WCRegion.

void casacore::WCLELMask::processCommand ( )
private

Process the command.

virtual LCRegion* casacore::WCLELMask::toLCRegion ( const CoordinateSystem cSys,
const IPosition latticeShape 
) const
virtual

Convert to an LCRegion using the given new coordinate system and shape.

If the region has coordinates, the WCRegion implementation will be called. Otherwise the LatticeExpr is returned after checking that the shape matches.

Reimplemented from casacore::WCRegion.

virtual TableRecord casacore::WCLELMask::toRecord ( const String tableName) const
virtual

Convert the WCLELMask object to a record.

The record can be used to make the object persistent. The tableName argument can be used by derived classes (e.g. LCPagedMask) to put very large objects.

Implements casacore::WCRegion.

virtual String casacore::WCLELMask::type ( ) const
virtual

Return region type.

Returns the class name

Implements casacore::WCRegion.

Member Data Documentation

String casacore::WCLELMask::itsCommand
private

Definition at line 181 of file WCLELMask.h.

ImageExpr<Bool>* casacore::WCLELMask::itsImageExpr
private

Definition at line 182 of file WCLELMask.h.

Referenced by getImageExpr().

LatticeExpr<Bool>* casacore::WCLELMask::itsLattExpr
private

Definition at line 183 of file WCLELMask.h.

LatticeExprNode* casacore::WCLELMask::itsLattNode
private

Definition at line 184 of file WCLELMask.h.


The documentation for this class was generated from the following file: