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

◆ compute_cv_statistic()

std::vector< double > MayaFlux::Yantra::compute_cv_statistic ( std::span< const double >  data,
const size_t  num_windows,
const uint32_t  hop_size,
const uint32_t  window_size,
bool  sample_variance 
)

Compute CV (Coefficient of Variation) statistic using zero-copy processing.

Definition at line 789 of file AnalysisHelper.cpp.

790{
791 auto mean_vals = compute_mean_statistic(data, num_windows, hop_size, window_size);
792 auto std_vals = compute_std_dev_statistic(data, num_windows, hop_size, window_size, sample_variance);
793
794 std::vector<double> cv_values(num_windows);
795 std::transform(std::execution::par_unseq, mean_vals.begin(), mean_vals.end(), std_vals.begin(), cv_values.begin(),
796 [](double mean, double std_dev) {
797 return (std::abs(mean) > 1e-15) ? std_dev / mean : 0.0;
798 });
799
800 return cv_values;
801}
std::vector< double > compute_std_dev_statistic(std::span< const double > data, const size_t num_windows, const uint32_t hop_size, const uint32_t window_size, bool sample_variance)
Compute standard deviation statistic using zero-copy processing.
std::vector< double > compute_mean_statistic(std::span< const double > data, const size_t num_windows, const uint32_t hop_size, const uint32_t window_size)
Compute mean statistic using zero-copy processing.

References compute_cv_statistic(), compute_mean_statistic(), compute_std_dev_statistic(), MayaFlux::mean(), and MayaFlux::std_dev().

Referenced by compute_cv_statistic(), and MayaFlux::Yantra::StatisticalAnalyzer< InputType, OutputType >::compute_statistical_values().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: