LCPagedMask.h
Classes
- LCPagedMask -- Class to define a rectangular mask as a region (full description)
Interface
- Public Members
- LCPagedMask()
- LCPagedMask (const TiledShape& latticeShape, const String& tableName)
- LCPagedMask (const TiledShape& maskShape, const LCBox& box, const String& tableName)
- LCPagedMask (PagedArray<Bool>& mask, const LCBox& box)
- LCPagedMask (const LCPagedMask& other)
- virtual ~LCPagedMask()
- LCPagedMask& operator= (const LCPagedMask& other)
- virtual Bool operator==(const LCRegion& other) const
- virtual LCRegion* cloneRegion() const
- virtual LatticeIterInterface<Bool>* makeIter (const LatticeNavigator& navigator, Bool useRef) const
- virtual uInt advisedMaxPixels() const
- virtual IPosition doNiceCursorShape (uInt maxPixels) const
- virtual uInt maximumCacheSize() const
- virtual void setMaximumCacheSize (uInt howManyPixels)
- virtual void setCacheSizeFromPath (const IPosition& sliceShape, const IPosition& windowStart, const IPosition& windowLength, const IPosition& axisPath)
- virtual void setCacheSizeInTiles (uInt howManyTiles)
- virtual void clearCache()
- virtual void showCacheStatistics (ostream& os) const
- virtual void handleDelete()
- virtual void handleRename (const String& newName, Bool overwrite)
- virtual Bool lock (FileLocker::LockType, uInt nattempts)
- virtual void unlock()
- virtual Bool hasLock (FileLocker::LockType) const
- virtual void resync()
- virtual void flush()
- virtual void tempClose()
- virtual void reopen()
- static String className()
- virtual String type() const
- virtual TableRecord toRecord (const String& tableName) const
- static LCPagedMask* fromRecord (const TableRecord&, const String& tablename)
- virtual Bool isWritable() const
- Protected Members
- virtual LCRegion* doTranslate (const Vector<Float>& translateVector, const IPosition& newLatticeShape) const
- Private Members
- LCPagedMask (PagedArray<Bool>& mask, const IPosition& blc, const IPosition& latticeShape)
Prerequisite
Synopsis
The LCPagedMask class is a specialization of class
LCRegion.
Example
To Do
Member Description
Construct a PagedMask object for (part of) a lattice.
The box defines the position of the mask.
The default mask shape is the lattice shape.
LCPagedMask (const LCPagedMask& other)
Copy constructor (copy semantics).
Destructor
LCPagedMask& operator= (const LCPagedMask& other)
Assignment (reference semantics).
Comparison
Make a copy of the derived object.
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. Not recommended
for general use.
Returns the maximum recommended number of pixels for a cursor.
This is the number of pixels in a tile.
Help the user pick a cursor for most efficient access.
Maximum size - not necessarily all used. In pixels.
Set the maximum (allowed) cache size as indicated.
Set the cache size as to "fit" the indicated path.
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.
Clears and frees up the caches, but the maximum allowed cache size is
unchanged from when setCacheSize was called
Report on cache success.
Handle deletion of the region by deleting the associated table.
virtual void handleRename (const String& newName, Bool overwrite)
Handle renaming the region by renaming the associated table.
If overwrite=False, an exception will be thrown if a table with the
new name already exists.
virtual Bool lock (FileLocker::LockType, uInt nattempts)
virtual void unlock()
virtual Bool hasLock (FileLocker::LockType) const
Handle the (un)locking.
virtual void resync()
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.
virtual void flush()
Flush the data (but do not unlock).
Temporarily close the lattice.
It will be reopened automatically on the next access.
virtual void reopen()
Explicitly reopen the temporarily closed lattice.
Get the class name (to store in the record).
Region type. Returns class name.
Convert the (derived) object to a record.
Convert correct object from a record.
virtual Bool isWritable() const
An LCPagedMask is writable if the underlying PagedArray is.
virtual LCRegion* doTranslate (const Vector<Float>& translateVector, const IPosition& newLatticeShape) const
Construct another LCPagedMask (for e.g. another lattice) by moving
this one. It recalculates the bounding mask.
A positive translation value indicates "to right".
Create the object from a record (for an existing mask).