casacore
|
#include <WCConcatenation.h>
Public Member Functions | |
WCConcatenation (const PtrBlock< const ImageRegion * > ®ions, const WCBox &extendRange) | |
Combine the given regions. More... | |
WCConcatenation (Bool takeOver, const PtrBlock< const WCRegion * > ®ions, const WCBox &extendRange) | |
WCConcatenation (const WCConcatenation &other) | |
Copy constructor (copy semantics). More... | |
virtual | ~WCConcatenation () |
WCConcatenation & | operator= (const WCConcatenation &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... | |
![]() | |
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... | |
![]() | |
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 WCConcatenation * | fromRecord (const TableRecord &, const String &tableName) |
Convert correct object from a record. More... | |
![]() | |
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... | |
![]() | |
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... | |
![]() | |
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 |
Private Member Functions | |
void | fill () |
Do a check and fill the remainder of the object. More... | |
Private Attributes | |
WCBox | itsExtendBox |
Additional Inherited Members | |
![]() | |
static void | unmakeRecord (PtrBlock< const WCRegion * > &, const TableRecord &, const String &tableName) |
Retrieve the contributing objects from the record. More... | |
![]() | |
static void | unitInit () |
static void | convertPixel (Double &pixel, const Double &value, const String &unit, const Int absRel, const Double refPix, const Int shape) |
Combine multiple ImageRegion's into a new dimension.
Public interface
The WCConcatenation class is a specialization of class WCCompound. It makes it possible to combine multiple regions and to add a dimension on them. The axis and the range (beginning and end) of that new dimension have to be specified using an WCBox object. That axes should not be an axis in the given regions.
WCConcatenation can be seen as a mixture of the classes WCUnion and WCExtension. Like WCUnion it combines regions and like WCExtension it increases the dimensionality for the new region (be it with only 1).
Unlike WCUnion the axes have to be the same in all regions, because creating a WCConcatenation means combining similar regions.
E.g. One can define a different polygon in the RA-DEC plane of each channel. WCConcatenation makes it possible to combine the polygons to one 3D region in the RA-DEC-Freq cube.
This example combines n
(relative) circles given in the RA,DEC plane along the FREQ-axis. In this example the regions used are circles with the same centers, but it is also possible to combine differently shaped regions. Note that WCConcatenation takes over the pointers to the individual regions, so they do not need to be deleted (the WCConcatenation destructor does it).
This example is artificial in the sense that WCEllipsoid does not exist yet and the WCBox constructor looks a bit different. One should probably also do a bit more trouble to find out if FREQ is indeed the 2nd axis in the coordinate system.
Definition at line 109 of file WCConcatenation.h.
casacore::WCConcatenation::WCConcatenation | ( | const PtrBlock< const ImageRegion * > & | regions, |
const WCBox & | extendRange | ||
) |
Combine the given regions.
When takeOver
is True, the destructor will delete the given regions. Otherwise a copy of the regions is made. The extend range has to be given as a 1-dimensional box.
casacore::WCConcatenation::WCConcatenation | ( | Bool | takeOver, |
const PtrBlock< const WCRegion * > & | regions, | ||
const WCBox & | extendRange | ||
) |
casacore::WCConcatenation::WCConcatenation | ( | const WCConcatenation & | 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.
|
private |
Do a check and fill the remainder of the object.
|
static |
Convert correct object from a record.
WCConcatenation& casacore::WCConcatenation::operator= | ( | const WCConcatenation & | other | ) |
Assignment (copy semantics).
Comparison.
Reimplemented from casacore::WCCompound.
|
virtual |
Convert the (derived) object to a record.
Implements casacore::WCRegion.
|
virtual |
|
private |
Definition at line 164 of file WCConcatenation.h.