WCDifference.h
Classes
- WCDifference -- Make the difference of 2 image regions. (full description)
Interface
- Public Members
- WCDifference (const ImageRegion& region1, const ImageRegion& region2)
- WCDifference (const PtrBlock<const ImageRegion*>& regions)
- WCDifference (Bool takeOver, const PtrBlock<const WCRegion*>& regions)
- WCDifference (const WCDifference& other)
- virtual ~WCDifference()
- WCDifference& operator= (const WCDifference& other)
- virtual Bool operator== (const WCRegion& other) const
- virtual WCRegion* cloneRegion() const
- static String className()
- virtual String type() const
- virtual TableRecord toRecord (const String& tableName) const
- static WCDifference* fromRecord (const TableRecord&, const String& tableName)
- Protected Members
- virtual LCRegion* doToLCRegion (const CoordinateSystem& cSys, const IPosition& shape, const IPosition& pixelAxesMap, const IPosition& outOrder) const
Prerequisite
Synopsis
The WCDifference class is a specialization of class
WCCompound.
It makes it possible to take the difference of 2 regions.
Note that only world coordinate regions can be used in a compound,
thus an LCSlicer object is not allowed in a difference.
The difference consists of all pixels masked-on in the first
region and not masked-on in the second region.
The regions in a difference can have different axes and dimensionalities.
The axes and dimensionality of a difference 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 difference 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
Member Description
Construct the difference of one or more image regions.
The image regions have to contain WCRegion objects, otherwise an
exception is thrown.
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.
WCDifference (const WCDifference& other)
Copy constructor (copy semantics).
WCDifference& operator= (const WCDifference& other)
Assignment (copy semantics).
Comparison
Make a copy of the derived object.
Get the class name (to store in the record).
Get the region type. Returns className()
Convert the (derived) object to a record.
Convert correct object from a record.
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.