casacore::WCDifference Class Reference

Make the difference of 2 image regions. More...

#include <WCDifference.h>

Inheritance diagram for casacore::WCDifference:
casacore::WCCompound casacore::WCRegion

List of all members.

Public Member Functions

 WCDifference (const ImageRegion &region1, const ImageRegion &region2)
 Construct the difference of one or more image regions.
 WCDifference (const PtrBlock< const ImageRegion * > &regions)
 WCDifference (Bool takeOver, const PtrBlock< const WCRegion * > &regions)
 Construct from multiple regions given as a Block.
 WCDifference (const WCDifference &other)
 Copy constructor (copy semantics).
virtual ~WCDifference ()
WCDifferenceoperator= (const WCDifference &other)
 Assignment (copy semantics).
virtual Bool operator== (const WCRegion &other) const
 Comparison.
virtual WCRegioncloneRegion () const
 Make a copy of the derived object.
virtual String type () const
 Get the region type.
virtual TableRecord toRecord (const String &tableName) const
 Convert the (derived) object to a record.

Static Public Member Functions

static String className ()
 Get the class name (to store in the record).
static WCDifferencefromRecord (const TableRecord &, const String &tableName)
 Convert correct object from a record.

Protected Member Functions

virtual LCRegiondoToLCRegion (const CoordinateSystem &cSys, const IPosition &shape, const IPosition &pixelAxesMap, const IPosition &outOrder) const
 Convert to an LCRegion using the given coordinate system and shape.

Detailed Description

Make the difference of 2 image regions.

Intended use:

Public interface

Prerequisite

Synopsis

The WCDifference class is a specialization of class WCCompound . It makes it possible to take the difference of 2 regions. Note that only world coordinate regions can be used in a compound, thus an LCSlicer object is not allowed in a difference.

The difference consists of all pixels masked-on in the first region and not masked-on in the second region.

The regions in a difference can have different axes and dimensionalities. The axes and dimensionality of a difference are determined by the collection of all different axes in its regions. Each individual region will be auto-extended along the axes not being part of the region. E.g. one can define a WCBox with axis RA and another WCBox with axis DEC. The difference will be 2-dim with axes RA and DEC. The first box will be auto-extended to cover the DEC axis, which results in a 2-dim box with its DEC axis the length of the image's DEC axis. Similarly the second box will be auto-extended to cover the RA axis.

Example

Definition at line 82 of file WCDifference.h.


Constructor & Destructor Documentation

casacore::WCDifference::WCDifference ( const ImageRegion region1,
const ImageRegion region2 
)

Construct the difference of one or more image regions.

The image regions have to contain WCRegion objects, otherwise an exception is thrown.

casacore::WCDifference::WCDifference ( const PtrBlock< const ImageRegion * > &  regions  ) 
casacore::WCDifference::WCDifference ( Bool  takeOver,
const PtrBlock< const WCRegion * > &  regions 
)

Construct from multiple regions given as a Block.

When takeOver is True, the destructor will delete the given regions. Otherwise a copy of the regions is made.

casacore::WCDifference::WCDifference ( const WCDifference other  ) 

Copy constructor (copy semantics).

virtual casacore::WCDifference::~WCDifference (  )  [virtual]

Member Function Documentation

static String casacore::WCDifference::className (  )  [static]

Get the class name (to store in the record).

virtual WCRegion* casacore::WCDifference::cloneRegion (  )  const [virtual]

Make a copy of the derived object.

Implements casacore::WCRegion.

virtual LCRegion* casacore::WCDifference::doToLCRegion ( const CoordinateSystem cSys,
const IPosition shape,
const IPosition pixelAxesMap,
const IPosition outOrder 
) const [protected, virtual]

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

pixelAxesMap(i) gives the pixel axis in cSys of axes i in the axesDesc.

Implements casacore::WCRegion.

static WCDifference* casacore::WCDifference::fromRecord ( const TableRecord ,
const String tableName 
) [static]

Convert correct object from a record.

Reimplemented from casacore::WCRegion.

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

Assignment (copy semantics).

Reimplemented from casacore::WCCompound.

virtual Bool casacore::WCDifference::operator== ( const WCRegion other  )  const [virtual]

Comparison.

Reimplemented from casacore::WCCompound.

virtual TableRecord casacore::WCDifference::toRecord ( const String tableName  )  const [virtual]

Convert the (derived) object to a record.

Implements casacore::WCRegion.

virtual String casacore::WCDifference::type (  )  const [virtual]

Get the region type.

Returns className()

Implements casacore::WCRegion.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 31 Aug 2016 for casa by  doxygen 1.6.1