casacore::ImageRegion Class Reference

Class to hold a region of interest in an image. More...

#include <ImageRegion.h>

Inheritance diagram for casacore::ImageRegion:
casacore::LattRegionHolder

List of all members.

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 *logger, const CoordinateSystem &coords, const IPosition &imShape, const Record &regionRecord)
 Create an ImageRegion from a record.
static ImageRegion * fromRecord (const TableRecord &, const String &tableName)
 Convert correct object from a record.

Private Attributes

WCRegion * itsWC

Detailed Description

Class to hold a region of interest in an image.

Intended use:

Public interface

Prerequisite

Synopsis

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 .

Example

Motivation

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.


Constructor & Destructor Documentation

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.

casacore::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.

casacore::ImageRegion::ImageRegion ( LCSlicer *   )  [explicit]
casacore::ImageRegion::ImageRegion ( WCRegion *   )  [explicit]
casacore::ImageRegion::ImageRegion ( const ImageRegion &  other  ) 

Copy constructor (copy semantics).

virtual casacore::ImageRegion::~ImageRegion (  )  [virtual]

Member Function Documentation

const LCRegion & casacore::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 198 of file ImageRegion.h.

References casacore::LattRegionHolder::asLCRegionPtr().

const LCSlicer & casacore::ImageRegion::asLCSlicer (  )  const [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.

const WCRegion & casacore::ImageRegion::asWCRegion (  )  const [inline]

Definition at line 208 of file ImageRegion.h.

References asWCRegionPtr().

virtual const WCRegion* casacore::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 casacore::LattRegionHolder.

Referenced by asWCRegion().

virtual ImageRegion* casacore::ImageRegion::clone (  )  const [virtual]

Clone the object.

Reimplemented from casacore::LattRegionHolder.

static ImageRegion* casacore::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.

static ImageRegion* casacore::ImageRegion::fromRecord ( const TableRecord &  ,
const String &  tableName 
) [static]

Convert correct object from a record.

static ImageRegion* casacore::ImageRegion::fromRecord ( LogIO *  logger,
const CoordinateSystem &  coords,
const IPosition &  imShape,
const Record &  regionRecord 
) [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.

virtual Bool casacore::ImageRegion::isWCRegion (  )  const [virtual]

Test if the underlying region is an WCRegion.

Reimplemented from casacore::LattRegionHolder.

virtual LattRegionHolder* casacore::ImageRegion::makeComplement (  )  const [virtual]

Reimplemented from casacore::LattRegionHolder.

virtual LattRegionHolder* casacore::ImageRegion::makeDifference ( const LattRegionHolder &  other  )  const [virtual]
virtual LattRegionHolder* casacore::ImageRegion::makeIntersection ( const LattRegionHolder &  other  )  const [virtual]
virtual LattRegionHolder* casacore::ImageRegion::makeUnion ( const LattRegionHolder &  other  )  const [virtual]

Form a compound from this and the other region.

ImageRegion& casacore::ImageRegion::operator= ( const ImageRegion &  other  ) 

Assignment (copy semantics).

Reimplemented from casacore::LattRegionHolder.

virtual Bool casacore::ImageRegion::operator== ( const LattRegionHolder &  other  )  const [virtual]

Comparison.

virtual LatticeRegion casacore::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 casacore::LattRegionHolder.

LCRegion* casacore::ImageRegion::toLCRegion ( const CoordinateSystem &  cSys,
const IPosition &  shape 
) const

Convert to an LCRegion using the given coordinate system (with reference pixel) and shape.

It will also make the region complete (absolute and non-fractional). An exception is thrown if the region type is a LCSlicer. The axes argument tells which axes to use from the coordinate system and shape.

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.


Member Data Documentation

Definition at line 194 of file ImageRegion.h.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 31 Aug 2016 for casa by  doxygen 1.6.1