casa
$Rev:20696$
|
Generate histograms, tile by tile, from a masked lattice. More...
#include <LatticeHistograms.h>
Public Member Functions | |
HistTiledCollapser (LatticeStatistics< T > *pStats, uInt nBins) | |
Constructor. | |
virtual | ~HistTiledCollapser () |
virtual void | init (uInt nOutPixelsPerCollapse) |
Initialize process, making some checks. | |
virtual void | initAccumulator (uInt n1, uInt n3) |
Initialize the accumulator. | |
virtual void | process (uInt accumIndex1, uInt accumIndex3, const T *inData, const Bool *inMask, uInt inDataIncr, uInt inMaskIncr, uInt nrval, const IPosition &startPos, const IPosition &shape) |
Process the data in the current chunk. | |
virtual void | endAccumulator (Array< T > &result, Array< Bool > &resultMask, const IPosition &shape) |
End the accumulation process and return the result arrays. | |
virtual Bool | canHandleNullMask () const |
Can handle null mask. | |
Private Attributes | |
LatticeStatistics< T > * | pStats_p |
Block< T > * | pHist_p |
uInt | nBins_p |
uInt | n1_p |
uInt | n3_p |
Generate histograms, tile by tile, from a masked lattice.
Public interface
<h3>Review Status</h3><dl><dt>Date Reviewed:<dd>yyyy/mm/dd</dl>
This class is used by LatticeHistograms
to generate histograms from an input MaskedLattice
. The input lattice is iterated through in tile-sized chunks and fed to an object of this class.
HistTiledCollapser
is derived from TiledCollapser
which is a base class used to define methods. Objects of this base class are used by LatticeApply
functions. In this particular case, we are interested in LatticeApply::tiledApply
. This function iterates through a MaskedLattice
and allows you to collapse one or more axes, computing some values from it, and placing those values into an output MaskedLattice
. It iterates through the input lattice in optimal tile-sized chunks. LatticeHistograms
uses a HistTiledCollapser
object which it gives to LatticeApply::tiledApply
for digestion. After it has done its work, LatticeHistograms
then accesses the output Lattice
that it made.
// Created collapser. Control information is passed in via the constructor. HistTiledCollapser<T> collapser(pStats, nBins_p); // This is the first output axis getting collapsed values. In LatticeHistograms // this is the first axis of the output lattice Int newOutAxis = 0; // tiledApply does the work by passing the collapser data in chunks // and by writing the results into the output lattice LatticeApply<T>::tiledApply(outLattice, inLattice, collapser, collapseAxes, newOutAxis);
In this example, a collapser is made and passed to LatticeApply. Afterwards, the output Lattice is available for use. The Lattices must all be the correct shapes on input to tiledApply
The LatticeApply classes enable the ugly details of optimal Lattice iteration to be hidden from the user.
Definition at line 455 of file LatticeHistograms.h.
casa::HistTiledCollapser< T >::HistTiledCollapser | ( | LatticeStatistics< T > * | pStats, |
uInt | nBins | ||
) |
Constructor.
virtual casa::HistTiledCollapser< T >::~HistTiledCollapser | ( | ) | [virtual] |
virtual Bool casa::HistTiledCollapser< T >::canHandleNullMask | ( | ) | const [inline, virtual] |
Can handle null mask.
Reimplemented from casa::TiledCollapser< T, T >.
Definition at line 489 of file LatticeHistograms.h.
virtual void casa::HistTiledCollapser< T >::endAccumulator | ( | Array< T > & | result, |
Array< Bool > & | resultMask, | ||
const IPosition & | shape | ||
) | [virtual] |
End the accumulation process and return the result arrays.
Implements casa::TiledCollapser< T, T >.
virtual void casa::HistTiledCollapser< T >::init | ( | uInt | nOutPixelsPerCollapse | ) | [virtual] |
Initialize process, making some checks.
Implements casa::TiledCollapser< T, T >.
virtual void casa::HistTiledCollapser< T >::initAccumulator | ( | uInt | n1, |
uInt | n3 | ||
) | [virtual] |
Initialize the accumulator.
Implements casa::TiledCollapser< T, T >.
virtual void casa::HistTiledCollapser< T >::process | ( | uInt | accumIndex1, |
uInt | accumIndex3, | ||
const T * | inData, | ||
const Bool * | inMask, | ||
uInt | inDataIncr, | ||
uInt | inMaskIncr, | ||
uInt | nrval, | ||
const IPosition & | startPos, | ||
const IPosition & | shape | ||
) | [virtual] |
Process the data in the current chunk.
Implements casa::TiledCollapser< T, T >.
uInt casa::HistTiledCollapser< T >::n1_p [private] |
Definition at line 495 of file LatticeHistograms.h.
uInt casa::HistTiledCollapser< T >::n3_p [private] |
Definition at line 496 of file LatticeHistograms.h.
uInt casa::HistTiledCollapser< T >::nBins_p [private] |
Definition at line 494 of file LatticeHistograms.h.
Block<T>* casa::HistTiledCollapser< T >::pHist_p [private] |
Definition at line 493 of file LatticeHistograms.h.
LatticeStatistics<T>* casa::HistTiledCollapser< T >::pStats_p [private] |
Definition at line 489 of file LatticeHistograms.h.