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

◆ update_mad()

double MayaFlux::Kinesis::Stochastic::Estimate::update_mad ( double  sample)
private

Definition at line 103 of file Estimate.cpp.

104{
105 m_history.push(sample);
106 const auto view = m_history.linearized_view();
107
108 std::vector<double> sorted(view.begin(), view.end());
109 std::ranges::sort(sorted);
110 const double median = sorted[sorted.size() / 2];
111
115
116 return m_state.floor;
117}
Memory::HistoryBuffer< double > m_history
Definition Estimate.hpp:400
static double median_absolute_deviation(std::span< const double > samples) noexcept
Median absolute deviation of a span.
Definition Estimate.cpp:229
std::span< T > linearized_view()
Get mutable linearized view of entire history.
void push(const T &value)
Push new value to front of history.
std::vector< double > median(std::span< const double > data, size_t n_windows, uint32_t hop_size, uint32_t window_size)
Median per window via nth_element partial sort.
Definition Analysis.cpp:325

References MayaFlux::Kinesis::Stochastic::EstimateState::filtered_value, MayaFlux::Kinesis::Stochastic::EstimateState::floor, MayaFlux::Memory::HistoryBuffer< T >::linearized_view(), m_history, m_state, median_absolute_deviation(), MayaFlux::Memory::HistoryBuffer< T >::push(), and MayaFlux::Kinesis::Stochastic::EstimateState::running_mean.

Referenced by update().

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