WhiteboxTools
Open Core

What is WhiteboxTools?

WhiteboxTools is an advanced geospatial software package and a data analysis platform developed at the University of Guelph’s Geomorphometry and Hydrogeomatics Research Group (GHRG). The project began in January 2017 and quickly evolved in terms of its analytical capabilities. Some of WhiteboxTools features include:

  • Contains more than 450 tools for processing various types of geospatial data
  • Many tools operate in parallel, taking full advantage of your multi-core processor.
  • Written in the safe and cross-platform systems programming language Rust and compiled to highly efficient native code. No virtual machine or interpreter required is needed to run WhiteboxTools.
  • Small stand-alone application with no external dependencies, making installation as easy as downloading the small zip file and decompressing it.
  • Simple yet powerful Python scripting interface that allows users to develop custom scripted workflows
  • Embed WhiteboxTools functions into hetergeneous scripting environments along with ArcPy, GDAL, and other geoprocessing libraries.
  • Serves as an analytical back-end for other GIS, remote sensing, and geospatial software (e.g. the QGIS Whitebox for Processing plugin). See more on the many front-ends developed for WhiteboxTools here.
  • Permissive MIT open-source license allows for ready integration with other software.
 

What can WhiteboxTools do?

Hydrological Applications

WhiteboxTools contains advanced tooling for spatial hydrological analysis (e.g. flow-accumulation, watershed delineation, stream network analysis, sink removal)

Terrain Analysis

WhiteboxTools contains tools for terrain analysis for calculating common terrain indices such as slope, curvatures, wetness index, hillshading; hypsometric analysis; multi-scale topographic position analysis.

LiDAR Processing

LiDAR point clouds can be interrogated (LidarInfo, LidarHistogram), segmented, tiled and joined, analyzed for outliers, interpolated to rasters (DEMs, intensity images), and ground-points can be classified or filtered.

Remote Sensing

WhiteboxTools is capable of preforming remote sensing and image processing tasks include image enhancement, image mosaicing, filtering operations, simple classification (k-means), and common image transformations.

GIS Analysis

WhiteboxTools can be used to perform common geographical information systems (GIS) analysis operations, such as cost-distance analysis, distance buffering, raster reclassification and many others.

Agriculture

WhiteboxTools contains tools to process, clean, and map yield data.

Take a look at what it can do

Here are some outputs from a few tools in the WhiteboxTools
Feature Preserving Smoothing DEMGeospatial Software

Feature-preserving DEM smoothing

Click the image for an interactive feature

Shadow Animation Time in Daylight DSM

Shadow animation modelling

Click the image for an interactive feature

Hillshade and Time in Daylight Geospatial Software

Time-in-daylight for relief visualization

Click the image for an interactive feature

Topographic Position Animation Whitebox Geospatial General Toolset

Advanced multi-scale relative topographic position analysis

Click the image for an interactive feature

Hillshade DEM Multidirectional Hillshade Geospatial Software

Create hillshades with multi-directions

Click the image for an interactive feature

Elogation Tool WhiteboxTools Geospatial Software

Patch shape analysis

Click to read more about this tool

LiDAR Point Statistics LAS Flight lines Geospatial Software

LiDAR stats distribution modelling

Click to read more about this tool

Downtown Kitchener Shadow Model WhiteboxTools Geospatial Software

Whitebox Tools
Extensions

Fast

Out extensions are built with the same philosophy we have developed over the years. To build smarter algorithms that take advantage of advancements in computing.

Robust

Our extensions provide novel and everyday solutions to common and complex GIS and Geospatial problems.

Support

By purchasing a software license to one of our extensions, you are helping to support WhiteboxTools and the open-source nature of the project.

Interested in our WhiteboxTools Extensions?

Read more about the tools and see what they can do

Integrating into your workflow

Many front-ends have been developed by open-source developers within the wider WBT community that have allowed for the seamless integration of WhiteboxTools into common GIS software. Note: with the exception of the Python scripting interface, Whitebox Geospatial Inc. is not responsible for developing these front-ends and are unable to comment on the working condition.

Whitebox Geospatial Logo

Whitebox Runner

Whitebox Runner is Whitebox Geospatial's tier-one front end for running all tools contained within the WhiteboxTools library. The user-interface uses Python's TkInter GUI library and is cross-platform. Runner is the only front end maintained by Whitebox Geospatial.

Python Logo WhiteboxTools Whitebox Geospatial

Python Scripting Interface

Python users are able to create powerful stand-alone geospatial applications and workflow-automation scripts using WhiteboxTools functionality.

QGIS Logo WhiteboxTools Whitebox Geospatial

QGIS Plugin

WhiteboxTools functionality can be accessed conveniently through the popular open-source geospatial software QGIS using a plugin called Whitebox for Processing.

Nim Programming Language Logo WhiteboxTools Whitebox Geospatial

Nim Scripting Interface

A Nim-based API for using the WhiteboxTools geospatial data analysis library.

R Studio Logo WhiteboxTools Whitebox Geospatial

R Studio

The WhiteboxTools library is accessible from an R language package called WhiteboxR.

ArcGIS Logo WhiteboxTools Whitebox Geospatial

ESRI ArcGIS

WhiteboxTools functionality is also accessed conveniently through the ArcGIS Python Toolbox for WhiteboxTools.

Jupyter Notebook Logo WhiteboxTools Whitebox Geospatial

Jupyter Notebook

The whiteboxgui Python package is a Jupyter frontend for WhiteboxTools

PyPi Package Logo WhiteboxTools Whitebox Geospatial

PyPi: whitebox-python

The whitebox Python package is built on WhiteboxTools.

QGIS Plugin: Whitebox Description Files

It has come to our attention that the WhiteboxTools QGIS plugin is one of the most popular front-ends for WBT users. This is no surprise as the number of QGIS users grows daily. However, at Whitebox Geospatial Inc., we would like to recognize the hard work of Alex Bruy, who created and maintains this open-source front end.

Recently we have become aware that some of the tools that are contained in the WhiteboxTools library do not appear in the QGIS plugin. We have been in talks with Alex and he has told us that a solution is on the horizon. Alex and Alex’s team at QGIS are working hard to deliver a new solution that will fix this issue. However, in the short term, we have found a short term solution to allow for the full WhiteboxTools open core and our WhiteboxTools Extensions to be available in QGIS. While this solution is not meant to be a permanent fix, it is meant to serve as a temporary fix while Alex finalizes a more complete solution. 

Our short term solution is that we have produced an updated description file for each tool in the WhiteboxTools open-core and the WhiteboxTools Extensions. Attached below is a zip file with all the descriptions for all 488 tools in the WhiteboxTools library. In addition, please follow the short tutorial down below on how to update the description files in your QGIS environment. After completing these steps, you will be able to see all of the tools contained in WBT, including those in the various extensions. Of course, to use the extension tools, you will need an active license, see here for more details.

 

1. Download

Download the zip files (.txt) for all 487 WhiteboxTools tool descriptions.

2. Open QGIS

Open QGIS on your machine. Please note this solution only works on the QGIS LTR (3.16) or higher. please update your QGIS to 3.16 prior to completing the next step.

3. Open Active Profile Folder

From the menu, select Settings > User profiles > Open Active Profile Folder. A folder should be opened after selection

4. Open Descriptions Folder

Within the open folder, navigate to Python > Plugins > processing_wbt > descriptions.

5. Delete

Delete all files in the descriptions folder

6. Replace and Relaunch

Copy the contents of the downloaded zip file (i.e. the *.txt files) into the descriptions folder. After that, close and re-launch QGIS.