MayaFlux 1.0.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 764 of file StatisticalAnalyzer.hpp.

766{
767 if (analysis.channel_statistics.empty())
768 return 0.0;
769
770 const auto& ch = analysis.channel_statistics[0];
771 const std::string q = qualifier.empty() ? "mean_stat" : qualifier;
772
773 if (q == "mean_stat")
774 return ch.mean_stat;
775 if (q == "max_stat")
776 return ch.max_stat;
777 if (q == "min_stat")
778 return ch.min_stat;
779 if (q == "variance")
780 return ch.stat_variance;
781 if (q == "std_dev")
782 return ch.stat_std_dev;
783 if (q == "skewness")
784 return ch.skewness;
785 if (q == "kurtosis")
786 return ch.kurtosis;
787 if (q == "median")
788 return ch.median;
789 if (q == "window_count")
790 return static_cast<double>(ch.statistical_values.size());
791
792 return ch.mean_stat;
793}
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: