Class to hold a region of interest in an image. More...
#include <LattRegionHolder.h>
Public Member Functions | |
| LattRegionHolder (const LCRegion &) | |
| Construct from a region based on lattice coordinates. | |
| LattRegionHolder (const LCSlicer &) | |
| Construct from a slicer based on lattice coordinates. | |
| LattRegionHolder (LCRegion *) | |
| Similar constructors as above, but using a pointer. | |
| LattRegionHolder (LCSlicer *) | |
| LattRegionHolder (const LattRegionHolder &other) | |
| Copy constructor (copy semantics). | |
| virtual | ~LattRegionHolder () |
| LattRegionHolder & | operator= (const LattRegionHolder &other) |
| Assignment (copy semantics). | |
| virtual LattRegionHolder * | clone () const |
| Clone the object. | |
| virtual Bool | operator== (const LattRegionHolder &other) const |
| Comparison. | |
| Bool | operator!= (const LattRegionHolder &other) const |
| Bool | isLCRegion () const |
| Test if the underlying region is an LCRegion, etc. | |
| Bool | isLCSlicer () const |
| virtual Bool | isWCRegion () const |
| const LCRegion * | asLCRegionPtr () const |
| Get the region as a pointer to a LCRegion, LCSlicer, or WCRegion. | |
| const LCSlicer * | asLCSlicerPtr () const |
| virtual const WCRegion * | asWCRegionPtr () const |
| uInt | ndim () const |
| Get the dimensionality. | |
| LatticeRegion | toLatticeRegion (const IPosition &shape) const |
| Convert to a LatticeRegion using the given shape. | |
| virtual LatticeRegion | toLatticeRegion (const CoordinateSystem &cSys, const IPosition &shape) const |
| Convert to a LatticeRegion using the given coordinate system (with reference pixel) and shape. | |
| virtual LattRegionHolder * | makeUnion (const LattRegionHolder &other) const |
| Form a compound from this and the other region. | |
| virtual LattRegionHolder * | makeIntersection (const LattRegionHolder &other) const |
| virtual LattRegionHolder * | makeDifference (const LattRegionHolder &other) const |
| virtual LattRegionHolder * | makeComplement () const |
Protected Member Functions | |
| LattRegionHolder (uInt ndim) | |
| Construct for the given dimensionality (for derived classes). | |
Private Attributes | |
| LCRegion * | itsLC |
| LCSlicer * | itsSlicer |
| uInt | itsNdim |
Class to hold a region of interest in an image.
Public interface
The only purpose of LattRegionHolder is to have a single object for the various kinds of regions. It can hold a LCRegion , and LCSlicer .
It was felt that making an abstract base class LatticeRegion for LCRegion and WCRegion would create undesirable dependencies of module Lattices on module Coordinates. E.g. it would be impossible to have a function toWCRegion. Therefore the container class LattRegionHolder is chosen, from which the container ImageRegion is derived.
Definition at line 87 of file LattRegionHolder.h.
| casacore::LattRegionHolder::LattRegionHolder | ( | const LCRegion & | ) |
Construct from a region based on lattice coordinates.
| casacore::LattRegionHolder::LattRegionHolder | ( | const LCSlicer & | ) |
Construct from a slicer based on lattice coordinates.
| casacore::LattRegionHolder::LattRegionHolder | ( | LCRegion * | ) | [explicit] |
Similar constructors as above, but using a pointer.
It takes over the pointer, so the user should not delete the object. It is deleted by the LattRegionHolder destructor.
| casacore::LattRegionHolder::LattRegionHolder | ( | LCSlicer * | ) | [explicit] |
| casacore::LattRegionHolder::LattRegionHolder | ( | const LattRegionHolder & | other | ) |
Copy constructor (copy semantics).
| virtual casacore::LattRegionHolder::~LattRegionHolder | ( | ) | [virtual] |
| casacore::LattRegionHolder::LattRegionHolder | ( | uInt | ndim | ) | [explicit, protected] |
Construct for the given dimensionality (for derived classes).
| const LCRegion* casacore::LattRegionHolder::asLCRegionPtr | ( | ) | const |
Get the region as a pointer to a LCRegion, LCSlicer, or WCRegion.
An exception is thrown if the region is not the correct type. Functions isWCRegion(), etc. can be used to test the type.
Referenced by casacore::ImageRegion::asLCRegion().
| const LCSlicer* casacore::LattRegionHolder::asLCSlicerPtr | ( | ) | const |
Referenced by casacore::ImageRegion::asLCSlicer().
| virtual const WCRegion* casacore::LattRegionHolder::asWCRegionPtr | ( | ) | const [virtual] |
Reimplemented in casacore::ImageRegion.
| virtual LattRegionHolder* casacore::LattRegionHolder::clone | ( | ) | const [virtual] |
Clone the object.
Reimplemented in casacore::ImageRegion.
| Bool casacore::LattRegionHolder::isLCRegion | ( | ) | const [inline] |
Test if the underlying region is an LCRegion, etc.
Definition at line 170 of file LattRegionHolder.h.
References itsLC.
| Bool casacore::LattRegionHolder::isLCSlicer | ( | ) | const [inline] |
Definition at line 174 of file LattRegionHolder.h.
References itsSlicer.
| virtual Bool casacore::LattRegionHolder::isWCRegion | ( | ) | const [virtual] |
Reimplemented in casacore::ImageRegion.
| virtual LattRegionHolder* casacore::LattRegionHolder::makeComplement | ( | ) | const [virtual] |
Reimplemented in casacore::ImageRegion.
| virtual LattRegionHolder* casacore::LattRegionHolder::makeDifference | ( | const LattRegionHolder & | other | ) | const [virtual] |
| virtual LattRegionHolder* casacore::LattRegionHolder::makeIntersection | ( | const LattRegionHolder & | other | ) | const [virtual] |
| virtual LattRegionHolder* casacore::LattRegionHolder::makeUnion | ( | const LattRegionHolder & | other | ) | const [virtual] |
Form a compound from this and the other region.
| uInt casacore::LattRegionHolder::ndim | ( | ) | const [inline] |
| Bool casacore::LattRegionHolder::operator!= | ( | const LattRegionHolder & | other | ) | const [inline] |
Definition at line 178 of file LattRegionHolder.h.
| LattRegionHolder& casacore::LattRegionHolder::operator= | ( | const LattRegionHolder & | other | ) |
Assignment (copy semantics).
Reimplemented in casacore::ImageRegion.
| virtual Bool casacore::LattRegionHolder::operator== | ( | const LattRegionHolder & | other | ) | const [virtual] |
Comparison.
| virtual LatticeRegion casacore::LattRegionHolder::toLatticeRegion | ( | const CoordinateSystem & | cSys, | |
| const IPosition & | shape | |||
| ) | const [virtual] |
Convert to a LatticeRegion using the given coordinate system (with reference pixel) and shape.
It will also make the region complete (absolute and non-fractional).
Reimplemented in casacore::ImageRegion.
| LatticeRegion casacore::LattRegionHolder::toLatticeRegion | ( | const IPosition & | shape | ) | const |
Convert to a LatticeRegion using the given shape.
LCRegion* casacore::LattRegionHolder::itsLC [private] |
Definition at line 164 of file LattRegionHolder.h.
Referenced by isLCRegion().
uInt casacore::LattRegionHolder::itsNdim [private] |
Definition at line 166 of file LattRegionHolder.h.
Referenced by ndim().
LCSlicer* casacore::LattRegionHolder::itsSlicer [private] |
Definition at line 165 of file LattRegionHolder.h.
Referenced by isLCSlicer().
1.6.1