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

◆ magnitude_spectrum_per_channel()

std::vector< std::vector< double > > MayaFlux::magnitude_spectrum_per_channel ( const std::vector< Kakshya::DataVariant > &  channels,
size_t  window_size = 0 
)

Compute magnitude spectrum per channel for multi-channel data.

Parameters
channelsVector of channel data
window_sizeFFT size (0 = use data size)
Returns
Vector of magnitude spectra, one per channel

Definition at line 674 of file Yantra.cpp.

675{
676 auto a = std::make_shared<Yantra::StandardEnergyAnalyzer>();
677 a->set_energy_method(Yantra::EnergyMethod::SPECTRAL);
678 if (window_size > 0)
679 a->set_window_parameters(window_size, window_size / 2);
680 auto result = a->analyze_energy(channels);
681 std::vector<std::vector<double>> spectra;
682
683 spectra.reserve(result.channels.size());
684 for (const auto& ch : result.channels) {
685 spectra.push_back(ch.energy_values);
686 }
687 return spectra;
688}
size_t a

References a, and MayaFlux::Yantra::SPECTRAL.