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

More...

`#include <RebinLattice.h>`

## Public Member Functions

| RebinLattice ()
| Default constructor (Object is unuseable).
| RebinLattice (const MaskedLattice< T > &lattice, const IPosition &bin)
| Constructor.
| RebinLattice (const RebinLattice< T > &other)
| Copy constructor (reference semantics).
virtual | ~RebinLattice ()
| Destructor.
RebinLattice< T > & | operator= (const RebinLattice< 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 | isPaged () const
| Is the lattice paged to disk?
virtual Bool | isWritable () const
| The lattice is not writable.
virtual Bool | lock (FileLocker::LockType, uInt nattempts)
| Handle locking of the lattice 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 const LatticeRegion * | getRegionPtr () const
| Get a pointer the region/mask object.
virtual IPosition | shape () const
| Returns the shape of the lattice.
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 Bool | ok () const
| Check class internals - used for debugging.
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 putting of an array of values.
virtual Bool | doGetMaskSlice (Array< Bool > &buffer, const Slicer &section)
| Get a section of the mask.
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).
virtual Bool | hasPixelMask () const
| Does the lattice have a pixelmask?
virtual const Lattice< Bool > & | pixelMask () const
| Get access to the pixelmask.
virtual Lattice< Bool > & | pixelMask ()
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.
virtual T | getAt (const IPosition &where) const
virtual void | putAt (const T &value, const IPosition &where)
| Put the value of a single element.
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.
virtual LatticeIterInterface< T > * | 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.
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 Bool | isPersistent () const
| Is the lattice persistent and can it be loaded by other processes as well?
virtual Bool | canReferenceArray () const
| Can the lattice data be referenced as an array section?
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 IPosition | doNiceCursorShape (uInt maxPixels) const
| The function (in the derived classes) doing the actual work.
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.

## Static Public Member Functions

static IPosition | rebinShape (const IPosition &shapeLatticeIn, const IPosition &bin)
| Static function needed by LEL.

## Private Member Functions

Slicer | findOriginalSlicer (const Slicer &section) const
void | getDataAndMask (const Slicer &section)
void | bin (const Array< T > &dataIn)
void | bin (const Array< T > &dataIn, const Array< Bool > &maskIn)

## Private Attributes

MaskedLattice< T > * | itsLatticePtr
IPosition | itsBin
Bool | itsAllUnity
Array< T > | itsData
| Cache.
Array< Bool > | itsMask
Slicer | itsSlicer

## Additional Inherited Members

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.

## Detailed Description

template<class T>
class casacore::RebinLattice< T >

Rebin a masked lattice.

### Intended use:

Internal

### Review Status

Test programs:
  tRebinLattice

### Prerequisite

- MaskedLattice

### Synopsis

This class enables you to rebin (data are averaged over bin) a MaskedLattice by a given factor per axis

### Example

IPosition shape(2, 10, 20);
TiledShape tShape(shape);
TempLattice<Float> latIn(tShape);
IPosition factors(2, 2, 5);
RebinLattice<Float> rl(latIn, factors);
cerr << "Binned data = " << rl.get() << endl;
casacore::IPosition
Definition IPosition.h:117
casacore::RebinLattice::RebinLattice
RebinLattice()
Default constructor (Object is unuseable).
casacore::RebinLattice::shape
virtual IPosition shape() const
Returns the shape of the lattice.
casacore::TempLattice
Definition TempLattice.h:130
casacore::TiledShape
Definition TiledShape.h:95

### Motivation

Definition at line 77 of file RebinLattice.h.

## Constructor & Destructor Documentation

## RebinLattice() [1/3]

template<class T>

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

Default constructor (Object is unuseable).

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

## RebinLattice() [2/3]

template<class T>

casacore::RebinLattice< T >::RebinLattice | ( | const MaskedLattice< T > & | lattice,
|  | const IPosition & | bin )

Constructor.

The bins don't have to fit integrally. Whatever is left over at the end is treated as a full bin.

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

## RebinLattice() [3/3]

template<class T>

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

Copy constructor (reference semantics).

References RebinLattice().

## ~RebinLattice()

template<class T>

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

virtual

Destructor.

## Member Function Documentation

## advisedMaxPixels()

template<class T>

virtual uInt casacore::RebinLattice< 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 >.

## bin() [1/2]

template<class T>

void casacore::RebinLattice< T >::bin | ( | const Array< T > & | dataIn | ) |

private

Referenced by RebinLattice(), and rebinShape().

## bin() [2/2]

template<class T>

void casacore::RebinLattice< T >::bin | ( | const Array< T > & | dataIn,
|  | const Array< Bool > & | maskIn )

private

## cloneML()

template<class T>

virtual MaskedLattice< T > * casacore::RebinLattice< 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::RebinLattice< T >::doGetMaskSlice | ( | Array< Bool > & | buffer,
|  | const Slicer & | section )

virtual

Get a section of the mask.

Slicers with non-unit stride are not yet supported

Reimplemented from casacore::MaskedLattice< T >.

## doGetSlice()

template<class T>

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

virtual

Do the actual getting of an array of values.

Slicers with non-unit stride are not yet supported

Implements casacore::Lattice< T >.

## doPutSlice()

template<class T>

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

virtual

Do the actual putting of an array of values.

The lattice is not writable.

Implements casacore::Lattice< T >.

## findOriginalSlicer()

template<class T>

Slicer casacore::RebinLattice< T >::findOriginalSlicer | ( | const Slicer & | section | ) | const

private

## flush()

template<class T>

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

virtual

Flush the data.

Reimplemented from casacore::LatticeBase.

## getDataAndMask()

template<class T>

void casacore::RebinLattice< T >::getDataAndMask | ( | const Slicer & | section | ) |

private

## getRegionPtr()

template<class T>

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

virtual

Get a pointer the region/mask object.

It returns 0.

Implements casacore::MaskedLattice< T >.

## hasLock()

template<class T>

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

virtual

Reimplemented from casacore::LatticeBase.

## isMasked()

template<class T>

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

virtual

Is the lattice masked?

It is if its parent lattice is masked.

Reimplemented from casacore::MaskedLattice< T >.

## isPaged()

template<class T>

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

virtual

Is the lattice paged to disk?

Reimplemented from casacore::LatticeBase.

## isWritable()

template<class T>

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

virtual

The lattice is not writable.

Reimplemented from casacore::LatticeBase.

## lock()

template<class T>

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

virtual

Handle locking of the lattice 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.

## name()

template<class T>

virtual String casacore::RebinLattice< 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::RebinLattice< T >::ok | ( |  | ) | const

virtual

Check class internals - used for debugging.

Should always return True

Reimplemented from casacore::LatticeBase.

## operator=()

template<class T>

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

Assignment (reference semantics).

References RebinLattice().

## rebinShape()

template<class T>

IPosition casacore::RebinLattice< T >::rebinShape | ( | const IPosition & | shapeLatticeIn,
|  | const IPosition & | bin )

static

Static function needed by LEL.

Applies binning factors to shape to give the shape of the output lattice. Will give the same result as function 'shape'

References bin().

## reopen()

template<class T>

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

virtual

If needed, reopen a temporarily closed Lattice.

Reimplemented from casacore::LatticeBase.

## resync()

template<class T>

virtual void casacore::RebinLattice< 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.

## shape()

template<class T>

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

virtual

Returns the shape of the lattice.

Implements casacore::LatticeBase.

## tempClose()

template<class T>

virtual void casacore::RebinLattice< 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::RebinLattice< T >::unlock | ( |  | ) |

virtual

Reimplemented from casacore::LatticeBase.

## Member Data Documentation

## itsAllUnity

template<class T>

Bool casacore::RebinLattice< T >::itsAllUnity

private

Definition at line 184 of file RebinLattice.h.

## itsBin

template<class T>

IPosition casacore::RebinLattice< T >::itsBin

private

Definition at line 183 of file RebinLattice.h.

## itsData

template<class T>

Array<T> casacore::RebinLattice< T >::itsData

private

Cache.

Definition at line 186 of file RebinLattice.h.

## itsLatticePtr

template<class T>

MaskedLattice<T>* casacore::RebinLattice< T >::itsLatticePtr

private

Definition at line 182 of file RebinLattice.h.

## itsMask

template<class T>

Array<Bool> casacore::RebinLattice< T >::itsMask

private

Definition at line 187 of file RebinLattice.h.

## itsSlicer

template<class T>

Slicer casacore::RebinLattice< T >::itsSlicer

private

Definition at line 188 of file RebinLattice.h.

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

- images/Images/RebinImage.h
- lattices/Lattices/RebinLattice.h