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

◆ dynamic_range() [2/2]

MAYAFLUX_API double MayaFlux::dynamic_range ( const std::vector< double > &  data)

Calculate dynamic range (max/min ratio in dB) of single-channel data.

Parameters
dataInput data
Returns
Dynamic range in dB

Definition at line 166 of file Yantra.cpp.

167{
168 auto analyzer = std::make_shared<Yantra::StandardEnergyAnalyzer>();
169 analyzer->set_energy_method(Yantra::EnergyMethod::DYNAMIC_RANGE);
170 auto result = analyzer->analyze_energy({ Kakshya::DataVariant(data) });
171 return result.channels.empty() || result.channels[0].energy_values.empty() ? 0.0 : result.channels[0].energy_values[0];
172}
std::variant< std::vector< double >, std::vector< float >, std::vector< uint8_t >, std::vector< uint16_t >, std::vector< uint32_t >, std::vector< std::complex< float > >, std::vector< std::complex< double > >, std::vector< glm::vec2 >, std::vector< glm::vec3 >, std::vector< glm::vec4 >, std::vector< glm::mat4 > > DataVariant
Multi-type data storage for different precision needs.
Definition NDData.hpp:73

References MayaFlux::Yantra::DYNAMIC_RANGE.