signal_features — ONED signal op

Data kinds: signaltable

Call: import fullseye as fs; fs.ledger.signal_features(x, rate=1.0) (to call the implementation directly, import dsp; dsp.signal_features(x, rate=1.0); from the registry, ops1d.get("signal_features"))

Usage

A compact acoustic/vibration feature vector for anomaly detection: `rms, peak, crest_factor, zcr, spectral_centroid (Hz), peak_freq (Hz), bandwidth (Hz). All finite — a NaN / Inf sample raises ValueError` rather than producing NaN features; empty signal -> zeros.

The three spectral entries are built on :func:spectrum, but every one of

them is a *ratio* of magnitudes (`argmax`, a magnitude-weighted mean, a

magnitude-weighted spread), so the raw `|rfft|` convention documented there

cancels out and these numbers are unaffected by it. `rms, peak` and

`crest_factor` are computed in the time domain and never touch the FFT.

References (sample data, literature)

• Sample-data catalog (download URLs / licences) — 2-D uses skimage.data (BSD/public domain) plus synthetic images; 3-D lists download URLs for real data sources (Stanford, PDS, …).

• Operator provenance and references — the sources of the research/methods this op family came from.

• The canonical algorithm (author, year) and its uses are named in the family usage guide above.

Runnable examples (verified samples that actually call this op)

• (none yet)

Ops the type connects to (they accept table as input)

Same category (signal)

lowpass · highpass · bandpass · envelope · rms · local_std · quantize · companding_mu_law


*Provenance: dsp.py — ONED operator registry. This per-op note is generated by tools/opdocs.py md (do not hand-edit).*

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.