Time-series feature extraction in Rust.

FerroWave gives time-series systems a Rust feature layer for multi-scale behavior, denoising, regime changes, and online inference.

Why this needs production signal processing

!

Feature pipelines often split between Python research and separate production code.

!

Simple rolling statistics miss localized jumps, regime shifts, and scale-specific variance.

!

Production systems need features that are repeatable, inspectable, and fast.

How FerroWave handles it

01

Choose a transform

Pick a wavelet, packet, continuous, or adaptive decomposition based on the signal behavior.

02

Summarize by scale

Generate features from coefficients, energy bands, modes, ridges, or denoised reconstructions.

03

Feed the model

Use the features in classical models, CNN inputs, streaming inference, or downstream analytics.

What makes this FerroWave-shaped

FerroWave includes classical and adaptive transform families.

Streaming performance is part of the public benchmark story.

AI/ML feature use is first-class site copy, not an afterthought.

Common concerns

Why wavelets for time-series features?

Wavelets expose local behavior at multiple scales, which can be useful when signals are non-stationary or noisy.

Does FerroWave require Python at runtime?

No. The library is positioned as pure Rust while staying pinned against Python reference behavior where appropriate.