Skip to main content

Read e57 files to Python. 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.

Project description

PyPI GitHub Python Version from PEP 621 TOML

E57 Python Library

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

  • Proof of concept xml reading
  • Read e57 point coordinates to numpy array - see read_points method.
  • Read color field to numpy array.
  • Read intensity to numpy array.
  • Read other fields to numpy array.
  • Write to e57 (format ?)

Getting Started

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?

Contributing

All contributions welcome - feature requests, bug reports, documentation, sample files, tests, rust code, python code, sharing the project online / via social media, ...

Testing

python -m pytest

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

e57-0.1.0a8.tar.gz (362.6 kB view hashes)

Uploaded Source

Built Distributions

e57-0.1.0a8-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (429.3 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

e57-0.1.0a8-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (441.4 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARM64

e57-0.1.0a8-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl (445.4 kB view hashes)

Uploaded PyPy manylinux: glibc 2.5+ i686

e57-0.1.0a8-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (429.2 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

e57-0.1.0a8-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (441.3 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARM64

e57-0.1.0a8-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl (445.3 kB view hashes)

Uploaded PyPy manylinux: glibc 2.5+ i686

e57-0.1.0a8-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (441.3 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARM64

e57-0.1.0a8-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (443.6 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARM64

e57-0.1.0a8-cp312-none-win_amd64.whl (279.7 kB view hashes)

Uploaded CPython 3.12 Windows x86-64

e57-0.1.0a8-cp312-none-win32.whl (261.8 kB view hashes)

Uploaded CPython 3.12 Windows x86

e57-0.1.0a8-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (429.2 kB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

e57-0.1.0a8-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (441.4 kB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ARM64

e57-0.1.0a8-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl (445.0 kB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.5+ i686

e57-0.1.0a8-cp312-cp312-macosx_11_0_arm64.whl (374.6 kB view hashes)

Uploaded CPython 3.12 macOS 11.0+ ARM64

e57-0.1.0a8-cp312-cp312-macosx_10_12_x86_64.whl (387.9 kB view hashes)

Uploaded CPython 3.12 macOS 10.12+ x86-64

e57-0.1.0a8-cp311-none-win_amd64.whl (279.9 kB view hashes)

Uploaded CPython 3.11 Windows x86-64

e57-0.1.0a8-cp311-none-win32.whl (262.0 kB view hashes)

Uploaded CPython 3.11 Windows x86

e57-0.1.0a8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (429.2 kB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

e57-0.1.0a8-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (440.9 kB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARM64

e57-0.1.0a8-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl (445.5 kB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.5+ i686

e57-0.1.0a8-cp311-cp311-macosx_11_0_arm64.whl (374.8 kB view hashes)

Uploaded CPython 3.11 macOS 11.0+ ARM64

e57-0.1.0a8-cp311-cp311-macosx_10_12_x86_64.whl (390.2 kB view hashes)

Uploaded CPython 3.11 macOS 10.12+ x86-64

e57-0.1.0a8-cp310-none-win_amd64.whl (280.0 kB view hashes)

Uploaded CPython 3.10 Windows x86-64

e57-0.1.0a8-cp310-none-win32.whl (262.0 kB view hashes)

Uploaded CPython 3.10 Windows x86

e57-0.1.0a8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (428.9 kB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

e57-0.1.0a8-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (441.0 kB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64

e57-0.1.0a8-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl (445.1 kB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.5+ i686

e57-0.1.0a8-cp310-cp310-macosx_11_0_arm64.whl (374.7 kB view hashes)

Uploaded CPython 3.10 macOS 11.0+ ARM64

e57-0.1.0a8-cp310-cp310-macosx_10_12_x86_64.whl (390.0 kB view hashes)

Uploaded CPython 3.10 macOS 10.12+ x86-64

e57-0.1.0a8-cp39-none-win_amd64.whl (279.9 kB view hashes)

Uploaded CPython 3.9 Windows x86-64

e57-0.1.0a8-cp39-none-win32.whl (262.7 kB view hashes)

Uploaded CPython 3.9 Windows x86

e57-0.1.0a8-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (429.5 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

e57-0.1.0a8-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (441.4 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARM64

e57-0.1.0a8-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl (445.4 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.5+ i686

e57-0.1.0a8-cp39-cp39-macosx_11_0_arm64.whl (374.7 kB view hashes)

Uploaded CPython 3.9 macOS 11.0+ ARM64

e57-0.1.0a8-cp39-cp39-macosx_10_12_x86_64.whl (389.7 kB view hashes)

Uploaded CPython 3.9 macOS 10.12+ x86-64

e57-0.1.0a8-cp38-none-win_amd64.whl (279.9 kB view hashes)

Uploaded CPython 3.8 Windows x86-64

e57-0.1.0a8-cp38-none-win32.whl (262.0 kB view hashes)

Uploaded CPython 3.8 Windows x86

e57-0.1.0a8-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (429.1 kB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

e57-0.1.0a8-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (440.8 kB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ARM64

e57-0.1.0a8-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl (445.9 kB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.5+ i686

e57-0.1.0a8-cp37-none-win_amd64.whl (279.8 kB view hashes)

Uploaded CPython 3.7 Windows x86-64

e57-0.1.0a8-cp37-none-win32.whl (261.9 kB view hashes)

Uploaded CPython 3.7 Windows x86

e57-0.1.0a8-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (428.9 kB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64

e57-0.1.0a8-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (440.6 kB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.17+ ARM64

e57-0.1.0a8-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl (445.8 kB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.5+ i686

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page