waveform is a set of waveform image renderers written in Rust.
It is speed-oriented for heavy use.
- 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
)
- Cached rendering
- Guarantee thread safety (it probably is...)
- Memory/time optimizations
Requests and contributions are welcome!
# Demonstrates rendering using a single BinnedWaveformRenderer.
cargo run --features "example-gui" --example binned
# The same but by using a MultiWaveformRenderer, which is
# a combination of multiple BinnedWaveformRenderers.
cargo run --features "example-gui" --example multi
Licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.