E57 is a compact, non-proprietary point cloud format that's defined by the ASTM E2807 standard. This format is widely adopted by 3D design applications.
This python library wraps the rust e57 library to provide file reading
read_points
method.pip install e57
>>> import e57
>>> pc = e57.read_points(r"pointcloud.e57")
>>> pc.points
array([[-23.25304444, -28.17607415, -13.44830654],
[-23.28290139, -28.02118905, -13.44237764],
[-23.26799723, -27.9039115 , -13.43430738],
...,
[ 23.2458152 , 25.4866642 , 12.45043932],
[ 23.22830673, 25.58055374, 12.49285875],
[ 23.25270363, 25.45909652, 12.54284554]])
>>> pc.color
array(([0.3019608 , 0.3529412 , 0.23137255],
[0.21176471, 0.26666668, 0.12941177],
[0.21960784, 0.27058825, 0.13333334],
...,
[0.5803922 , 0.58431375, 0.49019608],
[0.41568628, 0.43529412, 0.33333334],
[0.21568628, 0.25882354, 0.1254902 ]], dtype=float32)
We need a tutorial - could you write one based on our tests?
All contributions welcome - feature requests, bug reports, documentation, sample files, tests, rust code, python code, sharing the project online / via social media, ...
python -m pytest