/** * @file RunningStatVector.h * @brief B. P. Welford Computation of Mean and Variance download at: http://www.johndcook.com/standard_deviation.html * @author Michael Koch * @date 19/01/2010 */ #ifndef RunningStatVectorINCLUDE #define RunningStatVectorINCLUDE #include "vislearning/baselib/RunningStat.h" #include namespace OBJREC { /** @brief online statistics */ class RunningStatVector { public: RunningStatVector(size_t n=0) : m_n(0),size(n) { } ~RunningStatVector(); /** clear the current statistics */ void Clear(); /** add a new data element */ void Push(NICE::Vector x); /** get number of data elements */ size_t NumDataValues() const; /** get vector size */ size_t Size() const; /** get mean value */ NICE::Vector Mean() const; /** get variance */ NICE::Vector Variance() const; /** get standard deviation */ NICE::Vector StandardDeviation() const; private: size_t m_n; size_t size; std::vector datavector; }; } #endif