casacore
|
Make the union of 2 or more image regions. More...
#include <WCUnion.h>
Public Member Functions | |
WCUnion (const ImageRegion ®ion1, const ImageRegion ®ion2) | |
Construct the union of one or more image regions. More... | |
WCUnion (const ImageRegion *region1, const ImageRegion *region2=0, const ImageRegion *region3=0, const ImageRegion *region4=0, const ImageRegion *region5=0, const ImageRegion *region6=0, const ImageRegion *region7=0, const ImageRegion *region8=0, const ImageRegion *region9=0, const ImageRegion *region10=0) | |
WCUnion (const PtrBlock< const ImageRegion * > ®ions) | |
WCUnion (Bool takeOver, const PtrBlock< const WCRegion * > ®ions) | |
Construct from multiple regions given as a Block. More... | |
WCUnion (const WCUnion &other) | |
Copy constructor (copy semantics). More... | |
virtual | ~WCUnion () |
WCUnion & | operator= (const WCUnion &other) |
Assignment (copy semantics). More... | |
virtual Bool | operator== (const WCRegion &other) const |
Comparison. More... | |
virtual WCRegion * | cloneRegion () const |
Make a copy of the derived object. More... | |
virtual String | type () const |
Get the region type. More... | |
virtual TableRecord | toRecord (const String &tableName) const |
Convert the (derived) object to a record. More... | |
Public Member Functions inherited from casacore::WCCompound | |
WCCompound (const ImageRegion ®ion1, const ImageRegion ®ion2) | |
Construct from one or more image regions. More... | |
WCCompound (const ImageRegion *region1, const ImageRegion *region2=0, const ImageRegion *region3=0, const ImageRegion *region4=0, const ImageRegion *region5=0, const ImageRegion *region6=0, const ImageRegion *region7=0, const ImageRegion *region8=0, const ImageRegion *region9=0, const ImageRegion *region10=0) | |
WCCompound (const PtrBlock< const ImageRegion * > ®ions) | |
WCCompound (Bool takeOver, const PtrBlock< const WCRegion * > ®ions) | |
Construct from multiple regions given as a Block. More... | |
WCCompound (const WCCompound &other) | |
Copy constructor (copy semantics). More... | |
virtual | ~WCCompound () |
const PtrBlock< const WCRegion * > & | regions () const |
Get the contributing regions. More... | |
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 |
virtual uInt | ndim () const |
Get the dimensionality (i.e. More... | |
const Record & | getAxesDesc () const |
Get the description of all axes. More... | |
const Record & | getAxisDesc (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... | |
virtual Bool | canExtend () const |
Can the region extend itself? By default it cannot. More... | |
const String & | comment () const |
Get or set the comment. More... | |
void | setComment (const String &comment) |
virtual LCRegion * | toLCRegion (const CoordinateSystem &cSys, const IPosition &shape) const |
Convert to an LCRegion using the given new coordinate system and shape. More... | |
LCRegion * | toLCRegionAxes (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 String | className () |
Get the class name (to store in the record). More... | |
static WCUnion * | fromRecord (const TableRecord &, const String &tableName) |
Convert correct object from a record. More... | |
Static Public Member Functions inherited from casacore::WCRegion | |
static WCRegion * | fromRecord (const TableRecord &rec, const String &tableName) |
Convert correct object from a record. More... | |
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. More... | |
Protected Member Functions inherited from casacore::WCCompound | |
WCCompound & | operator= (const WCCompound &other) |
Assignment (copy semantics) makes only sense for a derived class. More... | |
void | multiToLCRegion (PtrBlock< const LCRegion * > ®ions, const CoordinateSystem &cSys, const IPosition &shape, const IPosition &pixelAxesMap, const IPosition &extendAxes) const |
Convert each WCRegion to an LCRegion. More... | |
TableRecord | makeRecord (const String &tableName) const |
Store the contributing regions in a record. More... | |
Protected Member Functions inherited from casacore::WCRegion | |
WCRegion & | operator= (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 |
Additional Inherited Members | |
Static Protected Member Functions inherited from casacore::WCCompound | |
static void | unmakeRecord (PtrBlock< const WCRegion * > &, const TableRecord &, const String &tableName) |
Retrieve the contributing objects from the record. More... | |
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) |
Make the union of 2 or more image regions.
Public interface
The WCUnion class is a specialization of class WCCompound. It makes it possible to take the union of 2 or more image regions. Note that only world coordinate regions can be used in a compound, thus an LCSlicer object is not allowed in a union.
The union of regions is the collection of the pixels masked-on in any region. Note that the bounding box of a union is determined by the outermost pixels. It means that if regions are very far apart, the bounding box of the union is very large and therefore inefficient.
The regions in a union can have different axes and dimensionalities. The axes and dimensionality of a union 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 union 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.
casacore::WCUnion::WCUnion | ( | const ImageRegion & | region1, |
const ImageRegion & | region2 | ||
) |
Construct the union of one or more image regions.
The image regions have to contain WCRegion objects, otherwise an exception is thrown.
casacore::WCUnion::WCUnion | ( | const ImageRegion * | region1, |
const ImageRegion * | region2 = 0 , |
||
const ImageRegion * | region3 = 0 , |
||
const ImageRegion * | region4 = 0 , |
||
const ImageRegion * | region5 = 0 , |
||
const ImageRegion * | region6 = 0 , |
||
const ImageRegion * | region7 = 0 , |
||
const ImageRegion * | region8 = 0 , |
||
const ImageRegion * | region9 = 0 , |
||
const ImageRegion * | region10 = 0 |
||
) |
casacore::WCUnion::WCUnion | ( | const PtrBlock< const ImageRegion * > & | 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::WCUnion::WCUnion | ( | const WCUnion & | other | ) |
Copy constructor (copy semantics).
|
virtual |
|
static |
Get the class name (to store in the record).
|
virtual |
Make a copy of the derived object.
Implements casacore::WCRegion.
|
protectedvirtual |
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 |
Convert correct object from a record.
Comparison.
Reimplemented from casacore::WCCompound.
|
virtual |
Convert the (derived) object to a record.
Implements casacore::WCRegion.
|
virtual |