MayaFlux 0.5.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches
MayaFlux::Kinesis::Vision::KernelSpec< N > Struct Template Reference

Compile-time 1D separable filter kernel. More...

#include <KernelSpec.hpp>

+ Collaboration diagram for MayaFlux::Kinesis::Vision::KernelSpec< N >:

Public Member Functions

template<size_t M>
constexpr KernelSpec< N+M - 1 > convolve (const KernelSpec< M > &other) const noexcept
 Convolve this kernel with another of the same length.
 
constexpr const float * data () const noexcept
 
constexpr KernelSpec ()=default
 
template<typename... Ts>
requires (sizeof...(Ts) == N) && (std::is_convertible_v<Ts, float> && ...)
constexpr KernelSpec (Ts... values) noexcept
 
constexpr KernelSpec negate () const noexcept
 Negate all taps.
 
constexpr KernelSpec normalize () const noexcept
 Divide all taps by their sum.
 
constexpr operator std::span< const float > () const noexcept
 
constexpr KernelSpec reflect () const noexcept
 Reverse tap order.
 
constexpr KernelSpec scale (float s) const noexcept
 Multiply all taps by a scalar.
 
constexpr KernelSpec shift (float s) const noexcept
 Add a scalar to all taps.
 
constexpr size_t size () const noexcept
 
constexpr std::span< const float > span () const noexcept
 

Public Attributes

std::array< float, Ntaps {}
 

Static Public Attributes

static constexpr size_t half = N / 2
 
static constexpr size_t length = N
 

Detailed Description

template<size_t N>
struct MayaFlux::Kinesis::Vision::KernelSpec< N >

Compile-time 1D separable filter kernel.

Template Parameters
NKernel length. Must be odd and >= 1.

Definition at line 33 of file KernelSpec.hpp.


The documentation for this struct was generated from the following file: