LCMask.h

Classes

LCMask -- Class to define a rectangular mask as a temporary region (full description)

class LCMask: public LCRegionSingle

Interface

Public Members
LCMask()
explicit LCMask (const IPosition& latticeShape)
explicit LCMask (Lattice<Bool>& mask)
LCMask (const IPosition& maskShape, const LCBox& box)
LCMask (Lattice<Bool>& mask, const LCBox& box)
LCMask (const LCMask& other)
virtual ~LCMask()
LCMask& operator= (const LCMask& 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 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
virtual Bool isWritable() const
Protected Members
virtual LCRegion* doTranslate (const Vector<Float>& translateVector, const IPosition& newLatticeShape) const

Description

Prerequisite

Synopsis

The LCMask class is a specialization of class LCRegion.
It can be used to define a temporary mask (e.g. for a TempImage). It is possible to define the mask for the full lattice, but one can also define it for part of a lattice. In the latter case a LCBox has to be given as well to define for which part of the image the mask has to be used.

Example


 

To Do

Member Description

LCMask()

explicit LCMask (const IPosition& latticeShape)

Construct an LCMask object for a full lattice with the given shape. It creates a TempLattice to hold the mask.

explicit LCMask (Lattice<Bool>& mask)

Construct an LCMask object for a full lattice with the shape of the mask. It clones the mask object.

LCMask (const IPosition& maskShape, const LCBox& box)

Construct an LCMask object for the part of a lattice given by the box. The box defines the position of the mask in the lattice. The box shape and given mask shape should be equal. It creates a TempImage to hold the mask.

LCMask (Lattice<Bool>& mask, const LCBox& box)

Construct an LCMask object for the part of a lattice given by the box. The box defines the position of the mask in the lattice. The box shape and given mask shape should be equal. It clones the mask object.

LCMask (const LCMask& other)

Copy constructor (copy semantics).

virtual ~LCMask()

Destructor

LCMask& operator= (const LCMask& other)

Assignment (reference semantics).

virtual Bool operator==(const LCRegion& other) const

Comparison

virtual LCRegion* cloneRegion() const

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.

virtual uInt advisedMaxPixels() const

Returns the maximum recommended number of pixels for a cursor. This is the number of pixels in a tile.

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. In pixels.

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. 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.

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 lock (FileLocker::LockType, uInt nattempts)
virtual void unlock()
virtual Bool hasLock (FileLocker::LockType) const

Handle the (un)locking.

virtual void resync()

Resynchronize the object with the contenta tof the possible 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).

virtual void tempClose()

Temporarily close the lattice. It will be reopened automatically on the next access.

virtual void reopen()

Explicitly reopen the temporarily closed lattice.

static String className()

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

virtual String type() const

Region type. Returns class name.

virtual TableRecord toRecord (const String& tableName) const

Convert the (derived) object to a record. This cannot be done and results in an exception.

virtual Bool isWritable() const

An LCMask is writable if the underlying Lattice is.

virtual LCRegion* doTranslate (const Vector<Float>& translateVector, const IPosition& newLatticeShape) const

Construct another LCMask (for e.g. another lattice) by moving this one. It recalculates the bounding mask. A positive translation value indicates "to right".