nk 1.0.0
C++ Numerical Computing Runtime
Loading...
Searching...
No Matches
moving.hpp
Go to the documentation of this file.
1// toolboxes/stats/include/nk/stats/moving/moving.hpp
2//
3// Moving / sliding-window statistics.
4
5#pragma once
6
7#include <memory_resource>
8#include <nk/value/span.hpp>
9#include <nk/value/value.hpp>
10
11#include <string>
12
13namespace nk::stats {
14
17
18
36
50Value movmean(const Value &x, Span<const size_t> k, int dim = 0,
51 std::pmr::memory_resource *mr = nullptr);
52
64Value movmedian(const Value &x, Span<const size_t> k, int dim = 0,
65 std::pmr::memory_resource *mr = nullptr);
66
76Value movsum(const Value &x, Span<const size_t> k, int dim = 0,
77 std::pmr::memory_resource *mr = nullptr);
78
88Value movmin(const Value &x, Span<const size_t> k, int dim = 0,
89 std::pmr::memory_resource *mr = nullptr);
90
100Value movmax(const Value &x, Span<const size_t> k, int dim = 0,
101 std::pmr::memory_resource *mr = nullptr);
102
117Value movstd(const Value &x, Span<const size_t> k, int normFlag = 0, int dim = 0,
118 std::pmr::memory_resource *mr = nullptr);
119
133Value movvar(const Value &x, Span<const size_t> k, int normFlag = 0, int dim = 0,
134 std::pmr::memory_resource *mr = nullptr);
135
147Value movmad(const Value &x, Span<const size_t> k, int dim = 0,
148 std::pmr::memory_resource *mr = nullptr);
149
159Value movprod(const Value &x, Span<const size_t> k, int dim = 0,
160 std::pmr::memory_resource *mr = nullptr);
161
181Value smoothdata(const Value &x, const std::string &method = "movmean",
182 int k = 0, int dim = 0,
183 std::pmr::memory_resource *mr = nullptr);
184
199Value hampel(const Value &x, int k = 3, double nsigmas = 3.0,
200 std::pmr::memory_resource *mr = nullptr);
201
202
204} // namespace nk::stats
Core MATLAB-compatible multidimensional array and scalar value type.
Definition value.hpp:61
Value movsum(const Value &x, Span< const size_t > k, int dim=0, std::pmr::memory_resource *mr=nullptr)
Moving sum along dim (y = movsum(x, k)).
Value hampel(const Value &x, int k=3, double nsigmas=3.0, std::pmr::memory_resource *mr=nullptr)
Hampel outlier-resilient median filter (y = hampel(x, k, nsigmas)).
Value movmax(const Value &x, Span< const size_t > k, int dim=0, std::pmr::memory_resource *mr=nullptr)
Moving maximum along dim (y = movmax(x, k)).
Value movmean(const Value &x, Span< const size_t > k, int dim=0, std::pmr::memory_resource *mr=nullptr)
Moving mean along dim (y = movmean(x, k)).
Value movstd(const Value &x, Span< const size_t > k, int normFlag=0, int dim=0, std::pmr::memory_resource *mr=nullptr)
Moving standard deviation along dim (y = movstd(x, k, normFlag)).
Value smoothdata(const Value &x, const std::string &method="movmean", int k=0, int dim=0, std::pmr::memory_resource *mr=nullptr)
Method-dispatching data smoother (y = smoothdata(x, method, k)).
Value movprod(const Value &x, Span< const size_t > k, int dim=0, std::pmr::memory_resource *mr=nullptr)
Moving product along dim (y = movprod(x, k)).
Value movmedian(const Value &x, Span< const size_t > k, int dim=0, std::pmr::memory_resource *mr=nullptr)
Moving median along dim (y = movmedian(x, k)).
Value movmin(const Value &x, Span< const size_t > k, int dim=0, std::pmr::memory_resource *mr=nullptr)
Moving minimum along dim (y = movmin(x, k)).
Value movvar(const Value &x, Span< const size_t > k, int normFlag=0, int dim=0, std::pmr::memory_resource *mr=nullptr)
Moving variance along dim (y = movvar(x, k, normFlag)).
Value movmad(const Value &x, Span< const size_t > k, int dim=0, std::pmr::memory_resource *mr=nullptr)
Moving mean absolute deviation (y = movmad(x, k)).