Recently Whitebox Geospatial has received several emails from users asking for comparisons between WhiteboxTools and LAStools. Typically these emails ask, “What is the WhiteboxTools equivalent to this particular functionality in LAStools?” These are challenging questions for me to answer, never having used the library for anything more than converting to and from the LAZ format. (And now that WhiteboxTools offers full LAZ support, I rarely need to use LAStools in my day-to-day work.) Nonetheless, I understand where the motivation for comparison comes from, given both platforms are viewed by many as offering excellent and overlapping support for many LiDAR data processing tasks.
And so, in order to appease these user requests, I have agreed to carry out a more fulsome comparison of the WhiteboxTools and LAStools, on a tool-by-tool basis. I have written this blog post with the hope of helping any future users who may be in a similar position of comparison. Please note, this is not intended as a plea for converting LAStools users. If you have been using LAStools for years and are happy with the functionality that it provides, you should carry on doing so. RapidLasso has created an excellent product and has supported the LiDAR community for a very long time. While WhiteboxTools and LAStools may overlap somewhat, they also compliment one another very nicely.
Many of the LiDAR-focused tools in WhiteboxTools have been developed over a span of several years and date back to our legacy software, Whitebox GAT. Tools such as HexBinning, LidarGroundPointFilter, LidarIDWInterpolation, LidarSegmentation, FilterLidarScanAngle and FindFlightEdgePoints have been around for 15+ years. Whitebox Geospatial continues to actively develop novel LiDAR-focused tools. Tools such as ClassifyLidar, LasToLaz, LazToLas, LidarContour, LidarPointReturnAnalysis, LidarSortByTime and LidarSibsonInterpolation are new additions added to the WhiteboxTools library throughout the past year. In the future, we plan to actively develop LiDAR-focused tools while maintaining our existing library.
If, however, you are looking for alternatives among the LiDAR data processing software currently available, or are looking for software that can supplement your existing LAStools workflows, then this comparison may serve you well.
Tool in LAStools | Tool in WhiteboxTools | Difference between Tools |
lasinfo (Open Source) | LidarInfo (Open-source) LidarPointStats (Open-source) LidarHistogram (Open-source) | Tool name and slight implementation difference |
las2txt (Open Source) | LasToAscii (Open-source) | Tool name |
txt2las (Open Source) | AsciiToLas (Open-source) | Tool name |
lasvalidate (Open Source) | There is currently no equivalent to this tool in WhiteboxTools. | N/A |
laszip (Open Source) | LasToLaz (License required) or LazToLas (License required) | Tool name and implementation. WBT equivalent is optimized for parallel computing. |
lasindex (Open Source) | There is currently no equivalent to this tool in WhiteboxTools. | N/A |
las2las (Open Source) | ClipLidarToPolygon (Open-source), LidarElevationSlice (Open-source) FilterLidarScanAngles (Open-source) | las2las appears to be a very flexible tool with many functionalities. Some of the functionality is met by the WBT listed to the left, but not all. |
lasmerge (Open Source) | LidarJoin (Open-source) | Tool name |
lasprecision (Open Source) | There is currently no equivalent to this tool in WhiteboxTools. | N/A |
lasview (License required) | There is currently no equivalent to this tool in WhiteboxTools. | N/A |
lasground (License required) | LidarGroundPointFilter (Open-source), FilterLidarClasses (Open-Source) | Tool name and implementation difference. WBT tool is open-source and does not need a license |
lasclassify (License required) | ClassifyLidar (License required) LidarClassifySubset (Open-source) ClassifyBuidlingsInLidar (Open-source) | Tool name and implementation difference. WBT tool is open-source and does not need a license |
las2dem (License required) | LidarNearestNeighbourGridding (Open-source) LidarRbfInterpolation (Open-source) LidarTinGridding (Open-source) LidarIdwInterpolation (Open-source) LidarDigitalSurfaceModel (Open-source) LidarHillshade (Open-source) LidarSibsonInterpolation (License Required) | Tool name and implementation difference. WBT has many different interpolation algorithms to convert .las/.laz into DEM/DSM/DTM. Las2dem uses a triangulation algorithm which is similar but not the same to WBT’s LidarTinGridding |
las2iso (License required) | LidarContour (License Required) | Tool name and slight implementation difference |
lascolor (License required) | LidarColourize (Open-source) | Tool name |
lasgrid (License required) | LidarBlockMaximum (Open-source) LidarBlockMinimum (Open-source) | Tool name and implementation difference. WBT has many different interpolation algorithms to convert .las/.laz into DEM/DSM/DTM. |
lasoverlap (License required) | FlightlineOverlap (Open-source) | Tool name and implementation differences |
lasoverage (License required) | ClassifyOverlapPoints (Open-source) | Similar when the -entire_overlap parameter in lasoverage is used. However it doesn’t use concave envelopes of the flightlines to determine an overlap but rather a grid. Be aware of this difference as it could lead to incorrect classification. |
lasboundary (License required) | LidarTileFootprint (Open-source) | Tool name and some slight implementation differences |
lasclip (License required) | ClipLidarToPolygon (Open-source), ErasePolygonFromLidar (Open-source) | Tool name |
lasheight (License required) | LidarTopHatTranform (Open-source) HeightAboveGround (Open-source) | Tool name and implementation difference |
lastrack (License required) | There is currently no equivalent to this tool in WhiteboxTools. | N/A |
lascanopy (License required) | There is currently no equivalent to this tool in WhiteboxTools. | N/A |
lasthin (License required) | LidarThin (Open-source), LidarThinHighDensity (Open-source) | Tool name and algorithm implementation difference |
lasoptimize (License required) | There is currently no equivalent to this tool in WhiteboxTools. | N/A |
lassort (License required) | SortLidar (License Required) | Tool name and small algorithm implementation differences |
las2shp (License required) | LasToShapefile (Open-source), LasToMultipointShapefile (Open-source) | Tool name |
lasvoxel (License required) | There is currently no equivalent to this tool in WhiteboxTools. | N/A |
lasreturn (License required) | LidarPointReturnAnalysis (License Required) | Tool name and implementation differences |
lasduplicate (License required) | LidarPointReturnAnalysis (License Required) LidarRemoveDuplicate (Open-source) LidarRemoveOutliers (Open-source) | Tool name and implementation differences |
lascontrol (License required) | There is currently no equivalent to this tool in WhiteboxTools. | N/A |
lastile (License required) | LidarTile (Open-source) LidarTileFootprint (Open-source) | Tool name and slight implementation differences |
lassplit (License required) | SplitLidar (License Required) | Tool name |
WhiteboxTools also contains functionality that is not included LAStools, as outlined in the table below. Further detail about the tools listed below can be found in the WhiteboxTools Manual.
LiDAR Tools in WhiteboxTools | Description of Tool |
FilterLidar (License Required) | Removes points from a LiDAR point cloud based on their attributes. |
LidarDigitalSurfaceModel (Open-source) | Creates a DSM from a LiDAR point cloud |
LidarEigenvalueFeatures (License Required) | Measure eigenvalue-based features that describe the characteristics of the local neighbourhood surrounding each LiDAR point |
HexBinning (Open-source) | Tool creates a density plot (also known as a heatmap) |
LidarHillshade (Open-source) | Calculates a hillshade value for points within a LAS file and stores these data in the RGB field |
LidarKappaIndex (Open-source) | This tool performs a kappa index of agreement (KIA) analysis on the classification values of two LiDAR (LAS) files |
LidarRansacPlanes (Open-source) | This tool uses the random sample consensus (RANSAC) method to identify points within a LiDAR point cloud that belong to planar surfaces. |
LidarRooftopAnalysis (Open-source) | This tool can be used to identify roof segments in a LiDAR point cloud |
LidarSegmentation (Open-source) | This tool can be used to segment a LiDAR point cloud based on differences in the orientation of fitted planar surfaces and point proximity. |
LidarSegmentationBasedFilter (Open-source) | Identifies ground points within LiDAR point clouds using a segmentation based approach. |
ModifyLidar (License Required) | Modifies points in a point cloud based on their attributes. |
NormalVectors (Open-source) | Calculates normal vectors for points within a LAS file and stores these data (XYZ vector components) in the RGB field |
FilterLidarScanAngles (Open-source) | Removes points in a LAS file with scan angles greater than a threshold |
FindFlightlineEdgePoints (Open-source) | Identifies points along a flightline’s edge in a LAS file |
ClassifyOverlapPoints (Open-source) | Classifies or filters LAS points in regions of overlapping flight lines |
ErasePolygoneFromLidar (Open-source) | This tool can be used to remove, or erase, all of the LiDAR points in a LAS file contained within one or more vector polygon features. |
LasToShapefile (Open-source) | This tool converts one or more LAS files into a POINT vector. |
LasToMultipointShapefile (Open-source) | Converts one or more LAS files into MultipointZ vector Shapefiles. |
LidarHistogram (Open-source) | This tool can be used to plot a histogram of data derived from a LiDAR file. |
RecoverFlightlineInfo (License Required) | Associates LiDAR points by their flightlines. |
Many of the tools found within LAStools contain their own graphical user interface. Unfortunately, I mainly use a MacOS for my everyday computing needs and was thus unable to open these GUI’s, but on a Windows OS these GUI’s are quite helpful. WhiteboxTools has several GUIs, including front-ends integrated into QGIS and ArcGIS, and its own native, cross-platform GUI, called the WhiteboxTools Runner.
In addition to a GUI, WhiteboxTools has convenient Python and R application programming interfaces (APIs) that easily allow users to integrate all of WBT’s LiDAR functionality into automated workflows. Having access to an API, with functions wrapping each WBT tool, is more convenient when working in a scripting environment. As far as I am able to tell, with LAStools users must use Popen, directly feeding it tool arguments, in order to interact with individual tools.
Both LAStools and WhiteboxTools offer LiDAR processing capabilities through a combination of open-source and proprietary commercial licensing models. LAStools offers 10 open-source tools (i.e., lasinfo, lasvalidate, lasmerge, etc.) and 25 commercial tools (i.e., lasclassify, lassort, las2dem, lastile, etc). Interestingly, several of the commercially licensed tools in LAStools have open-source equivalents in WhiteboxTools. The open-source functionality of WhiteboxTools also extends far past LiDAR data processing, with over 450 open-source tools that range from digital elevation model (DEM) analysis, hydrological applications, and remote sensing and GIS analysis. Thus, once you have converted your raw LiDAR data into a DEM, WhiteboxTools provides a range of functionality for further data processing.
Whitebox Geospatial offers an additional 62 commercially licensed tools through the General Toolset Extension, which includes several LiDAR-focused tools, such as ClassifyLidar,LidarEigenvalueFeatures, FilterLidar, LidarPointReturnAnalysis, SortLidar, LidarSibsonInterpolation, LasToLaz, LasToLaz, LidarContour, ModifyLidar, RecoverFlightlineInfo, and SplitLidar. If you are interested in supporting the open-source development efforts in WhiteboxTools, purchasing a license for a Whitebox extension product is a wonderful way of doing so. The pricing plans for each of the software platforms, you may find more information here: LAStools pricing and Whitebox Geospatial Extension pricing.
In conclusion, both software platforms offer overlapping support for advanced LiDAR data processing functionality. While similar in many ways, they also share key differences such as the algorithm implementation differences, GUI support, differences in the way that they interact with scripting languages, pricing, and performance. If you are interested in learning more about each software platform, I invite you to check out the homepage for each: RapidLasso and WhiteboxTools.