casa
5.7.0-16
|
Make the complement of a region. More...
#include <LCComplement.h>
Public Member Functions | |
LCComplement () | |
LCComplement (const LCRegion ®ion1) | |
Construct the complement of the given region. More... | |
LCComplement (Bool takeOver, const PtrBlock< const LCRegion * > ®ions) | |
Construct from multiple regions given as a Block. More... | |
LCComplement (const LCComplement &other) | |
Copy constructor (copy semantics). More... | |
virtual | ~LCComplement () |
LCComplement & | operator= (const LCComplement &other) |
Assignment (copy semantics). More... | |
virtual Bool | operator== (const LCRegion &other) const |
Comparison. More... | |
virtual LCRegion * | cloneRegion () 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... | |
Public Member Functions inherited from casacore::LCRegionMulti | |
LCRegionMulti () | |
LCRegionMulti (const LCRegion ®ion1, const LCRegion ®ion2) | |
Construct from 2 regions. More... | |
LCRegionMulti (Bool takeOver, const LCRegion *region1, const LCRegion *region2=0, const LCRegion *region3=0, const LCRegion *region4=0, const LCRegion *region5=0, const LCRegion *region6=0, const LCRegion *region7=0, const LCRegion *region8=0, const LCRegion *region9=0, const LCRegion *region10=0) | |
Construct from multiple regions. More... | |
LCRegionMulti (Bool takeOver, const PtrBlock< const LCRegion * > ®ions) | |
Construct from multiple regions given as a Block. More... | |
LCRegionMulti (const LCRegionMulti &other) | |
Copy constructor (copy semantics). More... | |
virtual | ~LCRegionMulti () |
LCRegionMulti & | operator= (const LCRegionMulti &other) |
Assignment (copy semantics). More... | |
virtual Bool | hasMask () const |
Does the region have a mask? More... | |
Public Member Functions inherited from casacore::LCRegion | |
LCRegion () | |
LCRegion (const IPosition &latticeShape) | |
Construct with the lattice shape only. More... | |
LCRegion (const LCRegion &other) | |
Copy constructor (copy semantics). More... | |
virtual | ~LCRegion () |
Bool | operator!= (const LCRegion &other) const |
Non-equality. More... | |
virtual Lattice< Bool > * | clone () const |
Make a copy of the derived object. More... | |
virtual void | handleDelete () |
Handle deletion of the region by deleting possible tables. More... | |
virtual void | handleRename (const String &newName, Bool overwrite) |
Handle renaming the region by renaming possible tables. More... | |
const String & | comment () const |
Get or set the comment. More... | |
void | setComment (const String &comment) |
LCRegion * | translate (const IPosition &translateVector) const |
Construct another LCRegion (for e.g. More... | |
LCRegion * | translate (const IPosition &translateVector, const IPosition &newLatticeShape) const |
LCRegion * | translate (const Vector< Float > &translateVector) const |
LCRegion * | translate (const Vector< Float > &translateVector, const IPosition &newLatticeShape) const |
const IPosition & | latticeShape () const |
Give the full lattice shape. More... | |
const Slicer & | boundingBox () const |
Give the bounding box. More... | |
Slicer | expand (const Slicer &slicer) const |
Expand a slicer or position in the region to the full lattice. More... | |
IPosition | expand (const IPosition &index) const |
virtual uInt | ndim () const |
Return the dimensionality of the region. More... | |
virtual IPosition | shape () const |
Return the shape of the region (i.e. More... | |
virtual Bool | isWritable () const |
Usually the lattice (i.e. More... | |
virtual void | doPutSlice (const Array< Bool > &sourceBuffer, const IPosition &where, const IPosition &stride) |
Regions can usually not be put; i.e. More... | |
virtual void | set (const Bool &value) |
Set all elements in the Lattice to the given value. More... | |
virtual void | apply (Bool(*function)(Bool)) |
Replace every element, x, of the Lattice with the result of f(x). More... | |
virtual void | apply (Bool(*function)(const Bool &)) |
virtual void | apply (const Functional< Bool, Bool > &function) |
virtual void | putAt (const Bool &value, const IPosition &where) |
Put the value of a single element. More... | |
virtual void | copyData (const Lattice< Bool > &from) |
Copy the data from the given lattice to this one. More... | |
Public Member Functions inherited from casacore::Lattice< Bool > | |
virtual | ~Lattice () |
a virtual destructor is needed so that it will use the actual destructor in the derived class More... | |
virtual DataType | dataType () const |
Get the data type of the lattice. More... | |
Bool | operator() (const IPosition &where) const |
Return the value of the single element located at the argument IPosition. More... | |
virtual Bool | getAt (const IPosition &where) const |
Bool | get (COWPtr< Array< Bool > > &buffer, Bool removeDegenerateAxes=False) const |
Functions which extract an Array of values from a Lattice. More... | |
Bool | get (Array< Bool > &buffer, Bool removeDegenerateAxes=False) |
Array< Bool > | get (Bool removeDegenerateAxes=False) const |
Bool | getSlice (COWPtr< Array< Bool > > &buffer, const Slicer §ion, Bool removeDegenerateAxes=False) const |
Bool | getSlice (COWPtr< Array< Bool > > &buffer, const IPosition &start, const IPosition &shape, Bool removeDegenerateAxes=False) const |
Bool | getSlice (COWPtr< Array< Bool > > &buffer, const IPosition &start, const IPosition &shape, const IPosition &stride, Bool removeDegenerateAxes=False) const |
Bool | getSlice (Array< Bool > &buffer, const Slicer §ion, Bool removeDegenerateAxes=False) |
Bool | getSlice (Array< Bool > &buffer, const IPosition &start, const IPosition &shape, Bool removeDegenerateAxes=False) |
Bool | getSlice (Array< Bool > &buffer, const IPosition &start, const IPosition &shape, const IPosition &stride, Bool removeDegenerateAxes=False) |
Array< Bool > | getSlice (const Slicer §ion, Bool removeDegenerateAxes=False) const |
Array< Bool > | getSlice (const IPosition &start, const IPosition &shape, Bool removeDegenerateAxes=False) const |
Array< Bool > | getSlice (const IPosition &start, const IPosition &shape, const IPosition &stride, Bool removeDegenerateAxes=False) const |
void | putSlice (const Array< Bool > &sourceBuffer, const IPosition &where, const IPosition &stride) |
A function which places an Array of values within this instance of the Lattice at the location specified by the IPosition "where", incrementing by "stride". More... | |
void | putSlice (const Array< Bool > &sourceBuffer, const IPosition &where) |
void | put (const Array< Bool > &sourceBuffer) |
void | operator+= (const Lattice< Bool > &other) |
Add, subtract, multiple, or divide by another Lattice. More... | |
void | operator-= (const Lattice< Bool > &other) |
void | operator*= (const Lattice< Bool > &other) |
void | operator/= (const Lattice< Bool > &other) |
virtual void | copyDataTo (Lattice< Bool > &to) const |
Copy the data from this lattice to the given lattice. More... | |
virtual uInt | advisedMaxPixels () const |
This function returns the advised maximum number of pixels to include in the cursor of an iterator. More... | |
virtual LatticeIterInterface < Bool > * | makeIter (const LatticeNavigator &navigator, Bool useRef) const |
These functions are used by the LatticeIterator class to generate an iterator of the correct type for a specified Lattice. More... | |
Public Member Functions inherited from casacore::LatticeBase | |
virtual | ~LatticeBase () |
A virtual destructor is needed so that it will use the actual destructor in the derived class. More... | |
virtual String | imageType () const |
Get the image type (returns name of derived class). More... | |
virtual Bool | isPersistent () const |
Is the lattice persistent and can it be loaded by other processes as well? That is the case for a PagedArray or PagedImage and for an ImageExpr which does not use transient lattices or regions. More... | |
virtual Bool | isPaged () const |
Is the lattice paged to disk? The default implementation returns False. More... | |
virtual Bool | canReferenceArray () const |
Can the lattice data be referenced as an array section? That is the case for an ArrayLattice or a Temp/SubLattice using it. More... | |
virtual void | save (const String &fileName) const |
Save the image in an AipsIO file with the given name. More... | |
virtual Bool | lock (FileLocker::LockType, uInt nattempts) |
It is strongly recommended to use class LatticeLocker to handle lattice locking. More... | |
virtual void | unlock () |
virtual Bool | hasLock (FileLocker::LockType) const |
virtual void | resync () |
Resynchronize the Lattice object with the lattice file. More... | |
virtual void | flush () |
Flush the data (but do not unlock). More... | |
virtual void | tempClose () |
Temporarily close the lattice. More... | |
virtual void | reopen () |
Explicitly reopen the temporarily closed lattice. More... | |
virtual String | name (Bool stripPath=False) const |
Return the name of the current Lattice object. More... | |
virtual size_t | nelements () const |
Return the total number of elements in this Lattice. More... | |
size_t | size () const |
Bool | conform (const LatticeBase &other) const |
Return a value of "True" if this instance of Lattice and 'other' have the same shape, otherwise returns a value of "False". More... | |
virtual LELCoordinates | lelCoordinates () const |
Return the coordinates of the lattice. More... | |
IPosition | niceCursorShape (uInt maxPixels) const |
Returns a recommended cursor shape for iterating through all the pixels in the Lattice. More... | |
IPosition | niceCursorShape () const |
virtual Bool | ok () const |
Check class internals - used for debugging. More... | |
virtual uInt | maximumCacheSize () const |
Maximum cache size - not necessarily all used. More... | |
virtual void | setMaximumCacheSize (uInt howManyPixels) |
Set the maximum (allowed) cache size as indicated. More... | |
virtual void | setCacheSizeInTiles (uInt howManyTiles) |
Set the actual cache size for this Array to be big enough for the indicated number of tiles. More... | |
virtual void | setCacheSizeFromPath (const IPosition &sliceShape, const IPosition &windowStart, const IPosition &windowLength, const IPosition &axisPath) |
Set the cache size as to "fit" the indicated path. More... | |
virtual void | clearCache () |
Clears and frees up the caches, but the maximum allowed cache size is unchanged from when setCacheSize was called. More... | |
virtual void | showCacheStatistics (ostream &os) const |
Report on cache success. More... | |
Static Public Member Functions | |
static String | className () |
Get the class name (to store in the record). More... | |
static LCComplement * | fromRecord (const TableRecord &, const String &tableName) |
Convert correct object from a record. More... | |
Static Public Member Functions inherited from casacore::LCRegion | |
static LCRegion * | fromRecord (const TableRecord &, const String &tableName) |
Convert correct object from a record. More... | |
Protected Member Functions | |
virtual LCRegion * | doTranslate (const Vector< Float > &translateVector, const IPosition &newLatticeShape) const |
Construct another LCRegion (for e.g. More... | |
virtual void | multiGetSlice (Array< Bool > &buffer, const Slicer §ion) |
Do the actual getting of the mask. More... | |
Protected Member Functions inherited from casacore::LCRegionMulti | |
TableRecord | makeRecord (const String &tableName) const |
Store the contributing regions in a record. More... | |
void | multiTranslate (PtrBlock< const LCRegion * > &, const Vector< Float > &translateVector, const IPosition &newLatticeShape) const |
Translate all regions. More... | |
void | fillHasMask () |
Determine if all regions have mask (used by LCIntersection). More... | |
Bool | findAreas (IPosition &bufStart, IPosition &bufEnd, IPosition ®Start, IPosition ®End, const Slicer §ion, uInt regNr) const |
Find which area of the section and region are needed. More... | |
const PtrBlock< const LCRegion * > & | regions () const |
Get the contributing regions. More... | |
LCRegionMulti (const LCRegion *region, const IPosition &latticeShape) | |
Construct from lattice shape and region pointer, which is taken over. More... | |
virtual Bool | doGetSlice (Array< Bool > &buffer, const Slicer §ion) |
Do the actual getting of an array of values. More... | |
virtual IPosition | doNiceCursorShape (uInt maxPixels) const |
Get the best cursor shape. More... | |
Protected Member Functions inherited from casacore::LCRegion | |
LCRegion & | operator= (const LCRegion &other) |
Assignment (copy semantics) is only useful for derived classes. More... | |
void | setBoundingBox (const Slicer &boundingBox) |
Sometimes it is inconvenient for a derived class to set the bounding box in the constructor. More... | |
void | setShapeAndBoundingBox (const IPosition &latticeShape, const Slicer &boundingBox) |
void | defineRecordFields (RecordInterface &record, const String &className) const |
Define the type and class name in the record. More... | |
Protected Member Functions inherited from casacore::Lattice< Bool > | |
Lattice () | |
Define default constructor to satisfy compiler. More... | |
Lattice (const Lattice< Bool > &) | |
Copy constructor and assignment can only be used by derived classes. More... | |
virtual void | handleMath (const Lattice< Bool > &from, int oper) |
Handle the Math operators (+=, -=, *=, /=). More... | |
virtual void | handleMathTo (Lattice< Bool > &to, int oper) const |
Lattice< Bool > & | operator= (const Lattice< Bool > &) |
Protected Member Functions inherited from casacore::LatticeBase | |
LatticeBase () | |
Define default constructor to be used by derived classes. More... | |
LatticeBase (const LatticeBase &) | |
Copy constructor and assignment can only be used by derived classes. More... | |
LatticeBase & | operator= (const LatticeBase &) |
void | throwBoolMath () const |
Throw an exception for arithmetic on a Bool Lattice. More... | |
Private Member Functions | |
void | defineBox () |
Make the bounding box and determine the offsets. More... | |
Additional Inherited Members | |
Static Protected Member Functions inherited from casacore::LCRegionMulti | |
static void | unmakeRecord (PtrBlock< const LCRegion * > &, const TableRecord &, const String &tableName) |
Retrieve the contributing objects from the record. More... | |
Make the complement of a region.
Public interface
The LCComplement class is a specialization of class LCRegion. It makes it possible to take the complement of a region with respect to a given lattice shape.
The center of the complement must be inside the lattice
Definition at line 69 of file LCComplement.h.
casacore::LCComplement::LCComplement | ( | ) |
casacore::LCComplement::LCComplement | ( | const LCRegion & | region1 | ) |
Construct the complement of the given region.
casacore::LCComplement::LCComplement | ( | Bool | takeOver, |
const PtrBlock< const LCRegion * > & | 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.
casacore::LCComplement::LCComplement | ( | const LCComplement & | other | ) |
Copy constructor (copy semantics).
|
virtual |
|
static |
Get the class name (to store in the record).
|
virtual |
Make a copy of the derived object.
Implements casacore::LCRegion.
|
private |
Make the bounding box and determine the offsets.
|
protectedvirtual |
Construct another LCRegion (for e.g.
another lattice) by moving this one. It recalculates the bounding box and mask. A positive translation value indicates "to right".
Implements casacore::LCRegion.
|
static |
Convert correct object from a record.
|
protectedvirtual |
Do the actual getting of the mask.
Implements casacore::LCRegionMulti.
LCComplement& casacore::LCComplement::operator= | ( | const LCComplement & | other | ) |
Assignment (copy semantics).
Comparison.
Reimplemented from casacore::LCRegionMulti.
|
virtual |
Convert the (derived) object to a record.
Implements casacore::LCRegion.
|
virtual |