[ VIGRA Homepage | Function Index | Class Index | Namespaces | File List | Main Page ]

| DynamicAccumulatorChain< T, Selected > Class Template Reference |

Create a dynamic accumulator chain containing the selected statistics and their dependencies. More...

`#include <vigra/accumulator.hxx>`

Inheritance diagram for DynamicAccumulatorChain< T, Selected >:

List of all members.

## Public Member Functions
void | activate (std::string tag)
template<class TAG >
void | activate ()
void | activateAll ()
ArrayVector< std::string > | activeNames () const
bool | isActive (std::string tag) const
template<class TAG >
bool | isActive () const
unsigned int | passesRequired () const

## Detailed Description

### template<class T, class Selected>
class vigra::acc::DynamicAccumulatorChain< T, Selected >

Create a dynamic accumulator chain containing the selected statistics and their dependencies.

DynamicAccumulatorChain is used to compute global statistics with run-time activation. A set of statistics is selected at run-time and from this set statistics can be activated at run-time by calling activate<stat>() or activate(std::string stat).

The template parameters are as follows:

- T: The input type
  - either element type of the data(e.g. double, int, RGBValue, ...)
  - or type of CoupledHandle (for access to coordinates and/or weights)
- Selected: statistics to be computed and index specifier for the CoupledHandle, wrapped with Select

Usage:

        typedef double DataType;
        DynamicAccumulatorChain<DataType, Select<Variance, Mean, Minimum, ...> > accumulator;

Usage, using CoupledHandle:

        const int dim = 3; //dimension of MultiArray
        typedef double DataType;
        typedef double WeightType;
        typedef vigra::CoupledIteratorType<dim, DataType, WeightType>::HandleType Handle;
        DynamicAccumulatorChain<Handle, Select<DataArg<1>, WeightArg<2>, Mean,...> > a;

See Feature Accumulators for more information and examples of use.

## Member Function Documentation

void activate | ( | std::string | tag | ) |

Activate statistic 'tag'. Alias names are not recognized. If the statistic is not in the accumulator chain a PreconditionViolation is thrown.

void activate | ( |  | ) |

activate<TAG>() activates statistic 'TAG'. If the statistic is not in the accumulator chain it is ignored. (?)

void activateAll | ( |  | ) |

Activate all statistics in the accumulator chain.

bool isActive | ( | std::string | tag | ) | const

Return true if the statistic 'tag' is active, i.e. activate(std::string tag) or activate<TAG>() has been called. If the statistic is not in the accumulator chain a PreconditionViolation is thrown. (Note that alias names are not recognized.)

bool isActive | ( |  | ) | const

isActive<TAG>() returns true if statistic 'TAG' is active, i.e. activate(std::string tag) or activate<TAG>() has been called. If the statistic is not in the accumulator chain, true is returned. (?)

ArrayVector<std::string> activeNames | ( |  | ) | const

Return names of all statistics in the accumulator chain that are active.

unsigned int passesRequired | ( |  | ) | const

Return number of passes required to compute the active statistics in the accumulator chain.

Reimplemented from AccumulatorChain< T, Selected, true >.

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

- vigra/accumulator.hxx

© Ullrich Köthe (ullrich.koethe@iwr.uni-heidelberg.de) Heidelberg Collaboratory for Image Processing, University of Heidelberg, Germany | html generated using doxygen and Python vigra 1.9.0 (Tue Nov 6 2012)