Loading...
Searching...
No Matches
casacore::SubLattice< T > Class Template Reference
lattices package (libcasa_lattices) » Lattices_module

More...

`#include <SubLattice.h>`

## Public Member Functions

| SubLattice ()
| The default constructor creates a SubLattice that is useless for just about everything, except that it can be assigned to with the assignment operator.
| SubLattice (const Lattice< T > &lattice, AxesSpecifier=AxesSpecifier())
| Create a SubLattice from a Lattice.
| SubLattice (Lattice< T > &lattice, Bool writableIfPossible, AxesSpecifier=AxesSpecifier())
| SubLattice (const MaskedLattice< T > &lattice, AxesSpecifier=AxesSpecifier())
| Create a SubLattice from a MaskedLattice.
| SubLattice (MaskedLattice< T > &lattice, Bool writableIfPossible, AxesSpecifier=AxesSpecifier())
| SubLattice (const Lattice< T > &lattice, const LatticeRegion &region, AxesSpecifier=AxesSpecifier())
| Create a SubLattice from the given MaskedLattice and region.
| SubLattice (Lattice< T > &lattice, const LatticeRegion &region, Bool writableIfPossible, AxesSpecifier=AxesSpecifier())
| SubLattice (const MaskedLattice< T > &lattice, const LatticeRegion &region, AxesSpecifier=AxesSpecifier())
| SubLattice (MaskedLattice< T > &lattice, const LatticeRegion &region, Bool writableIfPossible, AxesSpecifier=AxesSpecifier())
| SubLattice (const Lattice< T > &lattice, const Slicer &slicer, AxesSpecifier=AxesSpecifier())
| Create a SubLattice from the given (Masked)Lattice and slicer.
| SubLattice (Lattice< T > &lattice, const Slicer &slicer, Bool writableIfPossible, AxesSpecifier=AxesSpecifier())
| SubLattice (const MaskedLattice< T > &lattice, const Slicer &slicer, AxesSpecifier=AxesSpecifier())
| SubLattice (MaskedLattice< T > &lattice, const Slicer &slicer, Bool writableIfPossible, AxesSpecifier=AxesSpecifier())
| SubLattice (const SubLattice< T > &other)
| Copy constructor (reference semantics).
virtual | ~SubLattice ()
SubLattice< T > & | operator= (const SubLattice< T > &other)
| Assignment (reference semantics).
virtual MaskedLattice< T > * | cloneML () const
| Make a copy of the object (reference semantics).
virtual Bool | isMasked () const
| Is the lattice masked?
virtual Bool | isPersistent () const
| A SubLattice is persistent if no region is applied to the parent lattice.
virtual Bool | isPaged () const
| Is the SubLattice paged to disk?
virtual Bool | canReferenceArray () const
| Can the lattice data be referenced as an array section?
virtual Bool | isWritable () const
| Is the SubLattice writable?
virtual Bool | lock (FileLocker::LockType, uInt nattempts)
| Handle locking of the SubLattice which is delegated to its parent.
virtual void | unlock ()
virtual Bool | hasLock (FileLocker::LockType) const
virtual void | resync ()
| Resynchronize the Lattice object with the lattice file.
virtual void | flush ()
| Flush the data.
virtual void | tempClose ()
| Close the Lattice temporarily (if it is paged to disk).
virtual void | reopen ()
| If needed, reopen a temporarily closed Lattice.
virtual Bool | hasPixelMask () const
| Does the SubLattice have a pixelmask?
virtual const Lattice< Bool > & | pixelMask () const
| Get access to the pixelmask.
virtual Lattice< Bool > & | pixelMask ()
void | setPixelMask (const Lattice< Bool > &pixelMask, Bool mayExist)
| Use the given mask as the pixelmask.
virtual const LatticeRegion * | getRegionPtr () const
| Get a pointer the region/mask object describing this sublattice.
virtual IPosition | shape () const
| Returns the shape of the SubLattice including all degenerate axes (i.e.
virtual String | name (Bool stripPath=False) const
| Return the name of the parent lattice.
virtual uInt | advisedMaxPixels () const
| This function returns the recommended maximum number of pixels to include in the cursor of an iterator.
virtual T | getAt (const IPosition &where) const
| Get or put a single element in the lattice.
virtual void | putAt (const T &value, const IPosition &where)
| Put the value of a single element.
virtual Bool | ok () const
| Check class internals - used for debugging.
virtual LatticeIterInterface< T > * | 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 Bool | doGetSlice (Array< T > &buffer, const Slicer &section)
| Do the actual getting of an array of values.
virtual void | doPutSlice (const Array< T > &sourceBuffer, const IPosition &where, const IPosition &stride)
| Do the actual getting of an array of values.
virtual Bool | doGetMaskSlice (Array< Bool > &buffer, const Slicer &section)
| Get a section of the mask.
virtual IPosition | doNiceCursorShape (uInt maxPixels) const
| Get the best cursor shape.
const AxesMapping & | getAxesMap () const
| Set the axes mapping from the specification.
IPosition | positionInParent (const IPosition &subLatticePosition) const
| Convert the specified position in the sublattice to the corresponding position in the parent lattice.
void | setRegion (const Slicer &slicer)
| Set the region object using a slicer.
Public Member Functions inherited from casacore::MaskedLattice< T >
| MaskedLattice ()
| Default constructor.
| MaskedLattice (const MaskedLattice< T > &)
| Copy constructor.
virtual | ~MaskedLattice ()
| a virtual destructor is needed so that it will use the actual destructor in the derived class
virtual Lattice< T > * | clone () const
| Make a copy of the derived object (reference semantics).
const LatticeRegion & | region () const
| Get the region used.
Bool | getMask (COWPtr< Array< Bool > > &buffer, Bool removeDegenerateAxes=False) const
| Get the mask or a slice from the mask.
Bool | getMaskSlice (COWPtr< Array< Bool > > &buffer, const Slicer &section, Bool removeDegenerateAxes=False) const
Bool | getMaskSlice (COWPtr< Array< Bool > > &buffer, const IPosition &start, const IPosition &shape, Bool removeDegenerateAxes=False) const
Bool | getMaskSlice (COWPtr< Array< Bool > > &buffer, const IPosition &start, const IPosition &shape, const IPosition &stride, Bool removeDegenerateAxes=False) const
Bool | getMask (Array< Bool > &buffer, Bool removeDegenerateAxes=False)
Bool | getMaskSlice (Array< Bool > &buffer, const Slicer &section, Bool removeDegenerateAxes=False)
Bool | getMaskSlice (Array< Bool > &buffer, const IPosition &start, const IPosition &shape, Bool removeDegenerateAxes=False)
Bool | getMaskSlice (Array< Bool > &buffer, const IPosition &start, const IPosition &shape, const IPosition &stride, Bool removeDegenerateAxes=False)
Array< Bool > | getMask (Bool removeDegenerateAxes=False) const
Array< Bool > | getMaskSlice (const Slicer &section, Bool removeDegenerateAxes=False) const
Array< Bool > | getMaskSlice (const IPosition &start, const IPosition &shape, Bool removeDegenerateAxes=False) const
Array< Bool > | getMaskSlice (const IPosition &start, const IPosition &shape, const IPosition &stride, Bool removeDegenerateAxes=False) const
Public Member Functions inherited from casacore::Lattice< T >
virtual | ~Lattice ()
| a virtual destructor is needed so that it will use the actual destructor in the derived class
virtual DataType | dataType () const
| Get the data type of the lattice.
T | operator() (const IPosition &where) const
| Return the value of the single element located at the argument IPosition.
Bool | get (COWPtr< Array< T > > &buffer, Bool removeDegenerateAxes=False) const
| Functions which extract an Array of values from a Lattice.
Bool | getSlice (COWPtr< Array< T > > &buffer, const Slicer &section, Bool removeDegenerateAxes=False) const
Bool | getSlice (COWPtr< Array< T > > &buffer, const IPosition &start, const IPosition &shape, Bool removeDegenerateAxes=False) const
Bool | getSlice (COWPtr< Array< T > > &buffer, const IPosition &start, const IPosition &shape, const IPosition &stride, Bool removeDegenerateAxes=False) const
Bool | get (Array< T > &buffer, Bool removeDegenerateAxes=False)
Bool | getSlice (Array< T > &buffer, const Slicer &section, Bool removeDegenerateAxes=False)
Bool | getSlice (Array< T > &buffer, const IPosition &start, const IPosition &shape, Bool removeDegenerateAxes=False)
Bool | getSlice (Array< T > &buffer, const IPosition &start, const IPosition &shape, const IPosition &stride, Bool removeDegenerateAxes=False)
Array< T > | get (Bool removeDegenerateAxes=False) const
Array< T > | getSlice (const Slicer &section, Bool removeDegenerateAxes=False) const
Array< T > | getSlice (const IPosition &start, const IPosition &shape, Bool removeDegenerateAxes=False) const
Array< T > | getSlice (const IPosition &start, const IPosition &shape, const IPosition &stride, Bool removeDegenerateAxes=False) const
void | putSlice (const Array< T > &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".
void | putSlice (const Array< T > &sourceBuffer, const IPosition &where)
void | put (const Array< T > &sourceBuffer)
virtual void | set (const T &value)
| Set all elements in the Lattice to the given value.
virtual void | apply (T(*function)(T))
| Replace every element, x, of the Lattice with the result of f(x).
virtual void | apply (T(*function)(const T &))
virtual void | apply (const Functional< T, T > &function)
void | operator+= (const Lattice< T > &other)
| Add, subtract, multiple, or divide by another Lattice.
void | operator-= (const Lattice< T > &other)
void | operator*= (const Lattice< T > &other)
void | operator/= (const Lattice< T > &other)
virtual void | copyData (const Lattice< T > &from)
| Copy the data from the given lattice to this one.
virtual void | copyDataTo (Lattice< T > &to) const
| Copy the data from this lattice to the given lattice.
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.
virtual String | imageType () const
| Get the image type (returns name of derived class).
virtual void | save (const String &fileName) const
| Save the image in an AipsIO file with the given name.
virtual uInt | ndim () const
| Return the number of axes in this Lattice.
virtual size_t | nelements () const
| Return the total number of elements in this Lattice.
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".
virtual LELCoordinates | lelCoordinates () const
| Return the coordinates of the lattice.
IPosition | niceCursorShape (uInt maxPixels) const
| Returns a recommended cursor shape for iterating through all the pixels in the Lattice.
IPosition | niceCursorShape () const
virtual uInt | maximumCacheSize () const
| Maximum cache size - not necessarily all used.
virtual void | setMaximumCacheSize (uInt howManyPixels)
| Set the maximum (allowed) cache size as indicated.
virtual void | setCacheSizeInTiles (uInt howManyTiles)
| Set the actual cache size for this Array to be big enough for the indicated number of tiles.
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 | 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.

## Protected Member Functions

void | setRegion (const LatticeRegion &region)
| Set the region object.
void | setRegion ()
void | setPtr (Lattice< T > *latticePtr, MaskedLattice< T > *maskLatPtr, Bool writableIfPossible)
| Set the various pointers needed to construct the object.
void | setAxesMap (const AxesSpecifier &)
| Set the axes mapping from the specification.
Protected Member Functions inherited from casacore::MaskedLattice< T >
MaskedLattice< T > & | operator= (const MaskedLattice< T > &)
| Assignment can only be used by derived classes.
Protected Member Functions inherited from casacore::Lattice< T >
| Lattice ()
| Define default constructor to satisfy compiler.
virtual void | handleMath (const Lattice< T > &from, int oper)
| Handle the Math operators (+=, -=, *=, /=).
virtual void | handleMathTo (Lattice< T > &to, int oper) const
| Lattice (const Lattice< T > &)
| Copy constructor and assignment can only be used by derived classes.
Lattice< T > & | operator= (const Lattice< T > &)
void | handleMathTo (Lattice< Bool > &, int) const
Protected Member Functions inherited from casacore::LatticeBase
| LatticeBase ()
| Define default constructor to be used by derived classes.
| LatticeBase (const LatticeBase &)
| Copy constructor and assignment can only be used by derived classes.
LatticeBase & | operator= (const LatticeBase &)
void | throwBoolMath () const
| Throw an exception for arithmetic on a Bool Lattice.

## Private Member Functions

Bool | getRegionDataSlice (Array< Bool > &buffer, const Slicer &section)
| Get mask data from region and mask.
Bool | getMaskDataSlice (Array< Bool > &buffer, const Slicer &section)
void | andMask (Array< Bool > &buffer, Bool ref, const Array< Bool > &tmpbuf) const
| And tmpbuf into buffer.

## Private Attributes

Lattice< T > * | itsLatticePtr
MaskedLattice< T > * | itsMaskLatPtr
LatticeRegion | itsRegion
Bool | itsWritable
Bool | itsHasLattPMask
Lattice< Bool > * | itsPixelMask
Lattice< Bool > * | itsOwnPixelMask
AxesSpecifier | itsAxesSpec
AxesMapping | itsAxesMap

## Detailed Description

template<class T>
class casacore::SubLattice< T >

A subset of a Lattice or MaskedLattice

### Intended use:

Public interface

### Review Status

Date Reviewed:
  yyyy/mm/dd

### Prerequisite

- Lattice
- LatticeRegion

### Synopsis

A SubLattice 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 SubLattice is created from a const Lattice object, it is not writable, thus it can only be used as an rvalue.

Using an AxesSpecifier object it is possible to remove some or all degenerate axes (i.e. axes with length 1) to get a lattice with a lower dimensionality.

### Example

### Template Type Argument Requirements (T)

- Any type that can be used by the Tables System can also be used by this class.

Definition at line 82 of file SubLattice.h.

## Constructor & Destructor Documentation

## SubLattice() [1/14]

template<class T>

casacore::SubLattice< T >::SubLattice | ( |  | ) |

The default constructor creates a SubLattice that is useless for just about everything, except that it can be assigned to with the assignment operator.

Referenced by operator=(), and SubLattice().

## SubLattice() [2/14]

template<class T>

casacore::SubLattice< T >::SubLattice | ( | const Lattice< T > & | lattice,
|  | AxesSpecifier | = AxesSpecifier() )

Create a SubLattice from a Lattice.

This results in a SubLattice without a real mask.
The "const Lattice" version yields a non-writable SubLattice, while for the non-const version one has to specify if the SubLattice should be writable (if the original lattice is non-writable, the SubLattice is always set to non-writable).
Note: In the 2nd case the lattice could have been declared const, but is not to indicate it can be changed;

## SubLattice() [3/14]

template<class T>

casacore::SubLattice< T >::SubLattice | ( | Lattice< T > & | lattice,
|  | Bool | writableIfPossible,
|  | AxesSpecifier | = AxesSpecifier() )

## SubLattice() [4/14]

template<class T>

casacore::SubLattice< T >::SubLattice | ( | const MaskedLattice< T > & | lattice,
|  | AxesSpecifier | = AxesSpecifier() )

Create a SubLattice from a MaskedLattice.

The "const MaskedLattice" version yields a non-writable SubLattice, while for the non-const version one has to specify if the SubLattice should be writable (if the original lattice is non-writable, the SubLattice is always set to non-writable).
Note: In the 2nd case the lattice could have been declared const, but is not to indicate it can be changed;

References casacore::MaskedLattice< T >::MaskedLattice().

## SubLattice() [5/14]

template<class T>

casacore::SubLattice< T >::SubLattice | ( | MaskedLattice< T > & | lattice,
|  | Bool | writableIfPossible,
|  | AxesSpecifier | = AxesSpecifier() )

References casacore::MaskedLattice< T >::MaskedLattice().

## SubLattice() [6/14]

template<class T>

casacore::SubLattice< T >::SubLattice | ( | const Lattice< T > & | lattice,
|  | const LatticeRegion & | region,
|  | AxesSpecifier | = AxesSpecifier() )

Create a SubLattice from the given MaskedLattice and region.

Note that the region can be constructed from an LCRegion object or Slicer object (with an optional stride).
An exception is thrown if the lattice shape used in the region differs from the shape of the lattice.
Note: In the 2nd and 4th case the lattice could have been declared const, but is not to indicate it can be changed;

References casacore::MaskedLattice< T >::region().

## SubLattice() [7/14]

template<class T>

casacore::SubLattice< T >::SubLattice | ( | Lattice< T > & | lattice,
|  | const LatticeRegion & | region,
|  | Bool | writableIfPossible,
|  | AxesSpecifier | = AxesSpecifier() )

References casacore::MaskedLattice< T >::region().

## SubLattice() [8/14]

template<class T>

casacore::SubLattice< T >::SubLattice | ( | const MaskedLattice< T > & | lattice,
|  | const LatticeRegion & | region,
|  | AxesSpecifier | = AxesSpecifier() )

References casacore::MaskedLattice< T >::MaskedLattice(), and casacore::MaskedLattice< T >::region().

## SubLattice() [9/14]

template<class T>

casacore::SubLattice< T >::SubLattice | ( | MaskedLattice< T > & | lattice,
|  | const LatticeRegion & | region,
|  | Bool | writableIfPossible,
|  | AxesSpecifier | = AxesSpecifier() )

References casacore::MaskedLattice< T >::MaskedLattice(), and casacore::MaskedLattice< T >::region().

## SubLattice() [10/14]

template<class T>

casacore::SubLattice< T >::SubLattice | ( | const Lattice< T > & | lattice,
|  | const Slicer & | slicer,
|  | AxesSpecifier | = AxesSpecifier() )

Create a SubLattice from the given (Masked)Lattice and slicer.

The slicer can be strided.
An exception is thrown if the slicer exceeds the lattice shape.
Note: In the 2nd and 4th case the lattice could have been declared const, but is not to indicate it can be changed;

## SubLattice() [11/14]

template<class T>

casacore::SubLattice< T >::SubLattice | ( | Lattice< T > & | lattice,
|  | const Slicer & | slicer,
|  | Bool | writableIfPossible,
|  | AxesSpecifier | = AxesSpecifier() )

## SubLattice() [12/14]

template<class T>

casacore::SubLattice< T >::SubLattice | ( | const MaskedLattice< T > & | lattice,
|  | const Slicer & | slicer,
|  | AxesSpecifier | = AxesSpecifier() )

References casacore::MaskedLattice< T >::MaskedLattice().

## SubLattice() [13/14]

template<class T>

casacore::SubLattice< T >::SubLattice | ( | MaskedLattice< T > & | lattice,
|  | const Slicer & | slicer,
|  | Bool | writableIfPossible,
|  | AxesSpecifier | = AxesSpecifier() )

References casacore::MaskedLattice< T >::MaskedLattice().

## SubLattice() [14/14]

template<class T>

casacore::SubLattice< T >::SubLattice | ( | const SubLattice< T > & | other | ) |

Copy constructor (reference semantics).

References SubLattice().

## ~SubLattice()

template<class T>

virtual casacore::SubLattice< T >::~SubLattice | ( |  | ) |

virtual

## Member Function Documentation

## advisedMaxPixels()

template<class T>

virtual uInt casacore::SubLattice< T >::advisedMaxPixels | ( |  | ) | const

virtual

This function returns the recommended maximum number of pixels to include in the cursor of an iterator.

Reimplemented from casacore::Lattice< T >.

## andMask()

template<class T>

void casacore::SubLattice< T >::andMask | ( | Array< Bool > & | buffer,
|  | Bool | ref,
|  | const Array< Bool > & | tmpbuf ) const

private

And tmpbuf into buffer.

If buffer is a reference, first a copy is made.

References casacore::ref().

## canReferenceArray()

template<class T>

virtual Bool casacore::SubLattice< T >::canReferenceArray | ( |  | ) | const

virtual

Can the lattice data be referenced as an array section?

Reimplemented from casacore::LatticeBase.

## cloneML()

template<class T>

virtual MaskedLattice< T > * casacore::SubLattice< T >::cloneML | ( |  | ) | const

virtual

Make a copy of the object (reference semantics).

Implements casacore::MaskedLattice< T >.

References casacore::MaskedLattice< T >::MaskedLattice().

## doGetMaskSlice()

template<class T>

virtual Bool casacore::SubLattice< T >::doGetMaskSlice | ( | Array< Bool > & | buffer,
|  | const Slicer & | section )

virtual

Get a section of the mask.

Reimplemented from casacore::MaskedLattice< T >.

## doGetSlice()

template<class T>

virtual Bool casacore::SubLattice< T >::doGetSlice | ( | Array< T > & | buffer,
|  | const Slicer & | section )

virtual

Do the actual getting of an array of values.

Implements casacore::Lattice< T >.

## doNiceCursorShape()

template<class T>

virtual IPosition casacore::SubLattice< T >::doNiceCursorShape | ( | uInt | maxPixels | ) | const

virtual

Get the best cursor shape.

Reimplemented from casacore::LatticeBase.

## doPutSlice()

template<class T>

virtual void casacore::SubLattice< T >::doPutSlice | ( | const Array< T > & | sourceBuffer,
|  | const IPosition & | where,
|  | const IPosition & | stride )

virtual

Do the actual getting of an array of values.

Implements casacore::Lattice< T >.

## flush()

template<class T>

virtual void casacore::SubLattice< T >::flush | ( |  | ) |

virtual

Flush the data.

Reimplemented from casacore::LatticeBase.

## getAt()

template<class T>

virtual T casacore::SubLattice< T >::getAt | ( | const IPosition & | where | ) | const

virtual

Get or put a single element in the lattice.

Reimplemented from casacore::Lattice< T >.

## getAxesMap()

template<class T>

const AxesMapping & casacore::SubLattice< T >::getAxesMap | ( |  | ) | const

inline

Set the axes mapping from the specification.

Definition at line 273 of file SubLattice.h.

References itsAxesMap.

## getMaskDataSlice()

template<class T>

Bool casacore::SubLattice< T >::getMaskDataSlice | ( | Array< Bool > & | buffer,
|  | const Slicer & | section )

private

## getRegionDataSlice()

template<class T>

Bool casacore::SubLattice< T >::getRegionDataSlice | ( | Array< Bool > & | buffer,
|  | const Slicer & | section )

private

Get mask data from region and mask.

## getRegionPtr()

template<class T>

virtual const LatticeRegion * casacore::SubLattice< T >::getRegionPtr | ( |  | ) | const

virtual

Get a pointer the region/mask object describing this sublattice.

Implements casacore::MaskedLattice< T >.

## hasLock()

template<class T>

virtual Bool casacore::SubLattice< T >::hasLock | ( | FileLocker::LockType |  | ) | const

virtual

Reimplemented from casacore::LatticeBase.

## hasPixelMask()

template<class T>

virtual Bool casacore::SubLattice< T >::hasPixelMask | ( |  | ) | const

virtual

Does the SubLattice have a pixelmask?

Reimplemented from casacore::MaskedLattice< T >.

## isMasked()

template<class T>

virtual Bool casacore::SubLattice< T >::isMasked | ( |  | ) | const

virtual

Is the lattice masked?

It is if its parent lattice or its region is masked.

Reimplemented from casacore::MaskedLattice< T >.

## isPaged()

template<class T>

virtual Bool casacore::SubLattice< T >::isPaged | ( |  | ) | const

virtual

Is the SubLattice paged to disk?

Reimplemented from casacore::LatticeBase.

## isPersistent()

template<class T>

virtual Bool casacore::SubLattice< T >::isPersistent | ( |  | ) | const

virtual

A SubLattice is persistent if no region is applied to the parent lattice.

That is true if the region has the same shape as the parent lattice and the region has no mask.

Reimplemented from casacore::LatticeBase.

## isWritable()

template<class T>

virtual Bool casacore::SubLattice< T >::isWritable | ( |  | ) | const

virtual

Is the SubLattice writable?

Reimplemented from casacore::LatticeBase.

## lock()

template<class T>

virtual Bool casacore::SubLattice< T >::lock | ( | FileLocker::LockType | ,
|  | uInt | nattempts )

virtual

Handle locking of the SubLattice which is delegated to its parent.

It is strongly recommended to use class LatticeLocker to handle lattice locking. It also contains a more detailed explanation of the locking process.

Reimplemented from casacore::LatticeBase.

## makeIter()

template<class T>

virtual LatticeIterInterface< T > * casacore::SubLattice< T >::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 casacore::Lattice< T >.

## name()

template<class T>

virtual String casacore::SubLattice< T >::name | ( | Bool | stripPath = False | ) | const

virtual

Return the name of the parent lattice.

Reimplemented from casacore::LatticeBase.

References casacore::False.

## ok()

template<class T>

virtual Bool casacore::SubLattice< T >::ok | ( |  | ) | const

virtual

Check class internals - used for debugging.

Should always return True

Reimplemented from casacore::LatticeBase.

## operator=()

template<class T>

SubLattice< T > & casacore::SubLattice< T >::operator= | ( | const SubLattice< T > & | other | ) |

Assignment (reference semantics).

References SubLattice().

## pixelMask() [1/2]

template<class T>

virtual Lattice< Bool > & casacore::SubLattice< T >::pixelMask | ( |  | ) |

virtual

Reimplemented from casacore::MaskedLattice< T >.

## pixelMask() [2/2]

template<class T>

virtual const Lattice< Bool > & casacore::SubLattice< T >::pixelMask | ( |  | ) | const

virtual

Get access to the pixelmask.

An exception is thrown if the SubLattice does not have a pixelmask.

Reimplemented from casacore::MaskedLattice< T >.

Referenced by setPixelMask().

## positionInParent()

template<class T>

IPosition casacore::SubLattice< T >::positionInParent | ( | const IPosition & | subLatticePosition | ) | const

inline

Convert the specified position in the sublattice to the corresponding position in the parent lattice.

Definition at line 278 of file SubLattice.h.

References itsAxesMap, and itsRegion.

## putAt()

template<class T>

virtual void casacore::SubLattice< T >::putAt | ( | const T & | value,
|  | const IPosition & | where )

virtual

Put the value of a single element.

The default implementation uses putSlice.

Reimplemented from casacore::Lattice< T >.

References casacore::NewDelAllocator< T >::value.

## reopen()

template<class T>

virtual void casacore::SubLattice< T >::reopen | ( |  | ) |

virtual

If needed, reopen a temporarily closed Lattice.

Reimplemented from casacore::LatticeBase.

## resync()

template<class T>

virtual void casacore::SubLattice< T >::resync | ( |  | ) |

virtual

Resynchronize the Lattice 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 casacore::LatticeBase.

## setAxesMap()

template<class T>

void casacore::SubLattice< T >::setAxesMap | ( | const AxesSpecifier & |  | ) |

protected

Set the axes mapping from the specification.

## setPixelMask()

template<class T>

void casacore::SubLattice< T >::setPixelMask | ( | const Lattice< Bool > & | pixelMask,
|  | Bool | mayExist )

Use the given mask as the pixelmask.

If another mask was already used, the new one will be used instead. It checks if its shape matches the shape of the sublattice.
If `mayExist=False`, setting the pixelmask is only possible if the underlying lattice does not have a pixelmask.
If `mayExist=True`, the resulting pixelmask is the AND of the given pixelmask and the pixelmask of the underlying lattice.

References pixelMask().

## setPtr()

template<class T>

void casacore::SubLattice< T >::setPtr | ( | Lattice< T > * | latticePtr,
|  | MaskedLattice< T > * | maskLatPtr,
|  | Bool | writableIfPossible )

protected

Set the various pointers needed to construct the object.

One of the pointers should be zero. It takes over the pointer and deletes the object in the destructor.

References casacore::MaskedLattice< T >::MaskedLattice().

## setRegion() [1/3]

template<class T>

void casacore::SubLattice< T >::setRegion | ( |  | ) |

protected

## setRegion() [2/3]

template<class T>

void casacore::SubLattice< T >::setRegion | ( | const LatticeRegion & | region | ) |

protected

Set the region object.

It also fills in the parent pointer when the SubLattice is taken from a MaskedLattice. The default region is the entire lattice.

References casacore::MaskedLattice< T >::region().

## setRegion() [3/3]

template<class T>

void casacore::SubLattice< T >::setRegion | ( | const Slicer & | slicer | ) |

Set the region object using a slicer.

Allows the region to be changed while keeping the same lattice, so that new SubLattice objects do not have to be created when one only wants to change the region of interest. Should only be called when performance is an issue; otherwise, just create a new SubLattice<T> object.

## shape()

template<class T>

virtual IPosition casacore::SubLattice< T >::shape | ( |  | ) | const

virtual

Returns the shape of the SubLattice including all degenerate axes (i.e.

axes with a length of one).

Implements casacore::LatticeBase.

## tempClose()

template<class T>

virtual void casacore::SubLattice< T >::tempClose | ( |  | ) |

virtual

Close the Lattice temporarily (if it is paged to disk).

It'll be reopened automatically when needed or when reopen is called explicitly.

Reimplemented from casacore::LatticeBase.

## unlock()

template<class T>

virtual void casacore::SubLattice< T >::unlock | ( |  | ) |

virtual

Reimplemented from casacore::LatticeBase.

## Member Data Documentation

## itsAxesMap

template<class T>

AxesMapping casacore::SubLattice< T >::itsAxesMap

private

Definition at line 335 of file SubLattice.h.

Referenced by getAxesMap(), and positionInParent().

## itsAxesSpec

template<class T>

AxesSpecifier casacore::SubLattice< T >::itsAxesSpec

private

Definition at line 334 of file SubLattice.h.

## itsHasLattPMask

template<class T>

Bool casacore::SubLattice< T >::itsHasLattPMask

private

Definition at line 331 of file SubLattice.h.

## itsLatticePtr

template<class T>

Lattice<T>* casacore::SubLattice< T >::itsLatticePtr

private

Definition at line 327 of file SubLattice.h.

## itsMaskLatPtr

template<class T>

MaskedLattice<T>* casacore::SubLattice< T >::itsMaskLatPtr

private

Definition at line 328 of file SubLattice.h.

## itsOwnPixelMask

template<class T>

Lattice<Bool>* casacore::SubLattice< T >::itsOwnPixelMask

private

Definition at line 333 of file SubLattice.h.

## itsPixelMask

template<class T>

Lattice<Bool>* casacore::SubLattice< T >::itsPixelMask

private

Definition at line 332 of file SubLattice.h.

## itsRegion

template<class T>

LatticeRegion casacore::SubLattice< T >::itsRegion

private

Definition at line 329 of file SubLattice.h.

Referenced by positionInParent().

## itsWritable

template<class T>

Bool casacore::SubLattice< T >::itsWritable

private

Definition at line 330 of file SubLattice.h.

The documentation for this class was generated from the following files:

- images/Images/SubImage.h
- lattices/Lattices/SubLattice.h