casa
$Rev:20696$
|
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). | |
ImageRegion (const LCRegion &) | |
Construct from a region based on lattice coordinates. | |
ImageRegion (const LCSlicer &) | |
Construct from a slicer based on lattice coordinates. | |
ImageRegion (const WCRegion &) | |
Construct from a region based on world coordinates. | |
ImageRegion (LCRegion *) | |
Similar constructors as above, but using a pointer. | |
ImageRegion (LCSlicer *) | |
ImageRegion (WCRegion *) | |
ImageRegion (const ImageRegion &other) | |
Copy constructor (copy semantics). | |
virtual | ~ImageRegion () |
ImageRegion & | operator= (const ImageRegion &other) |
Assignment (copy semantics). | |
virtual ImageRegion * | clone () const |
Clone the object. | |
virtual Bool | operator== (const LattRegionHolder &other) const |
Comparison. | |
virtual Bool | isWCRegion () const |
Test if the underlying region is an WCRegion. | |
virtual const WCRegion * | asWCRegionPtr () const |
Get the region as a pointer to WCRegion. | |
const LCRegion & | asLCRegion () const |
Get the region as an LCSlicer or WCRegion. | |
const LCSlicer & | asLCSlicer () const |
const WCRegion & | asWCRegion () const |
LCRegion & | asMask () |
Get the region as a writable mask. | |
virtual LatticeRegion | toLatticeRegion (const CoordinateSystem &cSys, const IPosition &shape) const |
Convert to a LatticeRegion using the given coordinate system (with reference pixel) and shape. | |
LCRegion * | toLCRegion (const CoordinateSystem &cSys, const IPosition &shape) const |
Convert to an LCRegion using the given coordinate system (with reference pixel) and shape. | |
TableRecord | toRecord (const String &tableName) const |
Convert the (derived) object to a record. | |
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 |
Static Public Member Functions | |
static ImageRegion * | fromLatticeExpression (const String &latticeExpression) |
Create an ImageRegion from a lattice expression. | |
static ImageRegion * | fromRecord (LogIO *const &logger, const CoordinateSystem &coords, const IPosition &imShape, const Record ®ionRecord) |
Create an ImageRegion from a record. | |
static ImageRegion * | fromRecord (const TableRecord &, const String &tableName) |
Convert correct object from a record. | |
static Record * | tweakedRegionRecord (Record *Region) |
moved from ImageAnalysis TODO: From Ger: In fact I doubt if that tweaked function is really needed. | |
Private Attributes | |
WCRegion * | itsWC |
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 85 of file ImageRegion.h.
Default constructor (has no region at all).
casa::ImageRegion::ImageRegion | ( | const LCRegion & | ) |
Construct from a region based on lattice coordinates.
casa::ImageRegion::ImageRegion | ( | const LCSlicer & | ) |
Construct from a slicer based on lattice coordinates.
casa::ImageRegion::ImageRegion | ( | const WCRegion & | ) |
Construct from a region based on world coordinates.
casa::ImageRegion::ImageRegion | ( | 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 ImageRegion destructor.
casa::ImageRegion::ImageRegion | ( | LCSlicer * | ) | [explicit] |
casa::ImageRegion::ImageRegion | ( | WCRegion * | ) | [explicit] |
casa::ImageRegion::ImageRegion | ( | const ImageRegion & | other | ) |
Copy constructor (copy semantics).
virtual casa::ImageRegion::~ImageRegion | ( | ) | [virtual] |
const LCRegion & casa::ImageRegion::asLCRegion | ( | ) | const [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 206 of file ImageRegion.h.
References casa::LattRegionHolder::asLCRegionPtr().
const LCSlicer & casa::ImageRegion::asLCSlicer | ( | ) | const [inline] |
Definition at line 211 of file ImageRegion.h.
References casa::LattRegionHolder::asLCSlicerPtr().
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.
const WCRegion & casa::ImageRegion::asWCRegion | ( | ) | const [inline] |
Definition at line 216 of file ImageRegion.h.
References asWCRegionPtr().
virtual const WCRegion* casa::ImageRegion::asWCRegionPtr | ( | ) | const [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 casa::LattRegionHolder.
Referenced by asWCRegion().
virtual ImageRegion* casa::ImageRegion::clone | ( | ) | const [virtual] |
Clone the object.
Reimplemented from casa::LattRegionHolder.
static ImageRegion* casa::ImageRegion::fromLatticeExpression | ( | const String & | latticeExpression | ) | [static] |
Create an ImageRegion from a lattice expression.
Returned pointer is created via new(); it is the caller's responsibility to delete it. This method was moved from ImageAnalysis.
static ImageRegion* casa::ImageRegion::fromRecord | ( | LogIO *const & | logger, |
const CoordinateSystem & | coords, | ||
const IPosition & | imShape, | ||
const Record & | regionRecord | ||
) | [static] |
Create an ImageRegion from a record.
The returned pointer is created via new() and so callers are responsible for deleting 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. Moved from ImageAnalysis.
static ImageRegion* casa::ImageRegion::fromRecord | ( | const TableRecord & | , |
const String & | tableName | ||
) | [static] |
Convert correct object from a record.
virtual Bool casa::ImageRegion::isWCRegion | ( | ) | const [virtual] |
Test if the underlying region is an WCRegion.
Reimplemented from casa::LattRegionHolder.
virtual LattRegionHolder* casa::ImageRegion::makeComplement | ( | ) | const [virtual] |
Reimplemented from casa::LattRegionHolder.
virtual LattRegionHolder* casa::ImageRegion::makeDifference | ( | const LattRegionHolder & | other | ) | const [virtual] |
Reimplemented from casa::LattRegionHolder.
virtual LattRegionHolder* casa::ImageRegion::makeIntersection | ( | const LattRegionHolder & | other | ) | const [virtual] |
Reimplemented from casa::LattRegionHolder.
virtual LattRegionHolder* casa::ImageRegion::makeUnion | ( | const LattRegionHolder & | other | ) | const [virtual] |
Form a compound from this and the other region.
Reimplemented from casa::LattRegionHolder.
ImageRegion& casa::ImageRegion::operator= | ( | const ImageRegion & | other | ) |
Assignment (copy semantics).
virtual Bool casa::ImageRegion::operator== | ( | const LattRegionHolder & | other | ) | const [virtual] |
Comparison.
Reimplemented from casa::LattRegionHolder.
virtual LatticeRegion casa::ImageRegion::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 from casa::LattRegionHolder.
LCRegion* casa::ImageRegion::toLCRegion | ( | const CoordinateSystem & | cSys, |
const IPosition & | shape | ||
) | const |
TableRecord casa::ImageRegion::toRecord | ( | const String & | tableName | ) | const |
Convert the (derived) object to a record.
The record can be used to make the object persistent.
static Record* casa::ImageRegion::tweakedRegionRecord | ( | Record * | Region | ) | [static] |
moved from ImageAnalysis TODO: From Ger: In fact I doubt if that tweaked function is really needed.
The fromRecord function in e.g. LCBox use toArrayFloat which converts a double array to a float array. You should try if the code works fine without doing the tweakrecord.
WCRegion* casa::ImageRegion::itsWC [private] |
Definition at line 202 of file ImageRegion.h.