casacore
|
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 |
![]() | |
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 | |
![]() | |
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.