casa  $Rev:20696$
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions | Static Public Member Functions | Protected Member Functions
casa::WCIntersection Class Reference

Make the intersection of 2 or more image regions. More...

#include <WCIntersection.h>

Inheritance diagram for casa::WCIntersection:
casa::WCCompound casa::WCRegion

List of all members.

Public Member Functions

 WCIntersection (const ImageRegion &region1, const ImageRegion &region2)
 Construct the intersection of one or more image regions.
 WCIntersection (const ImageRegion *region1, const ImageRegion *region2=0, const ImageRegion *region3=0, const ImageRegion *region4=0, const ImageRegion *region5=0, const ImageRegion *region6=0, const ImageRegion *region7=0, const ImageRegion *region8=0, const ImageRegion *region9=0, const ImageRegion *region10=0)
 WCIntersection (const PtrBlock< const ImageRegion * > &regions)
 WCIntersection (Bool takeOver, const PtrBlock< const WCRegion * > &regions)
 Construct from multiple regions given as a Block.
 WCIntersection (const WCIntersection &other)
 Copy constructor (copy semantics).
virtual ~WCIntersection ()
WCIntersectionoperator= (const WCIntersection &other)
 Assignment (copy semantics).
virtual Bool operator== (const WCRegion &other) const
 Comparison.
virtual WCRegioncloneRegion () const
 Make a copy of the derived object.
virtual String type () const
 Get the region type.
virtual TableRecord toRecord (const String &tableName) const
 Convert the (derived) object to a record.

Static Public Member Functions

static String className ()
 Get the class name (to store in the record).
static WCIntersectionfromRecord (const TableRecord &, const String &tableName)
 Convert correct object from a record.

Protected Member Functions

virtual LCRegiondoToLCRegion (const CoordinateSystem &cSys, const IPosition &shape, const IPosition &pixelAxesMap, const IPosition &outOrder) const
 Convert to an LCRegion using the given coordinate system and shape.

Detailed Description

Make the intersection of 2 or more image regions.

Intended use:

Public interface

Prerequisite

Synopsis

The WCIntersection class is a specialization of class WCCompound . It makes it possible to take the intersection of 2 or more image regions. Note that only world coordinate regions can be used in a compound, thus an LCSlicer object is not allowed in an intersection.

The intersection of regions is the collection of the pixels masked-on in all regions.

The regions in a intersection can have different axes and dimensionalities. The axes and dimensionality of a intersection are determined by the collection of all different axes in its regions. Each individual region will be auto-extended along the axes not being part of the region. E.g. one can define a WCBox with axis RA and another WCBox with axis DEC. The intersection will be 2-dim with axes RA and DEC. The first box will be auto-extended to cover the DEC axis, which results in a 2-dim box with its DEC axis the length of the image's DEC axis. Similarly the second box will be auto-extended to cover the RA axis.

Example

Definition at line 81 of file WCIntersection.h.


Constructor & Destructor Documentation

casa::WCIntersection::WCIntersection ( const ImageRegion region1,
const ImageRegion region2 
)

Construct the intersection of one or more image regions.

The image regions have to contain WCRegion objects, otherwise an exception is thrown.

casa::WCIntersection::WCIntersection ( const ImageRegion region1,
const ImageRegion region2 = 0,
const ImageRegion region3 = 0,
const ImageRegion region4 = 0,
const ImageRegion region5 = 0,
const ImageRegion region6 = 0,
const ImageRegion region7 = 0,
const ImageRegion region8 = 0,
const ImageRegion region9 = 0,
const ImageRegion region10 = 0 
)
casa::WCIntersection::WCIntersection ( Bool  takeOver,
const PtrBlock< const WCRegion * > &  regions 
)

Construct from multiple regions given as a Block.

When takeOver is True, the destructor will delete the given regions. Otherwise a copy of the regions is made.

Copy constructor (copy semantics).


Member Function Documentation

Get the class name (to store in the record).

virtual WCRegion* casa::WCIntersection::cloneRegion ( ) const [virtual]

Make a copy of the derived object.

Implements casa::WCRegion.

virtual LCRegion* casa::WCIntersection::doToLCRegion ( const CoordinateSystem cSys,
const IPosition shape,
const IPosition pixelAxesMap,
const IPosition outOrder 
) const [protected, virtual]

Convert to an LCRegion using the given coordinate system and shape.

pixelAxesMap(i) gives the pixel axis in cSys of axes i in the axesDesc.

Implements casa::WCRegion.

static WCIntersection* casa::WCIntersection::fromRecord ( const TableRecord ,
const String tableName 
) [static]

Convert correct object from a record.

Reimplemented from casa::WCRegion.

WCIntersection& casa::WCIntersection::operator= ( const WCIntersection other)

Assignment (copy semantics).

virtual Bool casa::WCIntersection::operator== ( const WCRegion other) const [virtual]

Comparison.

Reimplemented from casa::WCCompound.

virtual TableRecord casa::WCIntersection::toRecord ( const String tableName) const [virtual]

Convert the (derived) object to a record.

Implements casa::WCRegion.

virtual String casa::WCIntersection::type ( ) const [virtual]

Get the region type.

Returns className()

Implements casa::WCRegion.


The documentation for this class was generated from the following file: