WCComplement.h

Classes

WCComplement -- Make the complement of an image region. (full description)

class WCComplement: public WCCompound

Interface

Public Members
WCComplement()
WCComplement (const ImageRegion& region1)
WCComplement (const WCComplement& other)
virtual ~WCComplement()
WCComplement& operator= (const WCComplement& 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 WCComplement* fromRecord (const TableRecord&, const String& tableName)
WCComplement (Bool takeOver, const PtrBlock<const WCRegion*>& regions)
Protected Members
virtual LCRegion* doToLCRegion (const CoordinateSystem& cSys, const IPosition& shape, const IPosition& pixelAxesMap, const IPosition& outOrder) const

Description

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


 

Member Description

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. cloneRegion needs to return a WCRegion * because the SGI compiler is smart enough to do the right thing.

static String className()

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

virtual String type() const

Get the region type. Returns className()

virtual TableRecord toRecord (const String& tableName) const

Convert the (derived) object to a record.

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

Convert correct object from a record.

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.

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. pixelAxesMap(i) gives the pixel axis in cSys of axes i in the axesDesc.