casacore
Loading...
Searching...
No Matches
casacore::WCComplement Class Reference

More...

#include <WCComplement.h>

Public Member Functions

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

Static Public Member Functions

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

Protected Member Functions

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

Constructor & Destructor Documentation

◆ WCComplement() [1/4]

casacore::WCComplement::WCComplement ( )

Referenced by fromRecord(), operator=(), and WCComplement().

◆ WCComplement() [2/4]

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

Construct the complement of the given region.

◆ WCComplement() [3/4]

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

Copy constructor (copy semantics).

References WCComplement().

◆ ~WCComplement()

virtual casacore::WCComplement::~WCComplement ( )
virtual

◆ WCComplement() [4/4]

casacore::WCComplement::WCComplement ( Bool takeOver,
const Block< 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.

References casacore::WCCompound::regions().

Member Function Documentation

◆ className()

String casacore::WCComplement::className ( )
static

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

◆ cloneRegion()

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.

◆ doToLCRegion()

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.

References casacore::shape().

◆ fromRecord()

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

Convert correct object from a record.

References WCComplement().

◆ operator=()

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

Assignment (copy semantics).

References WCComplement().

◆ operator==()

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

Comparison.

Reimplemented from casacore::WCCompound.

◆ toRecord()

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

Convert the (derived) object to a record.

Implements casacore::WCRegion.

◆ type()

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: