Making Use of Extra Bytes
Published On: February 28, 2022
by Darrick Wagg
What are Extra Bytes?
Officially introduced in the LAS v1.4 specification, Extra Bytes is a mechanism which allows a developer to define extra data fields of various types. They are a means to extend the LAS format to add additional information to each point, literally adding extra bytes of data on a per point basis. Each point stored in a LAS file has a prescribed size per point based on the standard attributes that are included with each point according to its point data record format (PDRF). The additional data is added in a manner that any software can dynamically read the information as there is an Extra Bytes VLR used to describe the data type of the extra information included with each point. Metadata about the additional data in the file may be needed to understand the contents, more on that later. If a software doesn’t do anything with these extra bytes it will carry them on when reading and saving the point data.
Figure 1 - LAS fields example for PDRF 3
Riegl was one of the early adopters and published their Riegl Extra Bytes specification to provide extra context and explanation behind the extra bytes they may add to data from their various sensors. Agisoft joined the field just a couple years ago, with the ability to add their confidence and normal to points generated from photos by Metashape.
In TerraScan, some limited support for Extra Bytes has been available for quite some time, but has been expanding on that quite rapidly over the past few years, culminating in the most recent addition of the ability to store Extra Bytes for Distance, Group, and Normal Vector in LAS v1.2, LAS v1.4, LAZ v1.2, LAZ v1.3, and LAZ v1.4 files.
GeoCue’s True View EVO started using Extra Bytes for storing computed values from geocoding, such as range and incidence angle, that would be useful again later for additional processing or tools such as Image Explorer. This, in turn, resulted in LP360 getting some oft requested tools for Extra Bytes. Extra Bytes defined by us for True View systems are always preceded by “True View.”
The ASPRS LAS working group has been working on the standardization of common Extra Bytes through an ongoing discussion. Their work is an attempt to prevent multiple different names for the same attribute; to protect standardized names from acquiring multiple different meanings; to provide a centralized location to learn more about Extra Bytes that are discovered in one's dataset; and, to provide a method to publicize and therefore increase the value of Extra Bytes that users have produced.
Display Extra Bytes
As extra bytes are additional attributes on point data, then some of them may be suited to visualization of the point cloud. In TerraScan, these are hard coded for specific Extra Bytes written by Riegl, Agisoft Metashape, or TerraScan itself. TerraScan’s Amplitude, Deviation, Dimension, Distance, Group, Group + Intensity, Normal, Normal + Intensity, Reflectance, and Slope display modes enable when specific Extra Bytes information they rely upon is present in the loaded LAS file.
Figure 2 - Using the confidence extra byte in TerraScan to display the reliability that a photogrammetric point could be ground
In LP360, v2021.1.47.0, the ability to symbolize and filter Extra Bytes found common across all LAS files on a LAS Layer using Live View was introduced.
Figure 3 - Extra Bytes rendering mode selectors
Figure 4 - An example of using Deviation in a filter
Query Extra Bytes
As an attribute on a point, it can be useful to be able to query for an Extra Byte to get the value for a specific point. In TerraScan, View -> Fields allows the user to visualize select Extra Bytes corresponding to the hard coded attributes available in the point table in the main window.
Figure 5 - Extra Bytes available for viewing in the TerraScan main window
Figure 6 - Riegl Extra Bytes displayed in the TerraScan main window
In LP360/EVO, the Identify tool can be used to query the attributes belonging to a specific point or group of points. Identify will display in the Identify Tab any Extra Bytes that exist on the point.
Figure 7 - Extra Bytes displayed in the Identify window
Workflow Automation using Extra Bytes
Throughout LP360/EVO the source point filters for classification and point cloud tasks (PCTs) allow for filtering using up to three simultaneous active Extra Bytes.
Figure 8 - Extra Bytes tabs in Live View
In TerraScan the new Extra Bytes for attributes formerly only in the proprietary Fast Binary (FBI) format means the group classification workflows can now be run, including fixing up the block boundaries, with data that is in the LAS format too. There have also been new routines added to directly make use of Extra Bytes, and some modifications to existing routines to indirectly utilize Extra Bytes. For instance, with some Extra Bytes, the Compute Distance tool can be used to compute a probability factor, that can then be incorporated to increase the efficacy of the Ground routine.
The Classification by Deviation routine is a newer routine which classifies points based on pulse deviation value. This can be useful in eliminating potentially noisy points from more reliable points.
Figure 9 - TerraScan's Classify by Deviation routine.
In a similar fashion, the Classify by Reliability is a new routine which classifies points based on the Reliability attribute. Where, reliability is usually derived from the Agisoft attribute Confidence stored as Extra Bytes.
The recent developments to support Extra Bytes in both TerraScan and LP360/EVO have given users the visualize, query, and use Extra Byte information more than ever before. This has opened some exciting possibilities for workflow enhancements. Further development and standardization of additional Extra Bytes for both derived and new attributes will continue to help support workflow automation and efficiencies for classification and extraction of information from point clouds.