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

◆ normalize()

template<size_t N>
constexpr KernelSpec MayaFlux::Kinesis::Vision::KernelSpec< N >::normalize ( ) const
inlineconstexprnoexcept

Divide all taps by their sum.

Produces a unit-sum kernel suitable for smoothing passes. No-op if sum is zero.

Definition at line 65 of file KernelSpec.hpp.

66 {
67 float sum = 0.0F;
68 for (float v : taps)
69 sum += v;
70 if (sum == 0.0F)
71 return *this;
72 KernelSpec out;
73 for (size_t i = 0; i < N; ++i)
74 out.taps[i] = taps[i] / sum;
75 return out;
76 }
#define N(method_name, full_type_name)
Definition Creator.hpp:106
std::vector< double > sum(std::span< const double > data, size_t n_windows, uint32_t hop_size, uint32_t window_size)
Sum per window.
Definition Analysis.cpp:469

References N, and MayaFlux::Kinesis::Vision::KernelSpec< N >::taps.