Expand description
§LEPCC - Limited Error Point Cloud Compression
A Rust implementation of the LEPCC compression algorithm originally developed by Esri. This library provides lossless compression for 3D point cloud data including coordinates, colors, intensity, and flag bytes.
§Features
- XYZ Compression: Lossy compression of 3D coordinates with configurable error tolerance
- RGB Compression: Color clustering and quantization with up to 3x compression
- Intensity Compression: Lossless compression of intensity values
- Flag Bytes Compression: Lossless compression of flag/class data
- I3S Format Support: Compatible with I3S point cloud format (.pccxyz and .pccrgb)
§Example
ⓘ
use lepcc::prelude::*;
// Compress XYZ coordinates with 1cm accuracy
let points = vec![
[0.0, 0.0, 0.0],
[1.0, 1.0, 1.0],
// ... more points
];
let compressed = compress_xyz(&points, 0.01, 0.01, 0.01)?;
// Decompress
let decompressed = decompress_xyz(&compressed)?;Re-exports§
pub use error::LepccError;pub use error::Result;pub use types::*;pub use api::*;
Modules§
- api
- High-level API for LEPCC compression and decompression
- bit_
mask - BitMask - Convenient and fast access to binary mask bits
- bit_
stuffer2 - BitStuffer2 - Bit level compression for unsigned integer arrays
- cluster_
rgb - ClusterRGB - Color compression using quantization/clustering
- common
- Common utilities - Fletcher’s checksum
- error
- Error types for LEPCC operations
- flag_
bytes - FlagBytes compression implementation
- huffman
- Huffman coding implementation
- intensity
- Intensity compression implementation
- lepcc_
xyz - LEPCC XYZ compression implementation - Simplified version for testing
- prelude
- Prelude module for common imports
- types
- Type definitions for LEPCC library