casacore
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Static Public Member Functions | Private Attributes | Friends | List of all members
casacore::StatisticsAlgorithmFactory< AccumType, DataIterator, MaskIterator, WeightsIterator > Class Template Reference

Provides a single interface for creation of stats algorithm objects. More...

#include <StatisticsAlgorithmFactory.h>

Public Member Functions

 StatisticsAlgorithmFactory ()
 upon construction, the object is configured to use the classical stats algorithm More...
 
 ~StatisticsAlgorithmFactory ()
 
void configureBiweight (Int maxIter=3, Double c=6.0)
 
void configureClassical ()
 
void configureFitToHalf (FitToHalfStatisticsData::CENTER centerType=FitToHalfStatisticsData::CMEAN, FitToHalfStatisticsData::USE_DATA useData=FitToHalfStatisticsData::LE_CENTER, AccumType centerValue=0)
 configure to use fit to half algorithm. More...
 
void configureHingesFences (Double f)
 configure to use hinges-fences algorithm More...
 
void configureChauvenet (Double zscore=-1, Int maxIterations=-1)
 configure to use Chauvenet's criterion More...
 
template<class DataIterator2 , class MaskIterator2 , class WeightsIterator2 >
void copy (StatisticsAlgorithmFactory< AccumType, DataIterator2, MaskIterator2, WeightsIterator2 > &other) const
 copy the data from this object to an object with different template types. More...
 
CountedPtr
< StatisticsAlgorithm
< CASA_STATP > > 
createStatsAlgorithm () const
 Create a pointer to an object of a class derived from StatisticsAlgorithm that reflects the current configuration. More...
 
StatisticsData::ALGORITHM algorithm () const
 
StatisticsAlgorithmFactoryData::BiweightData biweightData () const
 Throws an exception if the current configuration is not relevant to the Biweight algorithm. More...
 
StatisticsAlgorithmFactoryData::ChauvenetData chauvenetData () const
 Throws an exception if the current configuration is not relevant to the Chauvenet/zscore algorithm. More...
 
Double hingesFencesFactor () const
 Throws an exception if the current configuration is not relevant to the hinges-fences algorithm. More...
 
StatisticsAlgorithmFactoryData::FitToHalfData
< AccumType > 
fitToHalfData () const
 Throws an exception if the current configuration is not relevant to the fit-to-half algorithm. More...
 
Record toRecord () const
 create a record from the current configuration that can be used to create another object using the fromRecord() method. More...
 

Static Public Member Functions

static
StatisticsAlgorithmFactory
< CASA_STATP
fromRecord (const Record &r)
 create an object from a record More...
 

Private Attributes

StatisticsData::ALGORITHM _algorithm
 
Double _hf
 hinges-fences f factor More...
 
StatisticsAlgorithmFactoryData::BiweightData _biweightData
 
StatisticsAlgorithmFactoryData::FitToHalfData
< AccumType > 
_fitToHalfData
 
StatisticsAlgorithmFactoryData::ChauvenetData _chauvData
 

Friends

template<class AccumType2 , class DataIterator2 , class MaskIterator2 , class WeightsIterator2 >
class StatisticsAlgorithmFactory
 to make copy() more straight forward to implement More...
 

Detailed Description

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>
class casacore::StatisticsAlgorithmFactory< AccumType, DataIterator, MaskIterator, WeightsIterator >

Provides a single interface for creation of stats algorithm objects.

Definition at line 43 of file StatisticsAlgorithmFactory.h.

Constructor & Destructor Documentation

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>
casacore::StatisticsAlgorithmFactory< AccumType, DataIterator, MaskIterator, WeightsIterator >::StatisticsAlgorithmFactory ( )

upon construction, the object is configured to use the classical stats algorithm

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>
casacore::StatisticsAlgorithmFactory< AccumType, DataIterator, MaskIterator, WeightsIterator >::~StatisticsAlgorithmFactory ( )

Member Function Documentation

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>
StatisticsData::ALGORITHM casacore::StatisticsAlgorithmFactory< AccumType, DataIterator, MaskIterator, WeightsIterator >::algorithm ( ) const
inline

Definition at line 92 of file StatisticsAlgorithmFactory.h.

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>
StatisticsAlgorithmFactoryData::BiweightData casacore::StatisticsAlgorithmFactory< AccumType, DataIterator, MaskIterator, WeightsIterator >::biweightData ( ) const

Throws an exception if the current configuration is not relevant to the Biweight algorithm.

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>
StatisticsAlgorithmFactoryData::ChauvenetData casacore::StatisticsAlgorithmFactory< AccumType, DataIterator, MaskIterator, WeightsIterator >::chauvenetData ( ) const

Throws an exception if the current configuration is not relevant to the Chauvenet/zscore algorithm.

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>
void casacore::StatisticsAlgorithmFactory< AccumType, DataIterator, MaskIterator, WeightsIterator >::configureBiweight ( Int  maxIter = 3,
Double  c = 6.0 
)
template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>
void casacore::StatisticsAlgorithmFactory< AccumType, DataIterator, MaskIterator, WeightsIterator >::configureChauvenet ( Double  zscore = -1,
Int  maxIterations = -1 
)

configure to use Chauvenet's criterion

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>
void casacore::StatisticsAlgorithmFactory< AccumType, DataIterator, MaskIterator, WeightsIterator >::configureClassical ( )
template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>
void casacore::StatisticsAlgorithmFactory< AccumType, DataIterator, MaskIterator, WeightsIterator >::configureFitToHalf ( FitToHalfStatisticsData::CENTER  centerType = FitToHalfStatisticsData::CMEAN,
FitToHalfStatisticsData::USE_DATA  useData = FitToHalfStatisticsData::LE_CENTER,
AccumType  centerValue = 0 
)

configure to use fit to half algorithm.

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>
void casacore::StatisticsAlgorithmFactory< AccumType, DataIterator, MaskIterator, WeightsIterator >::configureHingesFences ( Double  f)

configure to use hinges-fences algorithm

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>
template<class DataIterator2 , class MaskIterator2 , class WeightsIterator2 >
void casacore::StatisticsAlgorithmFactory< AccumType, DataIterator, MaskIterator, WeightsIterator >::copy ( StatisticsAlgorithmFactory< AccumType, DataIterator2, MaskIterator2, WeightsIterator2 > &  other) const

copy the data from this object to an object with different template types.

Note that the AccumType of other must be the same as the AccumType of this object.

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>
CountedPtr<StatisticsAlgorithm<CASA_STATP> > casacore::StatisticsAlgorithmFactory< AccumType, DataIterator, MaskIterator, WeightsIterator >::createStatsAlgorithm ( ) const

Create a pointer to an object of a class derived from StatisticsAlgorithm that reflects the current configuration.

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>
StatisticsAlgorithmFactoryData::FitToHalfData<AccumType> casacore::StatisticsAlgorithmFactory< AccumType, DataIterator, MaskIterator, WeightsIterator >::fitToHalfData ( ) const

Throws an exception if the current configuration is not relevant to the fit-to-half algorithm.

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>
static StatisticsAlgorithmFactory<CASA_STATP> casacore::StatisticsAlgorithmFactory< AccumType, DataIterator, MaskIterator, WeightsIterator >::fromRecord ( const Record r)
static

create an object from a record

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>
Double casacore::StatisticsAlgorithmFactory< AccumType, DataIterator, MaskIterator, WeightsIterator >::hingesFencesFactor ( ) const

Throws an exception if the current configuration is not relevant to the hinges-fences algorithm.

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>
Record casacore::StatisticsAlgorithmFactory< AccumType, DataIterator, MaskIterator, WeightsIterator >::toRecord ( ) const

create a record from the current configuration that can be used to create another object using the fromRecord() method.

Friends And Related Function Documentation

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>
template<class AccumType2 , class DataIterator2 , class MaskIterator2 , class WeightsIterator2 >
friend class StatisticsAlgorithmFactory
friend

to make copy() more straight forward to implement

Definition at line 52 of file StatisticsAlgorithmFactory.h.

Member Data Documentation

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>
StatisticsData::ALGORITHM casacore::StatisticsAlgorithmFactory< AccumType, DataIterator, MaskIterator, WeightsIterator >::_algorithm
private
template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>
StatisticsAlgorithmFactoryData::BiweightData casacore::StatisticsAlgorithmFactory< AccumType, DataIterator, MaskIterator, WeightsIterator >::_biweightData
private

Definition at line 123 of file StatisticsAlgorithmFactory.h.

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>
StatisticsAlgorithmFactoryData::ChauvenetData casacore::StatisticsAlgorithmFactory< AccumType, DataIterator, MaskIterator, WeightsIterator >::_chauvData
private

Definition at line 125 of file StatisticsAlgorithmFactory.h.

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>
StatisticsAlgorithmFactoryData::FitToHalfData<AccumType> casacore::StatisticsAlgorithmFactory< AccumType, DataIterator, MaskIterator, WeightsIterator >::_fitToHalfData
private

Definition at line 124 of file StatisticsAlgorithmFactory.h.

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>
Double casacore::StatisticsAlgorithmFactory< AccumType, DataIterator, MaskIterator, WeightsIterator >::_hf
private

hinges-fences f factor

Definition at line 122 of file StatisticsAlgorithmFactory.h.


The documentation for this class was generated from the following file: