casa
5.7.0-16
|
Class to hold a region of interest in an image. More...
#include <ImageRegion.h>
Public Member Functions | |
ImageRegion () | |
Default constructor (has no region at all). More... | |
ImageRegion (const LCRegion &) | |
Construct from a region based on lattice coordinates. More... | |
ImageRegion (const LCSlicer &) | |
Construct from a slicer based on lattice coordinates. More... | |
ImageRegion (const WCRegion &) | |
Construct from a region based on world coordinates. More... | |
ImageRegion (LCRegion *) | |
Similar constructors as above, but using a pointer. More... | |
ImageRegion (LCSlicer *) | |
ImageRegion (WCRegion *) | |
ImageRegion (const ImageRegion &other) | |
Copy constructor (copy semantics). More... | |
virtual | ~ImageRegion () |
ImageRegion & | operator= (const ImageRegion &other) |
Assignment (copy semantics). More... | |
virtual ImageRegion * | clone () const |
Clone the object. More... | |
virtual Bool | operator== (const LattRegionHolder &other) const |
Comparison. More... | |
virtual Bool | isWCRegion () const |
Test if the underlying region is an WCRegion. More... | |
virtual const WCRegion * | asWCRegionPtr () const |
Get the region as a pointer to WCRegion. More... | |
const LCRegion & | asLCRegion () const |
Get the region as an LCSlicer or WCRegion. More... | |
const LCSlicer & | asLCSlicer () const |
const WCRegion & | asWCRegion () const |
LCRegion & | asMask () |
Get the region as a writable mask. More... | |
virtual LatticeRegion | toLatticeRegion (const CoordinateSystem &cSys, const IPosition &shape) const |
Convert to a LatticeRegion using the given coordinate system (with reference pixel) and shape. More... | |
LCRegion * | toLCRegion (const CoordinateSystem &cSys, const IPosition &shape) const |
Convert to an LCRegion using the given coordinate system (with reference pixel) and shape. More... | |
TableRecord | toRecord (const String &tableName) const |
Convert the (derived) object to a record. More... | |
virtual LattRegionHolder * | makeUnion (const LattRegionHolder &other) const |
Form a compound from this and the other region. More... | |
virtual LattRegionHolder * | makeIntersection (const LattRegionHolder &other) const |
virtual LattRegionHolder * | makeDifference (const LattRegionHolder &other) const |
virtual LattRegionHolder * | makeComplement () const |
Public Member Functions inherited from casacore::LattRegionHolder | |
LattRegionHolder (const LCRegion &) | |
Construct from a region based on lattice coordinates. More... | |
LattRegionHolder (const LCSlicer &) | |
Construct from a slicer based on lattice coordinates. More... | |
LattRegionHolder (LCRegion *) | |
Similar constructors as above, but using a pointer. More... | |
LattRegionHolder (LCSlicer *) | |
LattRegionHolder (const LattRegionHolder &other) | |
Copy constructor (copy semantics). More... | |
virtual | ~LattRegionHolder () |
LattRegionHolder & | operator= (const LattRegionHolder &other) |
Assignment (copy semantics). More... | |
Bool | operator!= (const LattRegionHolder &other) const |
Bool | isLCRegion () const |
Test if the underlying region is an LCRegion, etc. More... | |
Bool | isLCSlicer () const |
const LCRegion * | asLCRegionPtr () const |
Get the region as a pointer to a LCRegion, LCSlicer, or WCRegion. More... | |
const LCSlicer * | asLCSlicerPtr () const |
uInt | ndim () const |
Get the dimensionality. More... | |
LatticeRegion | toLatticeRegion (const IPosition &shape) const |
Convert to a LatticeRegion using the given shape. More... | |
Static Public Member Functions | |
static ImageRegion * | fromLatticeExpression (const String &latticeExpression) |
Create an ImageRegion from a lattice expression. More... | |
static ImageRegion * | fromRecord (LogIO *logger, const CoordinateSystem &coords, const IPosition &imShape, const Record ®ionRecord) |
Create an ImageRegion from a record. More... | |
static ImageRegion * | fromRecord (const TableRecord &, const String &tableName) |
Convert correct object from a record. More... | |
Private Attributes | |
WCRegion * | itsWC |
Additional Inherited Members | |
Protected Member Functions inherited from casacore::LattRegionHolder | |
LattRegionHolder (uInt ndim) | |
Construct for the given dimensionality (for derived classes). More... | |
Class to hold a region of interest in an image.
Public interface
The only purpose of ImageRegion is to have a single object for the various kinds of regions. It can hold a LCRegion, LCSlicer, and WCRegion.
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 ImageRegion is chosen.
Definition at line 86 of file ImageRegion.h.
casacore::ImageRegion::ImageRegion | ( | ) |
Default constructor (has no region at all).
casacore::ImageRegion::ImageRegion | ( | const LCRegion & | ) |
Construct from a region based on lattice coordinates.
casacore::ImageRegion::ImageRegion | ( | const LCSlicer & | ) |
Construct from a slicer based on lattice coordinates.
casacore::ImageRegion::ImageRegion | ( | const WCRegion & | ) |
Construct from a region based on world coordinates.
|
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 ImageRegion destructor.
|
explicit |
|
explicit |
casacore::ImageRegion::ImageRegion | ( | const ImageRegion & | other | ) |
Copy constructor (copy semantics).
|
virtual |
|
inline |
Get the region as an 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.
Definition at line 198 of file ImageRegion.h.
References casacore::LattRegionHolder::asLCRegionPtr().
|
inline |
Definition at line 203 of file ImageRegion.h.
References casacore::LattRegionHolder::asLCSlicerPtr().
LCRegion& casacore::ImageRegion::asMask | ( | ) |
Get the region as a writable mask.
It throws an exception if the region is not an LCRegion or if its mask is not writable.
|
inline |
Definition at line 208 of file ImageRegion.h.
References asWCRegionPtr().
|
virtual |
Get the region as a pointer to WCRegion.
An exception is thrown if the region is not the correct type. Functions isWCRegion()
can be used to test the type.
Reimplemented from casacore::LattRegionHolder.
Referenced by asWCRegion().
|
virtual |
Clone the object.
Reimplemented from casacore::LattRegionHolder.
|
static |
Create an ImageRegion from a lattice expression.
Returned pointer is created via new(); it is the caller's responsibility to delete it.
|
static |
Create an ImageRegion from a record.
The returned pointer is created via new(). It's the callers responsibility to delete it. If a null pointer is passed in for logger
no logging is done, otherwise informational messages regarding bounding boxes are emitted to the logger
object.
|
static |
Convert correct object from a record.
|
virtual |
Test if the underlying region is an WCRegion.
Reimplemented from casacore::LattRegionHolder.
|
virtual |
Reimplemented from casacore::LattRegionHolder.
|
virtual |
Reimplemented from casacore::LattRegionHolder.
|
virtual |
Reimplemented from casacore::LattRegionHolder.
|
virtual |
Form a compound from this and the other region.
Reimplemented from casacore::LattRegionHolder.
ImageRegion& casacore::ImageRegion::operator= | ( | const ImageRegion & | other | ) |
Assignment (copy semantics).
|
virtual |
Comparison.
Reimplemented from casacore::LattRegionHolder.
|
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 from casacore::LattRegionHolder.
LCRegion* casacore::ImageRegion::toLCRegion | ( | const CoordinateSystem & | cSys, |
const IPosition & | shape | ||
) | const |
TableRecord casacore::ImageRegion::toRecord | ( | const String & | tableName | ) | const |
Convert the (derived) object to a record.
The record can be used to make the object persistent.
|
private |
Definition at line 194 of file ImageRegion.h.