FerroWave
Denoise a signal
Use MODWT denoising to reduce micro-noise while preserving jumps.
Use MODWT denoising when the output must stay aligned with the input and jumps or regime shifts should remain sharp.
use ferro_wave::{Daubechies, DaubechiesType, Signal};
use ferro_wave::analysis::denoising::{
denoise_modwt, DenoiseConfig, ThresholdMethod, ThresholdRule,
};
let signal = Signal::from_slice(&tick_returns);
let wavelet = Daubechies::new(DaubechiesType::Db4);
let config = DenoiseConfig {
method: ThresholdMethod::Soft,
rule: ThresholdRule::Universal,
levels: 4,
..DenoiseConfig::default()
};
let clean = denoise_modwt(&signal, &wavelet, config)?;
assert_eq!(clean.len(), signal.len());
# Ok::<(), ferro_wave::WaveletError>(())Use the analysis API for diagnostic variants and threshold configuration.