waveform
waveform is a set of waveform image renderers written in Rust.
It is speed-oriented for heavy use.
Features
- Generation of bicolored raster images (outputs are either returned as
Vec<u8>
s or written into a slice)- RGB (
Vector3
) or RGBA (Vector4
) format images - Gray scale (
Scalar
) images for use as masks etc.
- RGB (
- Fast rendering from binned min/max amplitudes
- Multilevel binning for rendering in various resolutions
- Time-range specification in either seconds (
f64
) or samples (usize
)
Some TODOs
- Cached rendering
- Guarantee thread safety (it probably is...)
- Memory/time optimizations
Requests and contributions are welcome!
Screenshot
# Demonstrates rendering using a single BinnedWaveformRenderer.
# The same but by using a MultiWaveformRenderer, which is
# a combination of multiple BinnedWaveformRenderers.