casa
$Rev:20696$
|
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 78 of file RebinLattice.h.
casa::RebinLattice< T >::RebinLattice | ( | ) |
Default constructor (Object is unuseable)
casa::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.
casa::RebinLattice< T >::RebinLattice | ( | const RebinLattice< T > & | other | ) |
Copy constructor (reference semantics)
virtual casa::RebinLattice< T >::~RebinLattice | ( | ) | [virtual] |
Destructor.
virtual uInt casa::RebinLattice< T >::advisedMaxPixels | ( | ) | const [virtual] |
This function returns the recommended maximum number of pixels to include in the cursor of an iterator.
Reimplemented from casa::Lattice< T >.
void casa::RebinLattice< T >::bin | ( | const Array< T > & | dataIn | ) | [private] |
void casa::RebinLattice< T >::bin | ( | const Array< T > & | dataIn, |
const Array< Bool > & | maskIn | ||
) | [private] |
virtual MaskedLattice<T>* casa::RebinLattice< T >::cloneML | ( | ) | const [virtual] |
Make a copy of the object (reference semantics).
Implements casa::MaskedLattice< T >.
virtual Bool casa::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 casa::MaskedLattice< T >.
virtual Bool casa::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 casa::Lattice< T >.
virtual void casa::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 casa::Lattice< T >.
Slicer casa::RebinLattice< T >::findOriginalSlicer | ( | const Slicer & | section | ) | const [private] |
virtual void casa::RebinLattice< T >::flush | ( | ) | [virtual] |
Flush the data.
Reimplemented from casa::LatticeBase.
void casa::RebinLattice< T >::getDataAndMask | ( | const Slicer & | section | ) | [private] |
virtual const LatticeRegion* casa::RebinLattice< T >::getRegionPtr | ( | ) | const [virtual] |
virtual Bool casa::RebinLattice< T >::hasLock | ( | FileLocker::LockType | ) | const [virtual] |
Reimplemented from casa::LatticeBase.
virtual Bool casa::RebinLattice< T >::isMasked | ( | ) | const [virtual] |
Is the lattice masked? It is if its parent lattice is masked.
Reimplemented from casa::MaskedLattice< T >.
virtual Bool casa::RebinLattice< T >::isPaged | ( | ) | const [virtual] |
Is the lattice paged to disk?
Reimplemented from casa::LatticeBase.
virtual Bool casa::RebinLattice< T >::isWritable | ( | ) | const [virtual] |
The lattice is not writable.
Reimplemented from casa::LatticeBase.
virtual Bool casa::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 casa::LatticeBase.
virtual String casa::RebinLattice< T >::name | ( | Bool | stripPath = False | ) | const [virtual] |
Return the name of the parent lattice.
Reimplemented from casa::LatticeBase.
virtual Bool casa::RebinLattice< T >::ok | ( | ) | const [virtual] |
Check class internals - used for debugging.
Should always return True
Reimplemented from casa::LatticeBase.
RebinLattice<T>& casa::RebinLattice< T >::operator= | ( | const RebinLattice< T > & | other | ) |
Assignment (reference semantics)
static IPosition casa::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 casa::RebinLattice< T >::reopen | ( | ) | [virtual] |
If needed, reopen a temporarily closed Lattice.
Reimplemented from casa::LatticeBase.
virtual void casa::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 casa::LatticeBase.
virtual IPosition casa::RebinLattice< T >::shape | ( | ) | const [virtual] |
Returns the shape of the lattice.
Implements casa::LatticeBase.
virtual void casa::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 casa::LatticeBase.
virtual void casa::RebinLattice< T >::unlock | ( | ) | [virtual] |
Reimplemented from casa::LatticeBase.
Bool casa::RebinLattice< T >::itsAllUnity [private] |
Definition at line 185 of file RebinLattice.h.
IPosition casa::RebinLattice< T >::itsBin [private] |
Definition at line 184 of file RebinLattice.h.
Array<T> casa::RebinLattice< T >::itsData [private] |
Cache.
Definition at line 187 of file RebinLattice.h.
MaskedLattice<T>* casa::RebinLattice< T >::itsLatticePtr [private] |
Definition at line 183 of file RebinLattice.h.
Array<Bool> casa::RebinLattice< T >::itsMask [private] |
Definition at line 188 of file RebinLattice.h.
Slicer casa::RebinLattice< T >::itsSlicer [private] |
Definition at line 189 of file RebinLattice.h.