Crate iron_wave

Crate iron_wave 

Source
Expand description

Production-ready wavelet transforms for signal processing

IronWave provides high-performance wavelet analysis with SIMD acceleration and comprehensive signal processing capabilities.

§Quick Start

use iron_wave::{Signal, Haar, dwt, idwt, BoundaryMode};

let signal = Signal::from_slice(&[1.0, 2.0, 3.0, 4.0]);
let haar = Haar::new();

// Forward transform
let coeffs = dwt(&signal, &haar, BoundaryMode::Periodic)?;

// Perfect reconstruction
let reconstructed = idwt(&coeffs.approximation, &coeffs.detail,
                        &haar, BoundaryMode::Periodic)?;

§Transform Types

  • DWT/IDWT: Fast discrete wavelet transform with perfect reconstruction
  • MODWT/IMODWT: Shift-invariant transform ideal for time series analysis
  • SWT/ISWT: Redundant transform using à trous algorithm
  • CWT: Continuous wavelet transform for time-frequency analysis

§Supported Wavelets

  • Haar: Jump detection, signal discontinuities
  • Daubechies (Db2, Db4, Db6, Db8): General purpose analysis
  • Symlets (Sym2-Sym8): Minimal phase distortion for trend analysis
  • Coiflets (Coif1-Coif5): Near-symmetric for polynomial trends
  • Biorthogonal (CDF 5/3, CDF 9/7): Fast lifting scheme implementation

§Performance

  • DWT: 35μs for 10K samples (Haar)
  • MODWT: 156μs for 10K samples (Db4)
  • Denoising: 95μs for 10K samples

Re-exports§

pub use error::Result;
pub use error::WaveletError;
pub use io::SignalReader;
pub use io::SignalWriter;
pub use memory::AlignedBuffer;
pub use signal::Signal;
pub use signal::SignalType;
pub use transform::dwt;
pub use transform::dwt;
pub use transform::dwt_multilevel;
pub use transform::idwt;
pub use transform::idwt_multilevel;
pub use transform::BoundaryMode;
pub use transform::DWTResult;
pub use transform::MultilevelDWTResult;
pub use transform::TransformConfig;
pub use wavelets::Biorthogonal;
pub use wavelets::BiorthogonalType;
pub use wavelets::Coiflet;
pub use wavelets::Daubechies;
pub use wavelets::DaubechiesType;
pub use wavelets::Haar;
pub use wavelets::Symlet;
pub use wavelets::Wavelet;

Modules§

analysis
Signal Analysis Module
decomposition
Signal Decomposition Module
error
io
memory
signal
streaming
Streaming wavelet transform for real-time signal processing
transform
Wavelet transform implementations
wavelets
Wavelet families