Go to the documentation of this file.
26 #ifndef SCIMATH_STATSALGORITHMFACTORY_H
27 #define SCIMATH_STATSALGORITHMFACTORY_H
29 #include <casacore/casa/Utilities/CountedPtr.h>
30 #include <casacore/scimath/Mathematics/NumericTraits.h>
31 #include <casacore/scimath/StatsFramework/StatisticsAlgorithm.h>
32 #include <casacore/scimath/StatsFramework/StatisticsAlgorithmFactoryData.h>
33 #include <casacore/scimath/StatsFramework/StatisticsData.h>
40 class AccumType,
class DataIterator,
class MaskIterator=
const Bool *,
41 class WeightsIterator=DataIterator
49 class AccumType2,
class DataIterator2,
class MaskIterator2,
50 class WeightsIterator2
81 template <
class DataIterator2,
class MaskIterator2,
class WeightsIterator2>
84 AccumType, DataIterator2, MaskIterator2, WeightsIterator2
131 #ifndef CASACORE_NO_AUTO_TEMPLATES
132 #include <casacore/scimath/StatsFramework/StatisticsAlgorithmFactory.tcc>
Provides a single interface for creation of stats algorithm objects.
Double _hf
hinges-fences f factor
Double hingesFencesFactor() const
Throws an exception if the current configuration is not relevant to the hinges-fences algorithm.
ALGORITHM
implemented algorithms
Referenced counted pointer for constant data.
void configureChauvenet(Double zscore=-1, Int maxIterations=-1)
configure to use Chauvenet's criterion
USE_DATA
which section of data to use, greater than or less than the center value
void configureHingesFences(Double f)
configure to use hinges-fences algorithm
StatisticsAlgorithmFactoryData::ChauvenetData _chauvData
StatisticsData::ALGORITHM algorithm() const
void configureFitToHalf(FitToHalfStatisticsData::CENTER centerType=FitToHalfStatisticsData::CMEAN, FitToHalfStatisticsData::USE_DATA useData=FitToHalfStatisticsData::LE_CENTER, AccumType centerValue=0)
configure to use fit to half algorithm.
StatisticsData::ALGORITHM _algorithm
~StatisticsAlgorithmFactory()
StatisticsAlgorithmFactoryData::BiweightData _biweightData
StatisticsAlgorithmFactoryData::FitToHalfData< AccumType > fitToHalfData() const
Throws an exception if the current configuration is not relevant to the fit-to-half algorithm.
StatisticsAlgorithmFactoryData::BiweightData biweightData() const
Throws an exception if the current configuration is not relevant to the Biweight algorithm.
CountedPtr< StatisticsAlgorithm< CASA_STATP > > createStatsAlgorithm() const
Create a pointer to an object of a class derived from StatisticsAlgorithm that reflects the current c...
StatisticsAlgorithmFactoryData::ChauvenetData chauvenetData() const
Throws an exception if the current configuration is not relevant to the Chauvenet/zscore algorithm.
CENTER
choice of center point based on the corresponding statistics from the entire distribution of data,...
StatisticsAlgorithmFactoryData::FitToHalfData< AccumType > _fitToHalfData
StatisticsAlgorithmFactory()
upon construction, the object is configured to use the classical stats algorithm
this file contains all the compiler specific defines
const Double c
Fundamental physical constants (SI units):
void configureClassical()
void copy(StatisticsAlgorithmFactory< AccumType, DataIterator2, MaskIterator2, WeightsIterator2 > &other) const
copy the data from this object to an object with different template types.
bool Bool
Define the standard types used by Casacore.
Record toRecord() const
create a record from the current configuration that can be used to create another object using the fr...
static StatisticsAlgorithmFactory< CASA_STATP > fromRecord(const Record &r)
create an object from a record
void configureBiweight(Int maxIter=3, Double c=6.0)