ezmsg.sigproc#
Timeseries signal processing modules for the ezmsg framework.
Overview#
ezmsg-sigproc provides signal processing primitives built on ezmsg, leveraging numpy, scipy, pywavelets, and sparse. The package offers both standalone processors for offline analysis and Unit wrappers for streaming pipelines.
Key features:
Filtering - Various filter implementations (Chebyshev, comb filters, etc.)
Spectral analysis - Spectrogram, spectrum, and wavelet transforms
Resampling - Downsample, decimate, and resample operations
Windowing - Sliding windows and buffering utilities
Math operations - Arithmetic, log, abs, difference, and more
Signal generation - Synthetic signal generators
All modules use ezmsg.util.messages.axisarray.AxisArray as the primary data structure for passing signals between components.
Note
Processors can be used standalone for offline analysis or integrated into ezmsg pipelines for real-time streaming applications.
Installation#
Install from PyPI:
pip install ezmsg-sigproc
Or install the latest development version:
pip install git+https://github.com/ezmsg-org/ezmsg-sigproc@dev
Dependencies#
Core dependencies:
ezmsg- Core messaging frameworknumpy- Numerical computingscipy- Scientific computing and signal processingpywavelets- Wavelet transformssparse- Sparse array operationsnumba- JIT compilation for performance
Quick Start#
For general ezmsg tutorials and guides, visit ezmsg.org.
For package-specific documentation:
Processor Architecture - See Processor Base Classes for details on the processor hierarchy
How-To Guides - See Signal Processing HOW TOs for usage patterns
API Reference - See API Reference for complete API documentation
Documentation#
Contents:
- Processor Base Classes
- Implementing a custom standalone processor
- Implementing a custom ezmsg Unit
- HybridBuffer
- HybridAxisBuffer
- HybridAxisArrayBuffer
- Signal Processing HOW TOs
- How to write a signal processor in ezmsg?
- How to implement a stateful signal processor in ezmsg?
- How to use ezmsg-sigproc signal processors outside of an ezmsg context?
- How to implement adaptive signal processing in ezmsg?
- How to efficiently chain multiple signal processors in ezmsg?
- How to turn a signal processor into an
ezmsgUnit? - How to use checkpoints for ezmsg signal processing Units that leverage ML models?
- Leveraging ezmsg For Signal Processing
- ezmsg-sigproc
- API Reference