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

More...

#include <WCIntersection.h>

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 Block< const ImageRegion * > &regions)
 WCIntersection (Bool takeOver, const Block< const WCRegion * > &regions)
 Construct from multiple regions given as a Block.
 WCIntersection (const WCIntersection &other)
 Copy constructor (copy semantics).
virtual ~WCIntersection ()
WCIntersection & operator= (const WCIntersection &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.
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 WCIntersection * 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 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 80 of file WCIntersection.h.

Constructor & Destructor Documentation

◆ WCIntersection() [1/5]

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

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

◆ WCIntersection() [2/5]

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

◆ WCIntersection() [3/5]

casacore::WCIntersection::WCIntersection ( const Block< const ImageRegion * > & regions)

◆ WCIntersection() [4/5]

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

References casacore::WCCompound::regions().

◆ WCIntersection() [5/5]

casacore::WCIntersection::WCIntersection ( const WCIntersection & other)

Copy constructor (copy semantics).

References WCIntersection().

◆ ~WCIntersection()

virtual casacore::WCIntersection::~WCIntersection ( )
virtual

Member Function Documentation

◆ className()

String casacore::WCIntersection::className ( )
static

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

◆ cloneRegion()

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

Make a copy of the derived object.

Implements casacore::WCRegion.

◆ doToLCRegion()

virtual LCRegion * casacore::WCIntersection::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()

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

Convert correct object from a record.

References WCIntersection().

◆ operator=()

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

Assignment (copy semantics).

References WCIntersection().

◆ operator==()

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

Comparison.

Reimplemented from casacore::WCCompound.

◆ toRecord()

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

Convert the (derived) object to a record.

Implements casacore::WCRegion.

◆ type()

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

Get the region type.

Returns className()

Implements casacore::WCRegion.


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