casacore
|
Abstract base class which defines interface for providing "datasets" to the statistics framework in cases where the data structure involved does not allow for a trivial means of doing so (eg, in the case of a Lattice). More...
#include <StatsDataProvider.h>
Public Member Functions | |
virtual | ~StatsDataProvider () |
virtual void | operator++ ()=0 |
increment the data provider to the next dataset, mask, range set, and weights. More... | |
virtual Bool | atEnd () const =0 |
Are there any data sets left to provide? More... | |
virtual void | finalize ()=0 |
Take any actions necessary to finalize the provider. More... | |
virtual uInt64 | getCount ()=0 |
get the count of elements in the current data set. More... | |
virtual DataIterator | getData ()=0 |
get an iterator to the first element of the current dataset More... | |
virtual MaskIterator | getMask ()=0 |
Get an iterator to the first element of the mask for the current dataset. More... | |
virtual uInt | getMaskStride ()=0 |
Get the stride for the current mask. More... | |
virtual uInt | getNMaxThreads () const |
If OpenMP is enabled and statistics methods are being called in a multi-threaded context, get maximum number of threads that should be used. More... | |
virtual DataRanges | getRanges ()=0 |
Get the associated range(s) of the current dataset. More... | |
virtual uInt | getStride ()=0 |
Get the stride for the current data set. More... | |
virtual WeightsIterator | getWeights ()=0 |
Get an iterator to the first weights element of the current dataset. More... | |
virtual Bool | hasMask () const =0 |
Does the current data set have an associated mask? More... | |
virtual Bool | hasRanges () const =0 |
Does the current data set have associated range(s)? More... | |
virtual Bool | hasWeights () const =0 |
Does the current data set have associated weights? More... | |
virtual Bool | isInclude () const =0 |
If the associated data set has ranges, are these include (return True) or exclude (return False) ranges? More... | |
virtual void | reset ()=0 |
reset the provider to point to the beginning of the first data set it manages. More... | |
virtual void | updateMaxPos (const LocationType &) |
In general, unless you are writing statistics algorithm code, you shouldn't need to call these methods. More... | |
virtual void | updateMinPos (const LocationType &) |
Protected Member Functions | |
StatsDataProvider () | |
Abstract base class which defines interface for providing "datasets" to the statistics framework in cases where the data structure involved does not allow for a trivial means of doing so (eg, in the case of a Lattice).
Definition at line 43 of file StatsDataProvider.h.
|
virtual |
|
protected |
|
pure virtual |
Are there any data sets left to provide?
Implemented in casacore::MaskedLatticeStatsDataProvider< T >, and casacore::LatticeStatsDataProvider< T >.
|
pure virtual |
Take any actions necessary to finalize the provider.
This will be called when atEnd() returns True.
Implemented in casacore::MaskedLatticeStatsDataProvider< T >, casacore::LatticeStatsDataProviderBase< T >, and casacore::LatticeStatsDataProvider< T >.
|
pure virtual |
get the count of elements in the current data set.
When implementing this method, be certain to take stride into account; ie for a data set with nominally 100 elements that is to have a stride of two, this method should return 50.
Implemented in casacore::MaskedLatticeStatsDataProvider< T >, and casacore::LatticeStatsDataProvider< T >.
|
pure virtual |
get an iterator to the first element of the current dataset
Implemented in casacore::MaskedLatticeStatsDataProvider< T >, and casacore::LatticeStatsDataProvider< T >.
|
pure virtual |
Get an iterator to the first element of the mask for the current dataset.
Only called if hasMask() returns True;
Implemented in casacore::MaskedLatticeStatsDataProvider< T >, and casacore::LatticeStatsDataProvider< T >.
|
pure virtual |
Get the stride for the current mask.
Only called if hasMask() returns True.
Implemented in casacore::LatticeStatsDataProviderBase< T >.
|
virtual |
If OpenMP is enabled and statistics methods are being called in a multi-threaded context, get maximum number of threads that should be used.
If zero is returned, the statistics classes will use the maximum number of threads available to openmp. Returning less than that helps to decrease overhead used by statistics methods when the maximum number of threads available to openmp are unnecessary. The base class implmentation returns 0.
Reimplemented in casacore::MaskedLatticeStatsDataProvider< T >, and casacore::LatticeStatsDataProvider< T >.
|
pure virtual |
Get the associated range(s) of the current dataset.
Only called if hasRanges() returns True;
Implemented in casacore::LatticeStatsDataProviderBase< T >.
|
pure virtual |
Get the stride for the current data set.
Implemented in casacore::LatticeStatsDataProviderBase< T >.
|
pure virtual |
Get an iterator to the first weights element of the current dataset.
Only called if hasWeights() returns True;
Implemented in casacore::LatticeStatsDataProviderBase< T >.
|
pure virtual |
Does the current data set have an associated mask?
Implemented in casacore::MaskedLatticeStatsDataProvider< T >, and casacore::LatticeStatsDataProvider< T >.
|
pure virtual |
Does the current data set have associated range(s)?
Implemented in casacore::LatticeStatsDataProviderBase< T >.
|
pure virtual |
Does the current data set have associated weights?
Implemented in casacore::LatticeStatsDataProviderBase< T >.
|
pure virtual |
If the associated data set has ranges, are these include (return True) or exclude (return False) ranges?
Implemented in casacore::LatticeStatsDataProviderBase< T >.
|
pure virtual |
increment the data provider to the next dataset, mask, range set, and weights.
Implemented in casacore::MaskedLatticeStatsDataProvider< T >, and casacore::LatticeStatsDataProvider< T >.
|
pure virtual |
reset the provider to point to the beginning of the first data set it manages.
Implemented in casacore::MaskedLatticeStatsDataProvider< T >, casacore::LatticeStatsDataProviderBase< T >, and casacore::LatticeStatsDataProvider< T >.
|
inlinevirtual |
In general, unless you are writing statistics algorithm code, you shouldn't need to call these methods.
The statistics framework calls these methods when the min and max posiitons are updated. It passes in the relevant index of the current sub dataset it is processing. Data providers can use this information to transform into something more useful, eg an IPosition for lattice data providers, so that they may be retreived easily after statistics have been calculated. The default implementations do nothing.
Definition at line 122 of file StatsDataProvider.h.
|
inlinevirtual |
Definition at line 124 of file StatsDataProvider.h.