#buffer #raster #cells #cell #pixel #graphics #nodata

erased-cells

Create to enable manipulation of heterogeneous values and buffers of Rust primitive numeric types

2 releases

0.1.1 Dec 13, 2023
0.1.0 Dec 12, 2023

#176 in Geospatial

MIT license

82KB
2K SLoC

Erased Buffers

Build Status Test Coverage Latest Version Documentation

Enables the use and manipulation of type-erased buffers of Rust primitives.

Please refer to the documentation for details.

Quick Example

use erased_cells::CellBuffer;

fn main() {
    // Create a buffer with u8 values.
    let buf1 = CellBuffer::from(vec![1u8, 2, 3]);
    // Create a buffer with u16 values.
    let buf2 = CellBuffer::from(vec![2u16, 4, 6]);
    // Perform element-wise and scalar math. Division coerces buffer to f64. 
    let result = buf1 / buf2 * 0.5;
    // Expected result:
    assert_eq!(result, vec![0.25, 0.25, 0.25].into());
}

See here in the documentation for additional examples.

Dependencies

~0.5–1.1MB
~25K SLoC