casacore
|
Class to define an n-dimensional ellipsoid in world coordinates. More...
#include <WCEllipsoid.h>
Public Member Functions | |
WCEllipsoid (const Vector< Quantity > ¢er, const Vector< Quantity > &radii, const IPosition &pixelAxes, const CoordinateSystem &cSys, const RegionType::AbsRelType absRel=RegionType::Abs) | |
ellipsoid with axes parallel to coordinate axes More... | |
WCEllipsoid (const Vector< Quantity > ¢er, const Quantity &radius, const IPosition &pixelAxes, const CoordinateSystem &cSys, const RegionType::AbsRelType absRel=RegionType::Abs) | |
sphere. More... | |
WCEllipsoid (const Quantity &xcenter, const Quantity &ycenter, const Quantity &majorAxis, const Quantity &minorAxis, const Quantity &theta, const uInt pixelAxis0, const uInt pixelAxis1, const CoordinateSystem &cSys, const RegionType::AbsRelType absRel=RegionType::Abs) | |
2-D ellipse. More... | |
WCEllipsoid (const WCEllipsoid &that) | |
WCEllipsoid & | operator= (const WCEllipsoid &that) |
Bool | operator== (const WCRegion &other) const |
Comparison. More... | |
WCRegion * | cloneRegion () const |
Clone a WCRegion object. More... | |
Bool | canExtend () const |
Can the region extend itself? By default it cannot. More... | |
String | type () const |
Return region type. More... | |
TableRecord | toRecord (const String &tableName) const |
Convert the (derived) object to a record. More... | |
LCRegion * | doToLCRegion (const CoordinateSystem &csys, const IPosition &latticeShape, const IPosition &pixelAxesMap, const IPosition &outOrder) const |
Convert to an LCRegion using the given coordinate system and shape. 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... | |
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 () |
static WCEllipsoid * | fromRecord (const TableRecord &rec, const String &) |
Static Public Member Functions inherited from casacore::WCRegion | |
static WCRegion * | fromRecord (const TableRecord &rec, const String &tableName) |
Convert correct object from a record. More... | |
Private Types | |
enum | SpecialType { NOT_SPECIAL, SPHERE, ELLIPSE_2D } |
WARN do not change the order of the members of this enum or you will break backward compatibility with records previously saved persistently. More... | |
Private Member Functions | |
WCEllipsoid () | |
void | _checkPixelAxes () const |
void | _checkUnits () const |
void | _init () |
Private Attributes | |
Vector< Quantity > | _center |
Vector< Quantity > | _radii |
IPosition | _pixelAxes |
CoordinateSystem | _csys |
RegionType::AbsRelType | _absRel |
Quantity | _theta |
SpecialType | _specType |
Additional Inherited Members | |
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 |
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) |
Class to define an n-dimensional ellipsoid in world coordinates.
Public interface
Users must be able to specify ellipsoids in world as well as lattice coordinates.
Definition at line 71 of file WCEllipsoid.h.
|
private |
WARN do not change the order of the members of this enum or you will break backward compatibility with records previously saved persistently.
Add new types to the end of the enum.
Enumerator | |
---|---|
NOT_SPECIAL | |
SPHERE | |
ELLIPSE_2D |
Definition at line 140 of file WCEllipsoid.h.
casacore::WCEllipsoid::WCEllipsoid | ( | const Vector< Quantity > & | center, |
const Vector< Quantity > & | radii, | ||
const IPosition & | pixelAxes, | ||
const CoordinateSystem & | cSys, | ||
const RegionType::AbsRelType | absRel = RegionType::Abs |
||
) |
ellipsoid with axes parallel to coordinate axes
casacore::WCEllipsoid::WCEllipsoid | ( | const Vector< Quantity > & | center, |
const Quantity & | radius, | ||
const IPosition & | pixelAxes, | ||
const CoordinateSystem & | cSys, | ||
const RegionType::AbsRelType | absRel = RegionType::Abs |
||
) |
sphere.
pixelAxes
must have the same base units and those pixels musb be square or an exception is thrown.
casacore::WCEllipsoid::WCEllipsoid | ( | const Quantity & | xcenter, |
const Quantity & | ycenter, | ||
const Quantity & | majorAxis, | ||
const Quantity & | minorAxis, | ||
const Quantity & | theta, | ||
const uInt | pixelAxis0, | ||
const uInt | pixelAxis1, | ||
const CoordinateSystem & | cSys, | ||
const RegionType::AbsRelType | absRel = RegionType::Abs |
||
) |
2-D ellipse.
The axes must have the same base units and those pixels must be square or an exception is thrown. theta
is the angle between the pixelAxis0
and the major axis of the ellipse.
casacore::WCEllipsoid::WCEllipsoid | ( | const WCEllipsoid & | that | ) |
|
private |
|
private |
|
private |
|
private |
|
virtual |
Can the region extend itself? By default it cannot.
Reimplemented from casacore::WCRegion.
|
static |
|
virtual |
Clone a WCRegion object.
Implements casacore::WCRegion.
|
virtual |
Convert to an LCRegion using the given coordinate system and shape.
pixelAxesMap(i) is the axis in cSys and shape for region axis i.
outOrder(i) is the axis in the output LCRegion for region axis i.
They always have the same length. If the region can extend itself, the length of pixelAxesMap and outOrder can be more than the dimensionality of the region. The latter axes in them are the extension axes.
Implements casacore::WCRegion.
|
static |
WCEllipsoid& casacore::WCEllipsoid::operator= | ( | const WCEllipsoid & | that | ) |
Comparison.
Reimplemented from casacore::WCRegion.
|
virtual |
Convert the (derived) object to a record.
The record can be used to make the object persistent. The tableName
argument can be used by derived classes (e.g. LCPagedMask) to put very large objects.
Implements casacore::WCRegion.
|
virtual |
Return region type.
Just returns the class name of the derived class.
Implements casacore::WCRegion.
|
private |
Definition at line 153 of file WCEllipsoid.h.
Definition at line 148 of file WCEllipsoid.h.
|
private |
Definition at line 152 of file WCEllipsoid.h.
|
private |
Definition at line 151 of file WCEllipsoid.h.
Definition at line 149 of file WCEllipsoid.h.
|
private |
Definition at line 155 of file WCEllipsoid.h.
|
private |
Definition at line 154 of file WCEllipsoid.h.