casa
$Rev:20696$
|
Make the difference of 2 image regions. More...
#include <WCDifference.h>
Public Member Functions | |
WCDifference (const ImageRegion ®ion1, const ImageRegion ®ion2) | |
Construct the difference of one or more image regions. | |
WCDifference (const PtrBlock< const ImageRegion * > ®ions) | |
WCDifference (Bool takeOver, const PtrBlock< const WCRegion * > ®ions) | |
Construct from multiple regions given as a Block. | |
WCDifference (const WCDifference &other) | |
Copy constructor (copy semantics). | |
virtual | ~WCDifference () |
WCDifference & | operator= (const WCDifference &other) |
Assignment (copy semantics). | |
virtual Bool | operator== (const WCRegion &other) const |
Comparison. | |
virtual WCRegion * | cloneRegion () 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 WCDifference * | fromRecord (const TableRecord &, const String &tableName) |
Convert correct object from a record. | |
Protected Member Functions | |
virtual LCRegion * | doToLCRegion (const CoordinateSystem &cSys, const IPosition &shape, const IPosition &pixelAxesMap, const IPosition &outOrder) const |
Convert to an LCRegion using the given coordinate system and shape. |
Make the difference of 2 image regions.
Public interface
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.
Definition at line 81 of file WCDifference.h.
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.
casa::WCDifference::WCDifference | ( | const WCDifference & | other | ) |
Copy constructor (copy semantics).
virtual casa::WCDifference::~WCDifference | ( | ) | [virtual] |
static String casa::WCDifference::className | ( | ) | [static] |
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).
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] |