casacore
|
Make the intersection of 2 or more image regions. More...
#include <WCIntersection.h>
Public Member Functions | |
WCIntersection (const ImageRegion ®ion1, const ImageRegion ®ion2) | |
Construct the intersection of one or more image regions. More... | |
WCIntersection (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) | |
WCIntersection (const PtrBlock< const ImageRegion * > ®ions) | |
WCIntersection (Bool takeOver, const PtrBlock< const WCRegion * > ®ions) | |
Construct from multiple regions given as a Block. More... | |
WCIntersection (const WCIntersection &other) | |
Copy constructor (copy semantics). More... | |
virtual | ~WCIntersection () |
WCIntersection & | operator= (const WCIntersection &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 WCIntersection * | 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 intersection of 2 or more image regions.
Public interface
The WCIntersection class is a specialization of class WCCompound. It makes it possible to take the intersection 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 an intersection.
The intersection of regions is the collection of the pixels masked-on in all regions.
The regions in a intersection can have different axes and dimensionalities. The axes and dimensionality of a intersection 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 intersection 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 82 of file WCIntersection.h.
casacore::WCIntersection::WCIntersection | ( | const ImageRegion & | region1, |
const ImageRegion & | region2 | ||
) |
Construct the intersection of one or more image regions.
The image regions have to contain WCRegion objects, otherwise an exception is thrown.
casacore::WCIntersection::WCIntersection | ( | 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::WCIntersection::WCIntersection | ( | const PtrBlock< const ImageRegion * > & | regions | ) |
casacore::WCIntersection::WCIntersection | ( | 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::WCIntersection::WCIntersection | ( | const WCIntersection & | 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.
WCIntersection& casacore::WCIntersection::operator= | ( | const WCIntersection & | other | ) |
Assignment (copy semantics).
Comparison.
Reimplemented from casacore::WCCompound.
|
virtual |
Convert the (derived) object to a record.
Implements casacore::WCRegion.
|
virtual |