RapidLib  v2.1.0
A simple library for interactive machine learning
rapidStream.h
Go to the documentation of this file.
1 
8 #ifndef rapidStream_h
9 #define rapidStream_h
10 
11 #include <stdint.h>
12 #include <atomic>
13 #include "../dependencies/bayesfilter/src/BayesianFilter.h"
14 
15 template<typename T>
16 class rapidStream {
17 public:
18 
22  rapidStream();
27  rapidStream(int windowSize);
28 
29  ~rapidStream();
30 
34  void clear();
35 
39  void pushToWindow(T input);
40 
44  T velocity();
45 
49  T acceleration();
50 
54  T minimum();
55 
59  T maximum();
60 
64  T sum();
65 
69  T mean();
70 
75 
79  T rms();
80 
84  T bayesFilter(T inputValue);
85  void bayesSetDiffusion(float logDiffusion);
86  void bayesSetJumpRate(float jump_rate);
87  void bayesSetMVC(float mvc);
88 
92  T minVelocity();
93 
97  T maxVelocity();
98 
102  T minAcceleration();
103 
107  T maxAcceleration();
108 
109 private:
110  uint32_t windowSize;
111  std::atomic<uint32_t> windowIndex;
112  T *circularWindow;
113 
114  T calcCurrentVel(int i);
115 
116  BayesianFilter bayesFilt;
117 };
118 
119 
120 #endif
void clear()
Definition: rapidStream.cpp:50
~rapidStream()
Definition: rapidStream.cpp:45
T maxVelocity()
Definition: rapidStream.cpp:175
Definition: rapidStream.h:16
T acceleration()
Definition: rapidStream.cpp:75
T minimum()
Definition: rapidStream.cpp:80
void bayesSetDiffusion(float logDiffusion)
Definition: rapidStream.cpp:144
T mean()
Definition: rapidStream.cpp:112
T minVelocity()
Definition: rapidStream.cpp:163
T maximum()
Definition: rapidStream.cpp:91
rapidStream()
Definition: rapidStream.cpp:35
T velocity()
Definition: rapidStream.cpp:70
T bayesFilter(T inputValue)
Definition: rapidStream.cpp:137
T sum()
Definition: rapidStream.cpp:102
void bayesSetMVC(float mvc)
Definition: rapidStream.cpp:156
void pushToWindow(T input)
Definition: rapidStream.cpp:59
T minAcceleration()
Definition: rapidStream.cpp:187
T standardDeviation()
Definition: rapidStream.cpp:117
void bayesSetJumpRate(float jump_rate)
Definition: rapidStream.cpp:150
T rms()
Definition: rapidStream.cpp:127
T maxAcceleration()
Definition: rapidStream.cpp:202