6 releases

Uses new Rust 2024

0.0.1-alpha.12 Dec 18, 2025
0.0.1-alpha.10 Nov 28, 2025
0.0.1-alpha.9 Oct 31, 2025
0.0.1-alpha.8 Aug 8, 2025
0.0.1-alpha.3 Jul 9, 2024

#2 in #point-cloud-processing

41 downloads per month
Used in 11 crates (7 directly)

MIT/Apache

220KB
4K SLoC

epoint

Library for processing 3D point clouds.

The library is at an early stage of development.

Contributing

The library is developed at the TUM Chair of Geoinformatics and contributions are highly welcome.


lib.rs:

epoint is a library for processing 3D point clouds.

Overview

Data structure

For serializing a point cloud, this data structure is used:

  • point_cloud_name.tar (uncompressed as tarball) or point_cloud_name.epoint (compressed)
    • point_data.xyz (uncompressed) or point_data.parquet (compressed)
      • mandatory fields:
        • x [f64]: X coordinate
        • y [f64]: Y coordinate
        • z [f64]: Z coordinate
      • optional fields: Timestamp, unique id, color
        • id [u64]: Identifier for an individual point
        • frame_id [String]: Coordinate frame the point is defined in
        • timestamp_sec [i64]: UNIX timestamp: non-leap seconds since January 1, 1970 0:00:00 UTC
        • timestamp_nanosec [u32]: Nanoseconds since the last whole non-leap second
        • intensity [f32]: Representation of the pulse return magnitude
          • ROS uses [f32] and is thus preferred
          • LAS uses [u16]
          • PDAL uses [u16]
        • sensor_translation_x [f64]: Sensor translation X coordinate
        • sensor_translation_y [f64]: Sensor translation Y coordinate
        • sensor_translation_z [f64]: Sensor translation Z coordinate
        • color_red [u16]: Red image channel value
        • color_green [u16]: Green image channel value
        • color_blue [u16]: Blue image channel value
    • info.json (uncompressed) or info.json.zst (compressed)
      • mandatory fields:
      • optional fields:
        • frame_id [String]: Coordinate frame valid for all points (point data must not contain a frame_id column then)
    • ecoord.json (uncompressed) or ecoord.json.zst (compressed)
      • contains a transformation tree with validity durations
      • information: srid
      • purpose: Translate and rotate the point cloud without reading/writing the point data

Data structure

To simplify the interoperability to other systems or formats, the field names try to follow:

Dependencies

~85MB
~1.5M SLoC