libE57: Software Tools for Managing E57 Files
libE57 Release V1.1
The final release of libE57 V1.1.312 is now available for download. We would like to thank all the members of the ASTM E57.04 Data Interoperability Committee for a job well done.
The E57 File Format
The E57 file format is a compact, vendor-neutral format
for storing point clouds, images, and metadata produced by 3D imaging
systems, such as laser scanners. The 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. An overview of the design and implementation of the E57 format can be found in the paper "The ASTM E57 File Format for 3D Imaging Data Exchange."
The libE57 Software
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 is intended to lower the barrier to adoption of
the standard and to provide a reference to compare other implementations
against. It is not expected to be the only implementation, and it is
not intended to be the fastest possible implementation.
The libE57 software consists of a library, supporting utilities
and example programs, and documentation. The software includes two
separate application programming interfaces (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
(built on top of the Foundation API) that supports the most common use
cases for reading and writing E57 files.
The source code for the libE57 software can be downloaded
from this web site. Pre-built binaries are provided for a selection of
compilers and operating systems (OSes). If there is no version
matching your compiler/OS, it will be necessary to download the source
code and compile it yourself. Instructions for both uses are provided.
Frequently Asked Questions
What is the relationship between the libE57 software and the ASTM E2807 standard?
The libE57 software is not part of the ASTM standard, nor are the
APIs defined within the libE57 software part of the standard. Although
the developers of the software were involved in the development of the
E57 format standard, the software is not sanctioned or approved in any
way by the ASTM.
Do I need a copy of the ASTM E2807 standard?
Yes. While it is possible to utilize some aspects of the software
without reference to the standard, the standard is an essential
reference that is needed to make full use of the library. In particular,
it would be difficult to effectively use the Foundation API without
reference to the standard, which documents the names, data types, and
meanings of the data structures that compose an E57 file.
A copy of the latest draft version of the specification can be obtained by joining the ASTM E57 committee of the ASTM. The standard is available for purchase via the ASTM E2807 web site.
Is the E57 format XML?
The E57 specification uses a subset of XML that has been extended
to support efficient storage of large amounts of binary data. An E57
file is encoded as 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. Metadata, such as sensor
pose information, is encoded in XML. The binary sections are not
embedded in the XML section. Instead, they are located in separate
sections of the file and referenced from the XML section.
Is the E57 format extensible?
Yes. One of the greatest strengths of E57 is that it was designed to be readily extensible to accommodate new hardware innovations.
Using the E57 extension mechanism, hardware developers can differentiate their products and incorporate new features by developing extensions that allow software developers to access additional technological innovations.
These extensions provide E57 application developers with new features above and beyond the features specified in the E2807 standard.
E57 extensions keep the format current with the latest innovations and technologies.
Here are some of the extension that have been defined.
What software products have native E57 support?
What is the difference between E57 format and LAS?
The LAS format was developed by the American Society for
Photogrammetry and Remote Sensing (ASPRS) for the purpose of storing
LIDAR point data. It is specifically geared toward the needs of the
aerial sensing community, though the format can be utilized for
terrestrial laser scanner data by ignoring the inapplicable fields. The
E57 format is intended to be a more general format that is well-suited
for storing data across a variety of application domains. There are a
number of differences in the capabilities of the E57 format as compared
to the LAS format. 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 supports gridded data (i.e., data aligned in
regular arrays), multiple coordinate systems (including Cartesian and
spherical), embedded images from cameras, built in error detection, and
groupings of points into rows, columns, or user-defined groups. The E57
format also defines an extension mechanism that allows users to develop
custom capabilities that were not envisioned in the initial design of
the standard. These extensions could be integrated into future versions
of the standard. Finally, the E57 format has an essentially unlimited
file size and number of records (1.8E19 bytes in length), whereas the
LAS format is limited to 4.2E9 records.
How can I learn more about the E57 format?
A good starting point would be to read the overview paper entitled "The ASTM E57 File Format for 3D Imaging Data Exchange."
The standard itself contains a much more detailed description. The standard is available for purchase via the ASTM E2807 web site. Finally, many subtle details of the standard can be best understood by looking at the API documentation, examples, and software on this site.
Is there a mailing list available?
Yes, you can go to the subsciption page to sign up. Currently there is only one list for users and developers since the traffic is not very high yet.
Is there a user group?
Yes, to be part of the E57 user group join LinkedIn at ASTM E57 Data Exchange Format Group
How can I get involved?
Joining the ASTM E57.04 sub-committee and become involved in the on going discussions. You can also post to the working ASTM E57 sub-committee, send email to firstname.lastname@example.org.
To subscribe to this group, send email to email@example.com.
To unsubscribe from this group, send email to firstname.lastname@example.org.
To see all the documents, meeting notes, and discussions of the ASTM E57 sub-committee visit http://groups.google.com/group/astm-e57-data-interoperability?hl=en. or e57-shared on Google Docs
This site is © Copyright 2010 E57.04 3D Imaging System File Format Committee, All Rights Reserved
Free web site templates