Select your language

The E57 File Format: A Standardized, Compact Solution for Storing Point Clouds

The E57 file format is a compact and vendor-neutral format that is used for storing point clouds, images, and metadata produced by 3D imaging systems, such as laser scanners. This file format is specified by the ASTM, an international standards organization, and it is documented in the ASTM E2807 standard. The E57 format was developed by the Data Interoperability sub-committee of the ASTM E57 Committee on 3D Imaging Systems.

Introducing libE57: An Open-Source Implementation for Easier Adoption of the E57 Standard

The E57 format is becoming increasingly popular because of its ability to store a large amount of data in a small file size, making it ideal for archiving, transferring, and sharing point cloud data. This format uses a hierarchical tree structure, some of which is encoded in XML, and some of which is encoded in a binary format that is not XML. The bulk of the data, including point data and images, is encoded in the binary sections for efficiency, while metadata, such as sensor pose information, is encoded in XML.

APIs for Reading, Writing, and Manipulating E57 Files: Foundation vs. Simple

One of the greatest strengths of the E57 format is its extensibility. The E57 extension mechanism allows hardware developers to incorporate new features and differentiate their products. These extensions provide E57 application developers with new features above and beyond the features specified in the E2807 standard, keeping the format current with the latest innovations and technologies. Some of the extensions that have been defined include surface normals, camera distortion, terrain classification, time bounds, and infrared temperature.

The Extensibility of E57: Adding New Features and Keeping Up with Technological Innovations

The libE57 software is an open-source implementation of the ASTM E2807 Standard Specification for 3D Imaging Data Exchange (known as the E57 format hereafter) in the C++ language. It includes a library, supporting utilities and example programs, and documentation. The software includes two separate APIs for reading, writing, and manipulating E57 files - the Foundation API and the Simple API. The Foundation API is a full-featured interface that operates at a relatively low-level, allowing control over all aspects of an E57 file, including custom extensions. The Simple API is a simplified interface that supports the most common use cases for reading and writing E57 files.

E57 vs. LAS: How the E57 Format is Different and More Versatile

Compared to the LAS format, which was developed by the American Society for Photogrammetry and Remote Sensing (ASPRS) for storing LIDAR point data, the E57 format is a more general format that is well-suited for storing data across a variety of application domains. The E57 format allows users to flexibly choose the information associated with each 3D point as well as the number of bits used to represent the information. In contrast, LAS uses a pre-defined set of fixed-size record types that are specialized for aerial data collection. The E57 format also supports gridded data, multiple coordinate systems, embedded images from cameras, built-in error detection, and groupings of points into rows, columns, or user-defined groups. Finally, the E57 format has an essentially unlimited file size and number of records, whereas the LAS format is limited to 4.2E9 records.

In conclusion, the E57 file format is an efficient and extensible format for storing point cloud data that is gaining popularity among 3D imaging professionals. Its hierarchical tree structure and binary encoding make it efficient, while its extensibility allows for the incorporation of new features and technologies. The libE57 software provides an open-source implementation of the E57 format, making it easier for developers to adopt and integrate it into their workflows.

CAD Interop distributes several solutions to prepare, convert and visualize your E57 data. Find below the list of our solutions compatible with the E57 format: