MayaFlux 0.3.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches

◆ mean()

std::vector< double > MayaFlux::Kinesis::Discrete::mean ( std::span< const double >  data,
size_t  n_windows,
uint32_t  hop_size,
uint32_t  window_size 
)

Arithmetic mean per window.

Definition at line 200 of file Analysis.cpp.

201{
202 std::vector<double> out(n_windows);
203 std::vector<size_t> idx(n_windows);
204 std::iota(idx.begin(), idx.end(), 0);
205
206 Parallel::for_each(Parallel::par_unseq, idx.begin(), idx.end(),
207 [&](size_t i) {
208 const size_t start = i * hop_size;
209 auto w = data.subspan(start, std::min<size_t>(window_size, data.size() - start));
210 double s = 0.0;
211 for (double v : w)
212 s += v;
213 out[i] = s / static_cast<double>(w.size());
214 });
215
216 return out;
217}

References MayaFlux::mean().

Referenced by MayaFlux::Yantra::extract_above_mean(), and MayaFlux::Yantra::extract_outliers().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: