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

◆ windowed_by_indices()

std::vector< double > MayaFlux::Kinesis::Discrete::windowed_by_indices ( std::span< const double >  data,
const std::vector< size_t > &  window_starts,
uint32_t  window_size 
)

Extract windows at specific starting indices as a flat concatenated vector.

Parameters
dataSource span
window_startsStarting sample indices
window_sizeSamples per window
Returns
Concatenated window data

Definition at line 101 of file Extract.cpp.

105{
106 std::vector<double> out;
107 if (window_size == 0)
108 return out;
109
110 out.reserve(window_starts.size() * window_size);
111 for (size_t s : window_starts) {
112 if (s + window_size <= data.size()) {
113 out.insert(out.end(), data.begin() + s, data.begin() + s + window_size);
114 }
115 }
116
117 return out;
118}