casacore
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_STATPfromRecord (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

◆ StatisticsAlgorithmFactory()

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

◆ ~StatisticsAlgorithmFactory()

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

Member Function Documentation

◆ algorithm()

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

◆ biweightData()

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.

◆ chauvenetData()

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.

◆ configureBiweight()

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 
)

◆ configureChauvenet()

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

◆ configureClassical()

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

◆ configureFitToHalf()

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.

◆ configureHingesFences()

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

◆ copy()

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.

◆ createStatsAlgorithm()

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.

◆ fitToHalfData()

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.

◆ fromRecord()

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

◆ hingesFencesFactor()

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.

◆ toRecord()

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

◆ StatisticsAlgorithmFactory

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

◆ _algorithm

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

◆ _biweightData

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.

◆ _chauvData

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.

◆ _fitToHalfData

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.

◆ _hf

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: