Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | List of all members
AccumulationMethod Class Reference

Function for accumulating data: maximum, average, weighted average etc. More...

#include <AccumulationMethods.h>

Inheritance diagram for AccumulationMethod:
Inheritance graph
[legend]
Collaboration diagram for AccumulationMethod:
Collaboration graph
[legend]

Public Member Functions

 AccumulationMethod (const AccumulationMethod &method)
 
virtual void add (AccumulationArray &accArray, const size_t i, double value, double weight) const
 Adds a weighted value to the accumulation array.
 
virtual void add (AccumulationArray &accArray, const size_t i, double value, double weight, unsigned int count) const
 Adds 'count' copies of a weighted value to the accumulation array.
 
virtual void extractValue (const AccumulationArray &accArray, const AccumulationConverter &coder, Image &dst, const drain::Rectangle< int > &crop={0, 0, 0, 0}) const
 Retrieve the accumulated values from the accumulation matrix back to a data array.
 
virtual void extractWeight (const AccumulationArray &accArray, const AccumulationConverter &coder, Image &dst, const drain::Rectangle< int > &crop={0, 0, 0, 0}) const
 Retrieves the (average) weight of the accumulated values.
 
virtual void extractCount (const AccumulationArray &accArray, const AccumulationConverter &coder, Image &dst, const drain::Rectangle< int > &crop={0, 0, 0, 0}) const
 Retrieves the count of values accumulated.
 
virtual void extractDev (const AccumulationArray &accArray, const AccumulationConverter &coder, Image &dst, const drain::Rectangle< int > &crop={0, 0, 0, 0}) const
 Retrieves the standard deviation of the accumulated values.
 
- Public Member Functions inherited from BeanLike
 BeanLike (const BeanLike &b)
 Copy constructor. Re-links parameters to the member variables of this (new) instance.
 
 BeanLike (const std::string &name, const std::string &description="")
 Constructor.
 
virtual const std::string & getName () const
 Return the name of an instance.
 
virtual const std::string & getDescription () const
 Return a brief description.
 
bool hasParameters () const
 Tells if any parameters have been linked (registered) for this bean.
 
template<class F >
F getParameter (const std::string &p) const
 Gets a single parameter.
 
const map_t & getParameters () const
 Returns the parameter map (const access).
 
map_t & getParameters ()
 Returns the parameter map.
 
template<class F >
void setParametersFromEntries (const F &args)
 Sets several parameters at once from a sequence of key-value pairs.
 
void setParameters (std::initializer_list< Variable::init_pair_t > args)
 Grants access to (if above hidden)
 
virtual void setParameters (const std::string &p, char assignmentSymbol='=', char separatorSymbol=0)
 Sets comma-separated parameters in a predetermined order "a,b,c" or by specifing them "b=2".
 
template<class T >
void setParameters (const std::map< std::string, T > &args)
 Set parameters.
 
template<class T >
void setParameters (const SmartMap< T > &args)
 Set parameters.
 
void setParameter (const std::string &p, const Castable &value)
 Sets a single parameter.
 
template<class T >
void setParameter (const std::string &p, const VariableT< T > &value)
 
template<class F >
void setParameter (const std::string &p, const F &value)
 Sets a single parameter.
 
template<class F >
void setParameter (const std::string &p, std::initializer_list< F > value)
 Sets a single parameter.
 
BeanLike & operator= (const BeanLike &b)
 Assigns the parameter values of another bean (by key) to this one's own parameters.
 
virtual std::ostream & toStream (std::ostream &ostr, bool compact=true) const
 Prints the name, description and current parameter values.
 

Protected Member Functions

 AccumulationMethod (const std::string &name, const std::string &description)
 
- Protected Member Functions inherited from BeanLike
virtual void storeLastArguments (const std::string &p)
 Called after setParameters()
 
virtual void updateBean () const
 Called after setParameters()
 

Additional Inherited Members

- Public Types inherited from BeanLike
typedef ReferenceMap map_t
 Reference map type used to store this bean's parameters (name -> linked variable).
 
- Protected Attributes inherited from BeanLike
const std::string name
 Name of this bean, typically also the name of the (derived) class.
 
const std::string description
 Brief, human-readable description of this bean.
 
map_t parameters
 Parameters (name -> linked variable), typically linked to member variables of the derived class.
 

Detailed Description

Function for accumulating data: maximum, average, weighted average etc.

Connections to measurement devices:

  1. No data measured (nodata) - if count is undetectValue
  2. Data measured, but precision etc. threshold not exceeded (undetect ) - if weight is undetectValue

Member Function Documentation

◆ add() [1/2]

virtual void add ( AccumulationArray &  accArray,
const size_t  i,
double  value,
double  weight 
) const
inlinevirtual

Adds a weighted value to the accumulation array.

i - precomputed address in the array
value - value to be added
weight - weight of the value

Notice that not all the rules apply the weights. Semantically, the weights should reflect the importance, confidence or relevance of the value.

Reimplemented in MaximumWeightMethod, OverwriteMethod, MaximumMethod, MinimumMethod, MinMaxMethod, AverageMethod, and WeightedAverageMethod.

◆ add() [2/2]

virtual void add ( AccumulationArray &  accArray,
const size_t  i,
double  value,
double  weight,
unsigned int  count 
) const
inlinevirtual

Adds 'count' copies of a weighted value to the accumulation array.

Reimplemented in AverageMethod, and WeightedAverageMethod.

◆ extractCount()

void extractCount ( const AccumulationArray &  accArray,
const AccumulationConverter &  coder,
Image &  dst,
const drain::Rectangle< int > &  crop = {0,0,0,0} 
) const
virtual

Retrieves the count of values accumulated.

dst - target array in which the values are stored.
gain - scaling coefficient applied to each retrived value
offset - additive coefficient applied to each retrieved value

◆ extractDev()

void extractDev ( const AccumulationArray &  accArray,
const AccumulationConverter &  coder,
Image &  dst,
const drain::Rectangle< int > &  crop = {0,0,0,0} 
) const
virtual

Retrieves the standard deviation of the accumulated values.

dst - target array in which the values are stored.
gain - scaling coefficient applied to each retrived value
offset - additive coefficient applied to each retrieved value
NODATA - if bin count is undetectValue that is, there is no data in a bin, this value is applied.

Reimplemented in OverwriteMethod, MinMaxMethod, AverageMethod, and WeightedAverageMethod.

◆ extractValue()

void extractValue ( const AccumulationArray &  accArray,
const AccumulationConverter &  coder,
Image &  dst,
const drain::Rectangle< int > &  crop = {0,0,0,0} 
) const
virtual

Retrieve the accumulated values from the accumulation matrix back to a data array.

In this context, the "value" refers to the main object of interest (measurement, prediction etc).

dst - target array in which the values are stored.
gain - scaling coefficient applied to each retrived value
offset - additive coefficient applied to each retrieved value
NEGLIBLE - if value is less than minValue (or weight is undetectValue but bin count non-undetectValue), this value is applied.
NODATA - if bin count is undetectValue that is, there is no data in a bin, this value is applied.

Reimplemented in MinMaxMethod, AverageMethod, and WeightedAverageMethod.

◆ extractWeight()

void extractWeight ( const AccumulationArray &  accArray,
const AccumulationConverter &  coder,
Image &  dst,
const drain::Rectangle< int > &  crop = {0,0,0,0} 
) const
virtual

Retrieves the (average) weight of the accumulated values.

Parameters
accArray- data source
coder- logic for scaling and encoding the result
dst- target array in which the data are stored.

Reimplemented in AverageMethod, and WeightedAverageMethod.


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