casacore
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
casacore::WCComplement Class Reference

Make the complement of an image region. More...

#include <WCComplement.h>

Inheritance diagram for casacore::WCComplement:
casacore::WCCompound casacore::WCRegion

Public Member Functions

 WCComplement ()
 
 WCComplement (const ImageRegion &region1)
 Construct the complement of the given region. More...
 
 WCComplement (const WCComplement &other)
 Copy constructor (copy semantics). More...
 
virtual ~WCComplement ()
 
WCComplementoperator= (const WCComplement &other)
 Assignment (copy semantics). More...
 
virtual Bool operator== (const WCRegion &other) const
 Comparison. More...
 
virtual WCRegioncloneRegion () const
 Make a copy of the derived object. More...
 
virtual String type () const
 Get the region type. More...
 
virtual TableRecord toRecord (const String &tableName) const
 Convert the (derived) object to a record. More...
 
 WCComplement (Bool takeOver, const PtrBlock< const WCRegion * > &regions)
 Construct from multiple regions. More...
 
- Public Member Functions inherited from casacore::WCCompound
 WCCompound (const ImageRegion &region1, const ImageRegion &region2)
 Construct from one or more image regions. More...
 
 WCCompound (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)
 
 WCCompound (const PtrBlock< const ImageRegion * > &regions)
 
 WCCompound (Bool takeOver, const PtrBlock< const WCRegion * > &regions)
 Construct from multiple regions given as a Block. More...
 
 WCCompound (const WCCompound &other)
 Copy constructor (copy semantics). More...
 
virtual ~WCCompound ()
 
const PtrBlock< const WCRegion * > & regions () const
 Get the contributing regions. More...
 
- Public Member Functions inherited from casacore::WCRegion
 WCRegion ()
 
 WCRegion (const WCRegion &other)
 Copy constructor (copy semantics). More...
 
virtual ~WCRegion ()
 Destructor. More...
 
Bool operator!= (const WCRegion &other) const
 
virtual uInt ndim () const
 Get the dimensionality (i.e. More...
 
const RecordgetAxesDesc () const
 Get the description of all axes. More...
 
const RecordgetAxisDesc (uInt axis) const
 Get the description of the given axis. More...
 
Int axisNr (const Record &desc, const Record &axesDesc) const
 Return the axis number of the description of an axis in the full axes description. More...
 
Bool isAxisDescEqual (const Record &desc1, const Record &desc2) const
 Are both axis descriptions equal? More...
 
virtual Bool canExtend () const
 Can the region extend itself? By default it cannot. More...
 
const Stringcomment () const
 Get or set the comment. More...
 
void setComment (const String &comment)
 
virtual LCRegiontoLCRegion (const CoordinateSystem &cSys, const IPosition &shape) const
 Convert to an LCRegion using the given new coordinate system and shape. More...
 
LCRegiontoLCRegionAxes (const CoordinateSystem &cSys, const IPosition &shape, const IPosition &pixelAxesMap, const IPosition &outOrder) const
 Convert to an LCRegion using the given coordinate system and shape. More...
 
void defineRecordFields (RecordInterface &record, const String &className) const
 Define the type and class name in the record. More...
 

Static Public Member Functions

static String className ()
 Get the class name (to store in the record). More...
 
static WCComplementfromRecord (const TableRecord &, const String &tableName)
 Convert correct object from a record. More...
 
- Static Public Member Functions inherited from casacore::WCRegion
static WCRegionfromRecord (const TableRecord &rec, const String &tableName)
 Convert correct object from a record. More...
 

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. More...
 
- Protected Member Functions inherited from casacore::WCCompound
WCCompoundoperator= (const WCCompound &other)
 Assignment (copy semantics) makes only sense for a derived class. More...
 
void multiToLCRegion (PtrBlock< const LCRegion * > &regions, const CoordinateSystem &cSys, const IPosition &shape, const IPosition &pixelAxesMap, const IPosition &extendAxes) const
 Convert each WCRegion to an LCRegion. More...
 
TableRecord makeRecord (const String &tableName) const
 Store the contributing regions in a record. More...
 
- Protected Member Functions inherited from casacore::WCRegion
WCRegionoperator= (const WCRegion &other)
 Assignment (copy semantics) makes only sense for a derived class. More...
 
void addAxisDesc (const Record &axisDesc)
 Add an axis with its description. More...
 
Record makeAxisDesc (const CoordinateSystem &cSys, uInt pixelAxis) const
 Make a description of a pixel axis in the coordinate system. More...
 
Record makeAxesDesc (const CoordinateSystem &cSys) const
 Make a description of all pixel axes in the coordinate system (in pixel axes order). More...
 
void makeWorldAbsolute (Vector< Double > &world, const Vector< Int > &absRel, const CoordinateSystem &cSys, const IPosition &shape) const
 Convert relative to absolute world as needed. More...
 
void checkAxes (const IPosition &pixelAxes, const CoordinateSystem &cSys, const Vector< String > &quantityUnits) const
 

Additional Inherited Members

- Static Protected Member Functions inherited from casacore::WCCompound
static void unmakeRecord (PtrBlock< const WCRegion * > &, const TableRecord &, const String &tableName)
 Retrieve the contributing objects from the record. More...
 
- Static Protected Member Functions inherited from casacore::WCRegion
static void unitInit ()
 
static void convertPixel (Double &pixel, const Double &value, const String &unit, const Int absRel, const Double refPix, const Int shape)
 

Detailed Description

Make the complement of an image region.

Intended use:

Public interface

Prerequisite

Synopsis

The WCComplement class is a specialization of class WCCompound. It makes it possible to take the complement of the given region (which can be a simple WCBox, but also a complex compound region). Note that only world coordinate regions can be used in a compound, thus an LCSlicer object is not allowed in an intersection.

Note that a region consists of all its masked-on pixels inside the bounding box of the region. Thus the complement consists of all pixels outside the bounding box and all masked-off pixels inside the bounding box. So the complement of the complement of a region is the region itself.

Example

Definition at line 76 of file WCComplement.h.

Constructor & Destructor Documentation

casacore::WCComplement::WCComplement ( )
casacore::WCComplement::WCComplement ( const ImageRegion region1)

Construct the complement of the given region.

casacore::WCComplement::WCComplement ( const WCComplement other)

Copy constructor (copy semantics).

virtual casacore::WCComplement::~WCComplement ( )
virtual
casacore::WCComplement::WCComplement ( Bool  takeOver,
const PtrBlock< const WCRegion * > &  regions 
)

Construct from multiple regions.

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

Member Function Documentation

static String casacore::WCComplement::className ( )
static

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

virtual WCRegion* casacore::WCComplement::cloneRegion ( ) const
virtual

Make a copy of the derived object.

cloneRegion needs to return a WCRegion * because the SGI compiler is smart enough to do the right thing.

Implements casacore::WCRegion.

virtual LCRegion* casacore::WCComplement::doToLCRegion ( const CoordinateSystem cSys,
const IPosition shape,
const IPosition pixelAxesMap,
const IPosition outOrder 
) const
protectedvirtual

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

static WCComplement* casacore::WCComplement::fromRecord ( const TableRecord ,
const String tableName 
)
static

Convert correct object from a record.

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

Assignment (copy semantics).

virtual Bool casacore::WCComplement::operator== ( const WCRegion other) const
virtual

Comparison.

Reimplemented from casacore::WCCompound.

virtual TableRecord casacore::WCComplement::toRecord ( const String tableName) const
virtual

Convert the (derived) object to a record.

Implements casacore::WCRegion.

virtual String casacore::WCComplement::type ( ) const
virtual

Get the region type.

Returns className()

Implements casacore::WCRegion.


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