casa  $Rev:20696$
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions | Static Public Member Functions | Protected Member Functions
casa::WCDifference Class Reference

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

#include <WCDifference.h>

Inheritance diagram for casa::WCDifference:
casa::WCCompound casa::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 81 of file WCDifference.h.


Constructor & Destructor Documentation

casa::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.

casa::WCDifference::WCDifference ( const PtrBlock< const ImageRegion * > &  regions)
casa::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.

Copy constructor (copy semantics).

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

Member Function Documentation

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

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

Make a copy of the derived object.

Implements casa::WCRegion.

virtual LCRegion* casa::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 casa::WCRegion.

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

Convert correct object from a record.

Reimplemented from casa::WCRegion.

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

Assignment (copy semantics).

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

Comparison.

Reimplemented from casa::WCCompound.

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

Convert the (derived) object to a record.

Implements casa::WCRegion.

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

Get the region type.

Returns className()

Implements casa::WCRegion.


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