MayaFlux 0.3.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches
Convolution.hpp File Reference
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  MayaFlux
 Main namespace for the Maya Flux audio engine.
 
namespace  MayaFlux::Kinesis
 
namespace  MayaFlux::Kinesis::Discrete
 

Typedefs

using MayaFlux::Kinesis::Discrete::ConvolutionProcessor = std::function< void(const std::vector< std::complex< double > > &signal_fft, const std::vector< std::complex< double > > &kernel_fft, std::vector< std::complex< double > > &result_fft)>
 Frequency-domain processor callback for apply_convolution.
 

Functions

std::vector< double > MayaFlux::Kinesis::Discrete::apply_convolution (std::span< const double > src, std::span< const double > kernel, const ConvolutionProcessor &processor, bool full_size=false)
 Core FFT convolution engine.
 
std::vector< double > MayaFlux::Kinesis::Discrete::convolve (std::span< const double > src, std::span< const double > ir)
 Linear FFT convolution.
 
std::vector< double > MayaFlux::Kinesis::Discrete::cross_correlate (std::span< const double > src, std::span< const double > tmpl, bool normalize=true)
 Cross-correlation via FFT.
 
std::vector< double > MayaFlux::Kinesis::Discrete::matched_filter (std::span< const double > src, std::span< const double > reference)
 Matched filter (normalised cross-correlation)
 
std::vector< double > MayaFlux::Kinesis::Discrete::deconvolve (std::span< const double > src, std::span< const double > ir, double regularization=1e-6)
 Frequency-domain deconvolution with Tikhonov regularisation.
 
std::vector< double > MayaFlux::Kinesis::Discrete::auto_correlate (std::span< const double > src, bool normalize=true)
 Auto-correlation via FFT.