ASTM E2807-11(2019)e1
(Specification)Standard Specification for 3D Imaging Data Exchange, Version 1.0
Standard Specification for 3D Imaging Data Exchange, Version 1.0
ABSTRACT
This specification describes a data file exchange format for three-dimensional (3D) imaging data, known as the ASTM E57 3D file format, Version 1.0. In this specification, the term "E57 file" is used as a short version of "ASTM E57 3D file format". An E57 file is capable of storing 3D point data (those produced by 3D imaging systems), attributes associated with 3D point data (color and intensity), and 2D imagery (digital photographs obtained using a 3D imaging system). This specification describes all data that will be stored in the file, which is a combination of binary and eXtensible Markup Language (XML) formats.
SCOPE
1.1 This specification describes a data file exchange format for three-dimensional (3D) imaging data, known as the ASTM E57 3D file format, Version 1.0. The term “E57 file” will be used as shorthand for “ASTM E57 3D file format” hereafter.
1.2 An E57 file is capable of storing 3D point data, such as that produced by a 3D imaging system, attributes associated with 3D point data, such as color or intensity, and 2D imagery, such as digital photographs obtained by a 3D imaging system. Furthermore, the standard defines an extension mechanism to address future aspects of 3D imaging.
1.3 This specification describes all data that will be stored in the file. The file is a combination of binary and eXtensible Markup Language (XML) formats and is fully documented in this specification.
1.4 All quantities standardized in this specification are expressed in terms of SI units. No other units of measurement are included in this standard.
1.4.1 Discussion—Planar angles are specified in radians, which are considered a supplementary SI unit.
1.5 This standard does not purport to address all of the safety concerns, if any, associated with its use. It is the responsibility of the user of this standard to establish appropriate safety, health, and environmental practices and determine the applicability of regulatory limitations prior to use.
1.6 This standard does not purport to address legal concerns, if any, associated with its use. It is the responsibility of the user of this standard to comply with appropriate regulatory limitations prior to use.
1.7 This international standard was developed in accordance with internationally recognized principles on standardization established in the Decision on Principles for the Development of International Standards, Guides and Recommendations issued by the World Trade Organization Technical Barriers to Trade (TBT) Committee.
General Information
Relations
Standards Content (Sample)
This international standard was developed in accordance with internationally recognized principles on standardization established in the Decision on Principles for the
Development of International Standards, Guides and Recommendations issued by the World Trade Organization Technical Barriers to Trade (TBT) Committee.
´1
Designation:E2807 −11 (Reapproved 2019)
Standard Specification for
3D Imaging Data Exchange, Version 1.0
This standard is issued under the fixed designation E2807; the number immediately following the designation indicates the year of
original adoption or, in the case of revision, the year of last revision.Anumber in parentheses indicates the year of last reapproval.A
superscript epsilon (´) indicates an editorial change since the last revision or reapproval.
ε NOTE—A spelling was corrected in Table 29 and Fig. 7 was updated editorially to reflect data in Table 43 in November
2022.
1. Scope mendations issued by the World Trade Organization Technical
Barriers to Trade (TBT) Committee.
1.1 This specification describes a data file exchange format
for three-dimensional (3D) imaging data, known as theASTM
2. Referenced Documents
E57 3D file format, Version 1.0. The term “E57 file” will be
2.1 ASTM Standards:
used as shorthand for “ASTM E57 3D file format” hereafter.
E2544Terminology for Three-Dimensional (3D) Imaging
1.2 An E57 file is capable of storing 3D point data, such as
Systems
that produced by a 3D imaging system, attributes associated
2.2 IEEE Standard:
with 3D point data, such as color or intensity, and 2D imagery,
754-1985IEEEStandardforBinaryFloating-PointArithme-
such as digital photographs obtained by a 3D imaging system.
tic
Furthermore, the standard defines an extension mechanism to
2.3 IETF Standard:
address future aspects of 3D imaging.
RFC 3720 Internet Small Computer Systems Interface
1.3 Thisspecificationdescribesalldatathatwillbestoredin
(iSCSI)
the file. The file is a combination of binary and eXtensible
2.4 W3C Standard:
Markup Language (XML) formats and is fully documented in
XML Schema Part 2:Datatypes Second Edition
this specification.
1.4 All quantities standardized in this specification are
3. Terminology
expressed in terms of SI units. No other units of measurement
3.1 Definitions—Terminologyusedinthisspecificationcon-
are included in this standard.
forms to the definitions included in Terminology E2544.
1.4.1 Discussion—Planar angles are specified in radians,
3.2 Definitions of Terms Specific to This Standard:
which are considered a supplementary SI unit.
3.2.1 backward compatibility, n—ability of a file reader to
1.5 This standard does not purport to address all of the
understandafilecreatedbyawriterofanolderversionofafile
safety concerns, if any, associated with its use. It is the
format standard.
responsibility of the user of this standard to establish appro-
3.2.2 byte, n—grouping of 8 bits, also known as an octet.
priate safety, health, and environmental practices and deter-
mine the applicability of regulatory limitations prior to use.
3.2.3 camel case, n—naming convention in which com-
1.6 This standard does not purport to address legal poundwordsarejoinedwithoutspaceswitheachword’sinitial
concerns, if any, associated with its use. It is the responsibility
letter capitalized within the component and the first letter is
of the user of this standard to comply with appropriate either upper or lowercase.
regulatory limitations prior to use.
3.2.4 camera image, n—regular, rectangular grid of values
1.7 This international standard was developed in accor-
that stores data from a 2D imaging system, such as a camera.
dance with internationally recognized principles on standard-
ization established in the Decision on Principles for the
Development of International Standards, Guides and Recom-
For referenced ASTM standards, visit the ASTM website, www.astm.org, or
contact ASTM Customer Service at service@astm.org. For Annual Book of ASTM
Standards volume information, refer to the standard’s Document Summary page on
the ASTM website.
1 3
This specification is under the jurisdiction of ASTM Committee E57 on 3D For referenced IEEE standards, visit http://grouper.ieee.org/groups/754.
Imaging Systems and is the direct responsibility of Subcommittee E57.11 on Data For referenced Internet Engineering Task Force (IETF) standards, visit the
Interoperability. IETF website, www.ietf.org.
Current edition approved March 1, 2019. Published March 2019. Originally String representations (the lexical space) of the numeric datatypes are docu-
approved in 2011. Last previous edition approved in 2011 as E2807–11. DOI: mented in the W3C standard: “XML Schema Part 2: Datatypes Second Edition”,
10.1520/E2807-11R19E01. available on the website http://www.w3.org/TR/xmlschema-2/.
Copyright © ASTM International, 100 Barr Harbor Drive, PO Box C700, West Conshohocken, PA 19428-2959. United States
´1
E2807−11 (2019)
3.2.5 camera projection model, n—mathematical formula 4.8 PNG—Portable network graphics
usedtoconvertbetween3Dcoordinatesandpixelsinacamera
4.9 URI—Uniform resource identifier
image.
4.10 UTC—Coordinated universal time
3.2.6 file offset, n—see physical file offset.
4.11 UTF—Unicode Transformation Format
3.2.7 file-level coordinate system, n—coordinate system
4.12 W3C—WorldWide Web Consortium
common to all 2D and 3D data sets in a given E57 file.
4.13 XML—eXtensible Markup Language
3.2.8 forward compatibility, n—ability of a file reader to
read a file that conforms to a newer version of a format
specification than it was designed to read, specifically having 5. Notation and Mathematical Concepts
the capability to understand those aspects of the file that were
5.1 The following notation and established mathematical
defined in the version it was designed to read, while ignoring
concepts are used in this specification.
those portions that were defined in later versions of the format
5.2 Intervals:
specification.
5.2.1 A closed interval is denoted [a, b], where a ≤ b.A
3.2.9 logical length, n—number of bytes used to describe
closed interval includes the endpoints a and b and all numbers
someentityinanE57file,notincludingCRCchecksumbytes.
inbetween.Anopenintervalisdenoted(a, b),where a≤ b.An
3.2.10 physical file offset, n—numberofbytesprecedingthe
open interval includes the numbers between the endpoints a
specified byte location in an E57 file, counting payload bytes
and b, but does not include the endpoints themselves. The
and checksums.
half-open intervals (a, b] and [a, b) do not include the a and b
3.2.10.1 Discussion—This term is also known as the file
endpoints, respectively.
offset.
5.3 Cartesian Coordinate System:
3.2.11 physical length, n—number of bytes used to describe
5.3.1 Points in Cartesian coordinates are represented by an
some entity in an E57 file, including CRC checksum bytes.
ordered triplet (x, y, z), where x, y, and z are coordinates along
the X, Y, and Z axes, respectively. The coordinate system is
3.2.12 record, n—single collection in a sequence of
right-handed.
identically-typed collections of elements.
3.2.13 rigid body transform, n—type of coordinate trans- 5.4 Cylindrical Coordinate System:
form that preserves distances between all pairs of points that
5.4.1 Points in cylindrical coordinates are represented by an
furthermore does not admit a reflection. ordered triplet (ρ, θ, z), where ρ is the radial distance (in
3.2.13.1 Discussion—A rigid body transform can be used, meters), θ is the azimuth angle (in radians), and z is the height
for example, to convert points from the local coordinates of a (in meters).
3D data set (for example, a single laser scan) to a common 5.4.1.1 The azimuth angle is measured as the counterclock-
coordinate system shared by multiple 3D data sets (for wiserotationofthepositive X-axisaboutthepositive Z-axisof
example, a set of laser scans).
a Cartesian reference frame.
5.4.2 The following restrictions on cylindrical coordinates
3.2.14 XML namespace, n—method for qualifying element
are applied:
names in XML to prevent the ambiguity of multiple elements
with the same name.
ρ$0 (1)
3.2.14.1 Discussion—XML namespaces are used in an E57
2π,θ# π (2)
file to support the definition of extensions.
5.4.3 The conversion from Cartesian to cylindrical coordi-
3.2.15 XML whitespace, n—sequence of one or more of the
nates is accomplished through the formulas (note that the z
following Unicode characters: the space character (20
coordinate is the same in both systems):
hexadecimal), the carriage return (0D hexadecimal), line feed
2 2
(0A hexadecimal), or tab (09 hexadecimal).
ρ 5 = x 1y (3)
~ !
3.2.16 zero padding, n—one or more zero-valued bytes
θ 5 atan2 y,x (4)
~ !
appended to the end of a sequence of bytes.
5.4.3.1 The function “atan2(y, x)” is defined as the function
returning the arc tangent of y/x, in the range (–π,+π] radians.
4. Acronyms
The signs of the arguments are used to determine the quadrant
4.1 ASCII—American Standard Code for Information Inter-
of the result.
change
5.4.3.2 In degenerate cases, the following convention is
observed:
4.2 CRC—Cyclic redundancy check
If x = y = 0, then θ=0.
4.3 GUID—Globally unique identifier
5.4.4 Conversely, cylindrical coordinates can be converted
4.4 IEEE—Institute of Electrical and Electronics Engineers
to Cartesian coordinates using the formulas:
4.5 IETF—Internet Engineering Task Force
x 5 ρ cos θ (5)
~ !
4.6 iSCSI—Internet small computer system interface
y 5 ρ sin~θ! (6)
4.7 JPEG—Joint Photographic Experts Group 5.5 Spherical Coordinate System:
´1
E2807−11 (2019)
5.5.1 Points in spherical coordinates are represented by an 5.6.5 Discussion—Unitquaternionsareusedinthisstandard
orderedtriplet(r,θ,φ),where ristherange(inmeters),θisthe to represent rotations in rigid body transforms.
azimuth angle (in radians), and φ is the elevation angle (in
5.7 Rigid Body Transforms:
radians).
5.7.1 A rigid body transform converts points from one
5.5.2 Thefollowingrestrictionsonsphericalcoordinatesare
coordinate reference frame to another, preserving distances
applied:
between pairs of points and, furthermore, not admitting a
r$0 (7)
reflection. A rigid body transform can be represented as a
3 × 3 rotation matrix R and a translation 3-vector t.
2π,θ# π (8)
5.7.2 A3D point is transformed from the source coordinate
π π
2 # φ# (9)
system to the destination coordinate system by first applying
2 2
the rotation and then the translation. More formally, the
5.5.3 The conversion from spherical to Cartesian coordi-
transformation operation T(.) of a point p is defined as:
nates is accomplished through the formulas:
p' 5 T~p! 5 Rp1t (18)
x 5 r cos φ cos θ (10)
~ ! ~ !
The rotation matrix R can be computed from a unit quater-
y 5 r cos φ sin θ (11)
~ ! ~ !
nion q using Eq 17.
z 5 r sin φ (12)
~ !
5.7.3 Discussion—Rigid body transforms are used in this
standard to support the transformation of data represented in a
5.5.4 Conversely, in non-degenerate cases, Cartesian coor-
local coordinate system, such as the coordinate system of a
dinates can be converted to spherical coordinates via the
sensor used to acquire a 3D data set, to a common file-level
formulas:
coordinate system shared by all 3D data sets.
2 2 2
r 5 =~x 1y 1z ! (13)
5.8 Trees:
θ 5 atan2~y,x! (14)
5.8.1 A tree is data structure that represents an acyclic
z
graph.Atree consists of nodes, which store some information,
φ 5 arcsin (15)
S D
r
and edges (also known as arcs) that connect the nodes. The
single topmost node is called the root node.Anode may have
5.5.4.1 In degenerate cases, the following conventions are
zero or more nodes connected below it, which are called child
observed:
nodes. Each node, except the root node, has exactly one node
If x = y = 0, then θ=0;
connectedaboveit,whichiscalledtheparentnode.Nodeswith
If x = y = z = 0, then both θ = 0 and φ=0.
no children are called leaf nodes. A descendant is a direct or
5.5.5 Discussion—Theelevationismeasuredwithrespectto
indirect child of a given node.
the XY-plane, with positive elevations towards the positive
5.8.2 Discussion—Trees are used in this standard to de-
Z-axis. The azimuth is measured as the counterclockwise
scribe the structure of XML data, as well as index data in
rotation of the positive X-axis about the positive Z-axis. This
binary sections.
definition of azimuth follows typical engineering usage. Note
5.9 XML Elements and Attributes:
thatthisdiffersfromtraditionaluseinnavigationorsurveying.
5.9.1 AnXMLelementisthefundamentalbuildingblockof
5.6 Quaternions:
an XML file. An element consists of a start tag, optional
5.6.1 A quaternion is a generalized complex number. A
attributes, optional child elements, optional child text, and an
quaternion, q,isrepresentedbyanorderedfour-tuple(w,x,y,z),
end tag. Element names in an E57 file are case sensitive.
where q= w+ xi+ yj+ zk.Thecoordinate wdefinesthescalar
Element names in this specification are written in camel case
part of the quaternion, and the coordinates (x, y, z) define the
with a lowercase initial character. Type names in this specifi-
vector part.
cation are written in camel case with an upper case initial
5.6.2 The norm of a quaternion, || q ||, is defined as:
character.
2 2 2 2
5.9.2 Discussion—See Fig. 1 for an excerpt of XML that
|| q || 5 =w 1x 1y 1z .
illustrates the parts of an XML element.
5.6.3 Aunit quaternion, q, has the further restriction that its
5.9.3 XML elements that have child elements form a tree,
norm || q||=1.
with each element being a node.
5.6.4 Rotationofapointpbyaunitquaternion qisgivenby
5.9.4 A pathname is a string that specifies the sequence of
the matrix formula:
elements names that are encountered when traversing from a
p' 5 Rp (16)
given origin element to a destination element in an XML tree.
In this standard, pathnames are only defined for destination
where:
elements that are descendants of the origin element.Arelative
2 2 2 2
w 1x 2 y 2 z 2 xy 2 wz 2 xz1wy
~ ! ~ !
pathname is formed by concatenating the sequence of element
2 2 2 2
2 xy1wz w 1y 2 x 2 z 2 yz 2 wx
R 5 ~ ! ~ !
names traversed using the forward slash (“/”) as a separator.
F G
2 2 2 2
2 xz 2 wy 2 yz1wx w 1z 2 x 2 y
~ ! ~ !
Eachsuccessiveelementinthesequenceshallbeachildofthe
(17) previous element. Note that the element name of the origin
´1
E2807−11 (2019)
FIG. 1XML Elements and Attributes
element does not appear in the pathname. An absolute path- standard are logical sequences. The physical sequence repre-
name has an origin that is the root element of the tree, and is sentation of a logical sequence may have an intervening
formedbyprependingaforwardslashtotherelativepathname. checksum if the logical sequence crosses a page boundary.
5.9.5 Discussion—As an example, consider a hypothetical Page boundaries occur every 1020 bytes of logical data.
E57 file consisting of a root element named e57Root which
6.3 An E57 file shall be com
...
Questions, Comments and Discussion
Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.