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

◆ extract_windowed_data_by_indices()

std::vector< std::vector< double > > MayaFlux::Yantra::extract_windowed_data_by_indices ( const std::vector< std::span< const double > > &  data,
const std::vector< size_t > &  window_indices,
uint32_t  window_size = 512 
)

Extract specific data windows by indices.

Parameters
dataInput data span
window_indicesVector of starting indices for windows
window_sizeSize of each window
Returns
Vector of data segments from specified windows

Definition at line 420 of file ExtractionHelper.cpp.

424{
425 std::vector<std::vector<double>> result;
426 result.reserve(data.size());
427
428 for (const auto& channel : data) {
429 std::vector<double> channel_windows;
430 if (channel.empty() || window_size == 0) {
431 result.emplace_back();
432 continue;
433 }
434
435 for (size_t start_idx : window_indices) {
436 if (start_idx + window_size <= channel.size()) {
437 auto window_span = channel.subspan(start_idx, window_size);
438 channel_windows.insert(channel_windows.end(), window_span.begin(), window_span.end());
439 }
440 }
441 result.push_back(std::move(channel_windows));
442 }
443
444 return result;
445}