![]() |
|
#include <Accumulator.h>
Public Types | |
enum | FieldType { DATA_SPECIFIC = 32 , QUALITY = 256 , DATA = 'd' , WEIGHT = 'w'|QUALITY , COUNT = 'c'|QUALITY , DEVIATION = 's'|QUALITY , WEIGHT_DS = 'W'|QUALITY , COUNT_DS = 'C'|QUALITY , DEVIATION_DS = 'S'|QUALITY } |
typedef std::list< FieldType > | FieldList |
typedef drain::EnumDict< FieldType >::dict_t | dict_t |
Public Member Functions | |
Accumulator () | |
Accumulator (const Accumulator &acc) | |
void | setMethod (const std::string &method) |
Set method to some of the predefined methods. | |
void | setMethod (const std::string &name, const std::string ¶ms) |
Set method to some of the predefined methods. | |
void | setMethod (const AccumulationMethod &method) |
Copies the method and its parameters. | |
bool | isMethodSet () const |
const AccumulationMethod & | getMethod () const |
AccumulationMethod & | getMethod () |
void | add (const size_t i, double value, double weight) |
Adds decoded data that applies natural scaling. | |
void | add (const size_t i, double value, double weight, unsigned int count) |
Adds decoded data that applies natural scaling. | |
void | addData (const Image &src, const AccumulationConverter &converter, double weight=1.0, int iOffset=0, int jOffset=0) |
Add (accumulate) data with given prior weight. | |
void | addData (const Image &src, const Image &srcQuality, const AccumulationConverter &converter, double weight=1.0, int iOffset=0, int jOffset=0) |
Add (accumulate) data weighted with input quality. | |
void | addData (const Image &src, const Image &srcQuality, const Image &srcCount, const AccumulationConverter &converter) |
Add (accumulate) data weighted with input quality and count; each data(i,j) contributes count(i,j) times. | |
void | extractField (char field, const AccumulationConverter &converter, Image &dst, const drain::Rectangle< int > &crop) const |
Extracts the accumulated quantity or secondary quantities like weight and standard deviation. | |
void | extractField (FieldType field, const AccumulationConverter &converter, Image &dst, const drain::Rectangle< int > &crop) const |
virtual std::ostream & | toStream (std::ostream &ostr) const |
Static Public Member Functions | |
static char | getFieldChar (FieldType field) |
static FieldType | getField (char field) |
static bool | isQuality (FieldType field) |
static bool | isSpecific (FieldType field) |
Future option to mark scaled/normalized etc. | |
static void | getFields (const std::string &fieldStr, FieldList &fieldList) |
static void | createFieldList (const std::string &fieldChars, FieldList &fieldList) |
Public Attributes | |
AccumulationArray | accArray |
Todo: export. | |
Static Public Attributes | |
static const dict_t | dict |
Protected Member Functions | |
void | initDst (const AccumulationConverter &coder, Image &dst, drain::Rectangle< int > &cropArea) const |
Protected Attributes | |
AccumulationMethod | undefinedMethod |
A Some predefined methods, that can be set with setMethod(const std::string & key). | |
AccumulationMethod * | methodPtr |
Accumulator contains five built-in accumulation methods (principles):
enum FieldType |
FIX: DS = DataSet-specific - forward definition
|
inline |
TODO: a static map?
void addData | ( | const Image & | src, |
const AccumulationConverter & | converter, | ||
double | weight = 1.0 , |
||
int | iOffset = 0 , |
||
int | jOffset = 0 |
||
) |
Add (accumulate) data with given prior weight.
src | - input data |
void addData | ( | const Image & | src, |
const Image & | srcQuality, | ||
const AccumulationConverter & | converter, | ||
double | weight = 1.0 , |
||
int | iOffset = 0 , |
||
int | jOffset = 0 |
||
) |
Add (accumulate) data weighted with input quality.
src | - input data |
srcQuality | - quality field of input data |
void addData | ( | const Image & | src, |
const Image & | srcQuality, | ||
const Image & | srcCount, | ||
const AccumulationConverter & | converter | ||
) |
Add (accumulate) data weighted with input quality and count; each data(i,j) contributes count(i,j) times.
src | - input data |
srcQuality | - quality field of input data |
srcCount | - counts of input data (makes difference in resulting weights) |
Count is bypassed when necessary; for example, when the accumulation method is MAXIMUM.
|
static |
TODO: add: static bool getField(char field){ looping } to Accumulator
|
inline |
Extracts the accumulated quantity or secondary quantities like weight and standard deviation.
field | - data layer to be extracted
|
|
inline |
Copies the method and its parameters.
That is, does not copy the target (accumulator &). This limits to those already registered in AccMethodBank.
|
static |