|
MayaFlux 0.2.0
Digital-First Multimedia Processing Framework
|
#include "MayaFlux/Nodes/Filters/FIR.hpp"#include "MayaFlux/Yantra/OperationSpec/OperationHelper.hpp"#include <unsupported/Eigen/FFT>
Include dependency graph for ConvolutionHelper.hpp:
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::Yantra |
Functions | |
| template<typename OperationFunc > | |
| std::vector< double > | MayaFlux::Yantra::fft_convolve_helper (std::span< const double > data_span, std::span< const double > kernel, OperationFunc &&operation, bool return_full_size=true) |
| Common FFT convolution helper to eliminate code duplication. | |
| template<OperationReadyData DataType> | |
| DataType | MayaFlux::Yantra::transform_convolve_with_fir (DataType &input, const std::vector< double > &impulse_response) |
| Direct convolution using existing FIR filter infrastructure (IN-PLACE) This leverages the existing, well-tested filter implementation. | |
| template<OperationReadyData DataType> | |
| DataType | MayaFlux::Yantra::transform_convolve_with_fir (DataType &input, const std::vector< double > &impulse_response, std::vector< std::vector< double > > &working_buffer) |
| Direct convolution using existing FIR filter infrastructure (OUT-OF-PLACE) This leverages the existing, well-tested filter implementation. | |
| template<OperationReadyData DataType> | |
| DataType | MayaFlux::Yantra::transform_convolve (DataType &input, const std::vector< double > &impulse_response) |
| Convolution transformation using existing infrastructure with C++20 ranges (IN-PLACE) | |
| template<OperationReadyData DataType> | |
| DataType | MayaFlux::Yantra::transform_convolve (DataType &input, const std::vector< double > &impulse_response, std::vector< std::vector< double > > &working_buffer) |
| Convolution transformation using existing infrastructure with C++20 ranges (OUT-OF-PLACE) | |
| template<OperationReadyData DataType> | |
| DataType | MayaFlux::Yantra::transform_cross_correlate (DataType &input, const std::vector< double > &template_signal, bool normalize=true) |
| Cross-correlation using FFT (convolution with time-reversed impulse) (IN-PLACE) | |
| template<OperationReadyData DataType> | |
| DataType | MayaFlux::Yantra::transform_cross_correlate (DataType &input, const std::vector< double > &template_signal, bool normalize, std::vector< std::vector< double > > &working_buffer) |
| Cross-correlation using FFT (convolution with time-reversed impulse) (OUT-OF-PLACE) | |
| template<OperationReadyData DataType> | |
| DataType | MayaFlux::Yantra::transform_auto_correlate_fft (DataType &input, bool normalize=true) |
| Auto-correlation using FFT (IN-PLACE) | |
| template<OperationReadyData DataType> | |
| DataType | MayaFlux::Yantra::transform_auto_correlate_fft (DataType &input, std::vector< std::vector< double > > &working_buffer, bool normalize=true) |
| Auto-correlation using FFT (OUT-OF-PLACE) | |
| template<OperationReadyData DataType> | |
| DataType | MayaFlux::Yantra::transform_matched_filter (DataType &input, const std::vector< double > &reference_signal) |
| Matched filter using cross-correlation for signal detection (IN-PLACE) | |
| template<OperationReadyData DataType> | |
| DataType | MayaFlux::Yantra::transform_matched_filter (DataType &input, const std::vector< double > &reference_signal, std::vector< std::vector< double > > &working_buffer) |
| Matched filter using cross-correlation for signal detection (OUT-OF-PLACE) | |
| template<OperationReadyData DataType> | |
| DataType | MayaFlux::Yantra::transform_deconvolve (DataType &input, const std::vector< double > &impulse_to_remove, double regularization=1e-6) |
| Deconvolution using frequency domain division (IN-PLACE) Useful for removing known impulse responses. | |
| template<OperationReadyData DataType> | |
| DataType | MayaFlux::Yantra::transform_deconvolve (DataType &input, const std::vector< double > &impulse_to_remove, double regularization, std::vector< std::vector< double > > &working_buffer) |
| Deconvolution using frequency domain division (OUT-OF-PLACE) Useful for removing known impulse responses. | |