Rebin a masked lattice. 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? It is if its parent lattice is 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 §ion) |
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 §ion) |
Get a section of the mask. | |
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 §ion) const |
void | getDataAndMask (const Slicer §ion) |
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 |
Rebin a masked lattice.
Internal
This class enables you to rebin (data are averaged over bin) a MaskedLattice by a given factor per axis
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;
Definition at line 79 of file RebinLattice.h.
casacore::RebinLattice< T >::RebinLattice | ( | ) |
Default constructor (Object is unuseable).
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.
casacore::RebinLattice< T >::RebinLattice | ( | const RebinLattice< T > & | other | ) |
Copy constructor (reference semantics).
virtual casacore::RebinLattice< T >::~RebinLattice | ( | ) | [virtual] |
Destructor.
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 >.
void casacore::RebinLattice< T >::bin | ( | const Array< T > & | dataIn, | |
const Array< Bool > & | maskIn | |||
) | [private] |
void casacore::RebinLattice< T >::bin | ( | const Array< T > & | dataIn | ) | [private] |
virtual MaskedLattice<T>* casacore::RebinLattice< T >::cloneML | ( | ) | const [virtual] |
Make a copy of the object (reference semantics).
Implements casacore::MaskedLattice< 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 >.
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 >.
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 >.
Slicer casacore::RebinLattice< T >::findOriginalSlicer | ( | const Slicer & | section | ) | const [private] |
virtual void casacore::RebinLattice< T >::flush | ( | ) | [virtual] |
Flush the data.
Reimplemented from casacore::LatticeBase.
void casacore::RebinLattice< T >::getDataAndMask | ( | const Slicer & | section | ) | [private] |
virtual const LatticeRegion* casacore::RebinLattice< T >::getRegionPtr | ( | ) | const [virtual] |
virtual Bool casacore::RebinLattice< T >::hasLock | ( | FileLocker::LockType | ) | const [virtual] |
Reimplemented from casacore::LatticeBase.
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 >.
virtual Bool casacore::RebinLattice< T >::isPaged | ( | ) | const [virtual] |
Is the lattice paged to disk?
Reimplemented from casacore::LatticeBase.
virtual Bool casacore::RebinLattice< T >::isWritable | ( | ) | const [virtual] |
The lattice is not writable.
Reimplemented from casacore::LatticeBase.
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.
virtual String casacore::RebinLattice< T >::name | ( | Bool | stripPath = False |
) | const [virtual] |
Return the name of the parent lattice.
Reimplemented from casacore::LatticeBase.
virtual Bool casacore::RebinLattice< T >::ok | ( | ) | const [virtual] |
Check class internals - used for debugging.
Should always return True
Reimplemented from casacore::LatticeBase.
RebinLattice<T>& casacore::RebinLattice< T >::operator= | ( | const RebinLattice< T > & | other | ) |
Assignment (reference semantics).
Reimplemented from casacore::MaskedLattice< T >.
static 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'
virtual void casacore::RebinLattice< T >::reopen | ( | ) | [virtual] |
If needed, reopen a temporarily closed Lattice.
Reimplemented from casacore::LatticeBase.
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.
virtual IPosition casacore::RebinLattice< T >::shape | ( | ) | const [virtual] |
Returns the shape of the lattice.
Implements casacore::LatticeBase.
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.
virtual void casacore::RebinLattice< T >::unlock | ( | ) | [virtual] |
Reimplemented from casacore::LatticeBase.
Bool casacore::RebinLattice< T >::itsAllUnity [private] |
Definition at line 186 of file RebinLattice.h.
IPosition casacore::RebinLattice< T >::itsBin [private] |
Definition at line 185 of file RebinLattice.h.
Array<T> casacore::RebinLattice< T >::itsData [private] |
Cache.
Definition at line 188 of file RebinLattice.h.
MaskedLattice<T>* casacore::RebinLattice< T >::itsLatticePtr [private] |
Definition at line 184 of file RebinLattice.h.
Array<Bool> casacore::RebinLattice< T >::itsMask [private] |
Definition at line 189 of file RebinLattice.h.
Slicer casacore::RebinLattice< T >::itsSlicer [private] |
Definition at line 190 of file RebinLattice.h.