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 720 of file StatisticalAnalyzer.hpp.

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