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

◆ dynamic_range_per_channel()

MAYAFLUX_API std::vector< double > MayaFlux::dynamic_range_per_channel ( const std::vector< Kakshya::DataVariant > &  channels)

Calculate dynamic range per channel for multi-channel data.

Parameters
channelsVector of channel data
Returns
Vector of dynamic range values in dB, one per channel

Definition at line 231 of file Yantra.cpp.

232{
233 static const auto s_op = [] {
234 auto a = std::make_shared<Yantra::StandardEnergyAnalyzer>();
235 a->set_energy_method(Yantra::EnergyMethod::DYNAMIC_RANGE);
236 return a;
237 }();
238 auto result = s_op->analyze_energy(channels);
239 std::vector<double> ranges;
240
241 ranges.reserve(result.channels.size());
242 for (const auto& ch : result.channels) {
243 ranges.push_back(ch.energy_values.empty() ? 0.0 : ch.energy_values[0]);
244 }
245
246 return ranges;
247}
size_t a
RangeSet ranges

References a, MayaFlux::Yantra::DYNAMIC_RANGE, and ranges.