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

◆ extract_scalar_statistics()

MAYAFLUX_API double MayaFlux::Yantra::extract_scalar_statistics ( const StatisticalAnalysis analysis,
const std::string &  qualifier 
)
inline

Extract a named scalar from a StatisticalAnalysis result.

Maps qualifier strings to scalar fields of the first channel in analysis. All scalar-valued fields of ChannelStatistics are addressable.

Supported qualifiers:

  • "mean_stat" arithmetic mean of the statistical values
  • "max_stat" maximum statistical value
  • "min_stat" minimum statistical value
  • "variance" variance of the statistical values
  • "std_dev" standard deviation
  • "skewness" third moment
  • "kurtosis" fourth moment
  • "median" 50th percentile
  • "window_count" number of analysis windows

An empty qualifier resolves to "mean_stat". Unknown qualifiers fall back to mean_stat.

Parameters
analysisResult produced by StatisticalAnalyzer.
qualifierName of the scalar to extract.
Returns
Extracted double value, or 0.0 if channel_statistics is empty.

Definition at line 721 of file StatisticalAnalyzer.hpp.

723{
724 if (analysis.channel_statistics.empty())
725 return 0.0;
726
727 const auto& ch = analysis.channel_statistics[0];
728 const std::string q = qualifier.empty() ? "mean_stat" : qualifier;
729
730 if (q == "mean_stat")
731 return ch.mean_stat;
732 if (q == "max_stat")
733 return ch.max_stat;
734 if (q == "min_stat")
735 return ch.min_stat;
736 if (q == "variance")
737 return ch.stat_variance;
738 if (q == "std_dev")
739 return ch.stat_std_dev;
740 if (q == "skewness")
741 return ch.skewness;
742 if (q == "kurtosis")
743 return ch.kurtosis;
744 if (q == "median")
745 return ch.median;
746 if (q == "window_count")
747 return static_cast<double>(ch.statistical_values.size());
748
749 return ch.mean_stat;
750}
double q
std::vector< ChannelStatistics > channel_statistics

References MayaFlux::Yantra::StatisticalAnalysis::channel_statistics, and q.

Referenced by MayaFlux::Yantra::Granular::AttributeOp::compute_grain_attribute().

+ Here is the caller graph for this function: