#include <LatticeRegion.h>
Inheritance diagram for casa::LatticeRegion:


Internal
A LatticeRegion is a lattice referencing a subset of another lattice by means of a Slicer object.
It is useful when only a subset of a lattice needs to be accessed.
When the LatticeRegion is created from a const Lattice object, it is not writable, thus it can only be used as an rvalue.
Definition at line 73 of file LatticeRegion.h.
Public Member Functions | |
| LatticeRegion () | |
| The default constructor creates a LatticeRegion that is useless for just about everything, except that it can be assigned to with the assignment operator. | |
| LatticeRegion (const LCRegion ®ion) | |
| Create from the given region. | |
| LatticeRegion (LCRegion *region) | |
| Create from the given region and take over the pointer. | |
| LatticeRegion (const Slicer &slicer, const IPosition &latticeShape) | |
| Construct from the given slicer. | |
| LatticeRegion (const LatticeRegion &other) | |
| Copy constructor (reference semantics). | |
| virtual | ~LatticeRegion () |
| LatticeRegion & | operator= (const LatticeRegion &other) |
| Assignment (reference semantics). | |
| virtual Lattice< Bool > * | clone () const |
| Make a copy of the object (reference semantics). | |
| virtual Bool | isWritable () const |
| Is the LatticeRegion writable? | |
| Bool | hasMask () const |
| Has the region a mask? | |
| virtual void | resync () |
| Resynchronize the PagedArray object with the lattice file. | |
| virtual void | flush () |
| Flush the data (but do not unlock). | |
| virtual void | tempClose () |
| Temporarily close the lattice. | |
| virtual void | reopen () |
| Explicitly reopen the temporarily closed lattice. | |
| const LCRegion & | region () const |
| Get the LCRegion object describing the region. | |
| const Slicer & | slicer () const |
| Get the Slicer object describing the region. | |
| virtual IPosition | shape () const |
| Returns the shape of the LatticeRegion including all degenerate axes (i.e. | |
| virtual uInt | ndim () const |
| Returns the number of axes in this LatticeRegion. | |
| virtual uInt | nelements () const |
| Returns the total number of elements in this LatticeRegion. | |
| virtual Bool | ok () const |
| Check class internals - used for debugging. | |
| virtual LatticeIterInterface< Bool > * | makeIter (const LatticeNavigator &navigator, Bool useRef) const |
| This function is used by the LatticeIterator class to generate an iterator of the correct type for this Lattice. | |
| virtual uInt | advisedMaxPixels () const |
| Returns the maximum recommended number of pixels for a cursor. | |
| virtual IPosition | doNiceCursorShape (uInt maxPixels) const |
| Help the user pick a cursor for most efficient access. | |
| virtual uInt | maximumCacheSize () const |
| Maximum size - not necessarily all used. | |
| virtual void | setMaximumCacheSize (uInt howManyPixels) |
| Set the maximum (allowed) cache size as indicated. | |
| 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. | |
| virtual void | setCacheSizeInTiles (uInt howManyTiles) |
| Set the actual cache size for this Array to be be big enough for the indicated number of tiles. | |
| virtual void | clearCache () |
| Clears and frees up the caches, but the maximum allowed cache size is unchanged from when setCacheSize was called. | |
| virtual void | showCacheStatistics (ostream &os) const |
| Report on cache success. | |
| virtual Bool | doGetSlice (Array< Bool > &buffer, const Slicer §ion) |
| Do the actual getting of the mask. | |
| virtual void | doPutSlice (const Array< Bool > &sourceBuffer, const IPosition &where, const IPosition &stride) |
| Do the actual putting of the mask. | |
| virtual Bool | lock (FileLocker::LockType, uInt nattempts) |
| Handle the (un)locking. | |
| virtual void | unlock () |
| virtual Bool | hasLock (FileLocker::LockType) const |
| virtual void | set (const Bool &value) |
| The following "put" functions are described in detail in class Lattice . | |
| virtual void | apply (Bool(*function)(Bool)) |
| virtual void | apply (Bool(*function)(const Bool &)) |
| virtual void | apply (const Functional< Bool, Bool > &function) |
| virtual void | putAt (const Bool &value, const IPosition &where) |
| virtual void | copyData (const Lattice< Bool > &from) |
| Slicer | convert (const Slicer &slicer) const |
| Convert positions to positions in the parent object. | |
| IPosition | convert (const IPosition &position) const |
Private Attributes | |
| LCRegion * | itsRegion |
| Slicer | itsSlicer |
| Bool | itsHasRegionMask |
| casa::LatticeRegion::LatticeRegion | ( | ) |
The default constructor creates a LatticeRegion that is useless for just about everything, except that it can be assigned to with the assignment operator.
| casa::LatticeRegion::LatticeRegion | ( | const LCRegion & | region | ) |
Create from the given region.
The pointer to the parent can be 0.
| casa::LatticeRegion::LatticeRegion | ( | LCRegion * | region | ) |
Create from the given region and take over the pointer.
This means the user should not delete the region object pointed to, because it will be deleted by the LatticeRegion destructor. The pointer to the parent is set to 0.
Construct from the given slicer.
The lattice shape has to be the lattice shape of the lattice where the region is taken from.
| casa::LatticeRegion::LatticeRegion | ( | const LatticeRegion & | other | ) |
Copy constructor (reference semantics).
| virtual casa::LatticeRegion::~LatticeRegion | ( | ) | [virtual] |
| LatticeRegion& casa::LatticeRegion::operator= | ( | const LatticeRegion & | other | ) |
Assignment (reference semantics).
| virtual Bool casa::LatticeRegion::isWritable | ( | ) | const [virtual] |
| Bool casa::LatticeRegion::hasMask | ( | ) | const [inline] |
| virtual Bool casa::LatticeRegion::lock | ( | FileLocker::LockType | , | |
| uInt | nattempts | |||
| ) | [virtual] |
| virtual void casa::LatticeRegion::unlock | ( | ) | [virtual] |
Reimplemented from casa::LatticeBase.
| virtual Bool casa::LatticeRegion::hasLock | ( | FileLocker::LockType | ) | const [virtual] |
Reimplemented from casa::LatticeBase.
| virtual void casa::LatticeRegion::resync | ( | ) | [virtual] |
Resynchronize the PagedArray object with the lattice file.
This function is only useful if no read-locking is used, ie. if the table lock option is UserNoReadLocking or AutoNoReadLocking. In that cases the table system does not acquire a read-lock, thus does not synchronize itself automatically.
Reimplemented from casa::LatticeBase.
| virtual void casa::LatticeRegion::flush | ( | ) | [virtual] |
| virtual void casa::LatticeRegion::tempClose | ( | ) | [virtual] |
Temporarily close the lattice.
It will be reopened automatically on the next access.
Reimplemented from casa::LatticeBase.
| virtual void casa::LatticeRegion::reopen | ( | ) | [virtual] |
| const LCRegion & casa::LatticeRegion::region | ( | ) | const [inline] |
Get the LCRegion object describing the region.
Note that it does not contain strides, even if this LatticeRegion object was constructed from a Slicer with strides. In that case the region only defines the resulting shape.
Definition at line 239 of file LatticeRegion.h.
References itsRegion.
| const Slicer & casa::LatticeRegion::slicer | ( | ) | const [inline] |
Get the Slicer object describing the region.
Note that it may contain strides.
Definition at line 243 of file LatticeRegion.h.
References itsSlicer.
| virtual IPosition casa::LatticeRegion::shape | ( | ) | const [virtual] |
Returns the shape of the LatticeRegion including all degenerate axes (i.e.
axes with a length of one).
Implements casa::LatticeBase.
| virtual uInt casa::LatticeRegion::ndim | ( | ) | const [virtual] |
Returns the number of axes in this LatticeRegion.
This includes all degenerate axes.
Reimplemented from casa::LatticeBase.
| virtual uInt casa::LatticeRegion::nelements | ( | ) | const [virtual] |
| virtual Bool casa::LatticeRegion::ok | ( | ) | const [virtual] |
Check class internals - used for debugging.
Should always return True
Reimplemented from casa::LatticeBase.
| virtual LatticeIterInterface<Bool>* casa::LatticeRegion::makeIter | ( | const LatticeNavigator & | navigator, | |
| Bool | useRef | |||
| ) | const [virtual] |
This function is used by the LatticeIterator class to generate an iterator of the correct type for this Lattice.
Not recommended for general use.
Reimplemented from casa::Lattice< T >.
| virtual uInt casa::LatticeRegion::advisedMaxPixels | ( | ) | const [virtual] |
Returns the maximum recommended number of pixels for a cursor.
This is the number of pixels in a tile.
Reimplemented from casa::Lattice< T >.
| virtual uInt casa::LatticeRegion::maximumCacheSize | ( | ) | const [virtual] |
| virtual void casa::LatticeRegion::setMaximumCacheSize | ( | uInt | howManyPixels | ) | [virtual] |
| virtual void casa::LatticeRegion::setCacheSizeInTiles | ( | uInt | howManyTiles | ) | [virtual] |
Set the actual cache size for this Array to be be big enough for the indicated number of tiles.
This cache is not shared with PagedArrays in other rows and is always clipped to be less than the maximum value set using the setMaximumCacheSize member function. tiles. Tiles are cached using a first in first out algorithm.
Reimplemented from casa::LatticeBase.
| virtual void casa::LatticeRegion::clearCache | ( | ) | [virtual] |
Clears and frees up the caches, but the maximum allowed cache size is unchanged from when setCacheSize was called.
Reimplemented from casa::LatticeBase.
| virtual void casa::LatticeRegion::showCacheStatistics | ( | ostream & | os | ) | const [virtual] |
| virtual void casa::LatticeRegion::set | ( | const Bool & | value | ) | [virtual] |
The following "put" functions are described in detail in class Lattice .
They'll throw an exception is no mask is available or if the mask is not writable.
| virtual void casa::LatticeRegion::apply | ( | const Functional< Bool, Bool > & | function | ) | [virtual] |
Convert positions to positions in the parent object.
| virtual Bool casa::LatticeRegion::doGetSlice | ( | Array< Bool > & | buffer, | |
| const Slicer & | section | |||
| ) | [virtual] |
Do the actual getting of the mask.
| virtual void casa::LatticeRegion::doPutSlice | ( | const Array< Bool > & | sourceBuffer, | |
| const IPosition & | where, | |||
| const IPosition & | stride | |||
| ) | [virtual] |
Do the actual putting of the mask.
Only possible if region is writable.
LCRegion* casa::LatticeRegion::itsRegion [private] |
Slicer casa::LatticeRegion::itsSlicer [private] |
Bool casa::LatticeRegion::itsHasRegionMask [private] |
1.5.1