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>
Referenced counted pointer for constant data.
USE_DATA
which section of data to use, greater than or less than the center value
CENTER
choice of center point based on the corresponding statistics from the entire distribution of data,...
Provides a single interface for creation of stats algorithm objects.
StatisticsAlgorithmFactory()
upon construction, the object is configured to use the classical stats algorithm
CountedPtr< StatisticsAlgorithm< CASA_STATP > > createStatsAlgorithm() const
Create a pointer to an object of a class derived from StatisticsAlgorithm that reflects the current c...
void configureFitToHalf(FitToHalfStatisticsData::CENTER centerType=FitToHalfStatisticsData::CMEAN, FitToHalfStatisticsData::USE_DATA useData=FitToHalfStatisticsData::LE_CENTER, AccumType centerValue=0)
configure to use fit to half algorithm.
void configureChauvenet(Double zscore=-1, Int maxIterations=-1)
configure to use Chauvenet's criterion
StatisticsAlgorithmFactoryData::FitToHalfData< AccumType > _fitToHalfData
StatisticsAlgorithmFactoryData::BiweightData biweightData() const
Throws an exception if the current configuration is not relevant to the Biweight algorithm.
void configureHingesFences(Double f)
configure to use hinges-fences algorithm
void configureClassical()
void configureBiweight(Int maxIter=3, Double c=6.0)
void copy(StatisticsAlgorithmFactory< AccumType, DataIterator2, MaskIterator2, WeightsIterator2 > &other) const
copy the data from this object to an object with different template types.
Double _hf
hinges-fences f factor
~StatisticsAlgorithmFactory()
StatisticsAlgorithmFactoryData::FitToHalfData< AccumType > fitToHalfData() const
Throws an exception if the current configuration is not relevant to the fit-to-half algorithm.
Record toRecord() const
create a record from the current configuration that can be used to create another object using the fr...
StatisticsAlgorithmFactoryData::ChauvenetData _chauvData
StatisticsAlgorithmFactoryData::ChauvenetData chauvenetData() const
Throws an exception if the current configuration is not relevant to the Chauvenet/zscore algorithm.
StatisticsData::ALGORITHM algorithm() const
static StatisticsAlgorithmFactory< CASA_STATP > fromRecord(const Record &r)
create an object from a record
StatisticsAlgorithmFactoryData::BiweightData _biweightData
Double hingesFencesFactor() const
Throws an exception if the current configuration is not relevant to the hinges-fences algorithm.
StatisticsData::ALGORITHM _algorithm
ALGORITHM
implemented algorithms
const Double c
Fundamental physical constants (SI units):
this file contains all the compiler specific defines
bool Bool
Define the standard types used by Casacore.