RebinLattice.h
Classes
- RebinLattice -- Rebin a masked lattice. (full description)
Interface
- Public Members
- RebinLattice()
- RebinLattice(const MaskedLattice<T>& lattice, const IPosition& bin)
- RebinLattice(const RebinLattice<T>& other)
- virtual ~RebinLattice()
- RebinLattice<T>& operator=(const RebinLattice<T>& other)
- virtual MaskedLattice<T>* cloneML() const
- virtual Bool isMasked() const
- virtual Bool isPaged() const
- virtual Bool isWritable() 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()
- virtual const LatticeRegion* getRegionPtr() const
- virtual IPosition shape() const
- virtual String name (Bool stripPath=False) const
- virtual uInt advisedMaxPixels() const
- virtual Bool ok() const
- virtual Bool doGetSlice (Array<T>& buffer, const Slicer& section)
- virtual void doPutSlice (const Array<T>& sourceBuffer, const IPosition& where, const IPosition& stride)
- virtual Bool doGetMaskSlice (Array<Bool>& buffer, const Slicer& section)
- static IPosition rebinShape (const IPosition& shapeLatticeIn, const IPosition& bin)
- Private Members
- 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)
Review Status
- Programs:
- Tests:
Prerequisite
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;
Motivation
Member Description
Default constructor (Object is unuseable)
Constructor. The bins don't have to fit integrally. Whatever
is left over at the end is treated as a full bin.
RebinLattice(const RebinLattice<T>& other)
Copy constructor (reference semantics)
Destructor.
RebinLattice<T>& operator=(const RebinLattice<T>& other)
Assignment (reference semantics)
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)
virtual void unlock()
virtual Bool hasLock (FileLocker::LockType) const
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.
virtual void resync()
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.
virtual void flush()
Flush the data.
Close the Lattice temporarily (if it is paged to disk).
It'll be reopened automatically when needed or when
reopen is called explicitly.
virtual void reopen()
If needed, reopen a temporarily closed Lattice.
Get a pointer the region/mask object.
It returns 0.
Returns the shape of the lattice.
virtual String name (Bool stripPath=False) const
Return the name of the parent lattice.
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. Should always return True
virtual Bool doGetSlice (Array<T>& buffer, const Slicer& section)
Do the actual getting of an array of values.
Slicers with non-unit stride are not yet supported
virtual void doPutSlice (const Array<T>& sourceBuffer, const IPosition& where, const IPosition& stride)
Do the actual putting of an array of values.
The lattice is not writable.
Get a section of the mask.
Slicers with non-unit stride are not yet supported
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'
void bin(const Array<T>& dataIn)
void bin(const Array<T>& dataIn, const Array<Bool>& maskIn)