|
casacore
|
Make the intersection of 2 or more regions. More...
#include <LCRegionMulti.h>
Public Member Functions | |
| 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 | operator== (const LCRegion &other) const |
| Comparison. 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 LCRegion * | cloneRegion () const =0 |
| 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... | |
| virtual String | type () const =0 |
| Region type. 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 TableRecord | toRecord (const String &tableName) const =0 |
| Convert the (derived) object to a record. More... | |
| 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... | |
Protected Member Functions | |
| 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 void | multiGetSlice (Array< Bool > &buffer, const Slicer §ion)=0 |
| Get the values from the class derived from Multi. 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) |
| virtual LCRegion * | doTranslate (const Vector< Float > &translateVector, const IPosition &newLatticeShape) const =0 |
| Do the actual translate in a derived class. More... | |
| 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... | |
Static Protected Member Functions | |
| static void | unmakeRecord (PtrBlock< const LCRegion * > &, const TableRecord &, const String &tableName) |
| Retrieve the contributing objects from the record. More... | |
Private Member Functions | |
| void | init (Bool takeOver) |
| Check if the regions are correct. More... | |
Private Attributes | |
| Int | itsHasMask |
| PtrBlock< const LCRegion * > | itsRegions |
Additional Inherited Members | |
Static Public Member Functions inherited from casacore::LCRegion | |
| static LCRegion * | fromRecord (const TableRecord &, const String &tableName) |
| Convert correct object from a record. More... | |
Make the intersection of 2 or more regions.
Public interface
The LCRegionMulti class is a specialization of class LCRegion. It makes it possible to extend a LCRegion along straight lines to other dimensions. E.g. a circle in the xy-plane can be extended to a cylinder in the xyz-space. includes the intersection border. It can only be used for a lattice of any dimensionality as long as the dimensionality of the (hyper-)intersection matches the dimensionality of the lattice.
The center of the intersection must be inside the lattice
Definition at line 76 of file LCRegionMulti.h.
| casacore::LCRegionMulti::LCRegionMulti | ( | ) |
Construct from 2 regions.
| casacore::LCRegionMulti::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.
| casacore::LCRegionMulti::LCRegionMulti | ( | 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::LCRegionMulti::LCRegionMulti | ( | const LCRegionMulti & | other | ) |
Copy constructor (copy semantics).
|
virtual |
|
protected |
Construct from lattice shape and region pointer, which is taken over.
Primarily meant for LCExtension.
|
protectedvirtual |
Do the actual getting of an array of values.
Implements casacore::Lattice< Bool >.
|
protectedvirtual |
Get the best cursor shape.
Reimplemented from casacore::LatticeBase.
Reimplemented in casacore::LCConcatenation, casacore::LCExtension, and casacore::LCStretch.
|
protected |
Determine if all regions have mask (used by LCIntersection).
|
protected |
Find which area of the section and region are needed.
False is returned if no part of the region is included in the section.
|
virtual |
Does the region have a mask?
Implements casacore::LCRegion.
|
private |
Check if the regions are correct.
If needed, make a copy of the region objects.
|
protected |
Store the contributing regions in a record.
|
protectedpure virtual |
Get the values from the class derived from Multi.
It is called when there is a mask. Note that it is not sure whether the buffer has the correct size.
Implemented in casacore::LCConcatenation, casacore::LCExtension, casacore::LCStretch, casacore::LCUnion, casacore::LCIntersection, casacore::LCDifference, and casacore::LCComplement.
|
protected |
Translate all regions.
| LCRegionMulti& casacore::LCRegionMulti::operator= | ( | const LCRegionMulti & | other | ) |
Assignment (copy semantics).
Comparison.
Reimplemented from casacore::LCRegion.
Reimplemented in casacore::LCConcatenation, casacore::LCUnion, casacore::LCExtension, casacore::LCStretch, casacore::LCIntersection, casacore::LCDifference, and casacore::LCComplement.
Get the contributing regions.
Definition at line 171 of file LCRegionMulti.h.
References itsRegions.
Referenced by casacore::LCExtension::region(), and casacore::LCStretch::region().
|
staticprotected |
Retrieve the contributing objects from the record.
|
private |
Definition at line 166 of file LCRegionMulti.h.
Definition at line 167 of file LCRegionMulti.h.
Referenced by regions().
1.8.5