Learn R Programming

whitebox

WhiteboxTools R Frontend.

This repository is related to the whitebox R package for geospatial analysis, which is an R frontend of a stand-alone executable command-line program called WhiteboxTools.

Contents

  1. Description
  2. Installation
  3. Usage
  4. Available Tools
  5. Contributing
  6. License
  7. Reporting Bugs

Description

The whitebox R package is built on WhiteboxTools, an advanced geospatial data analysis platform developed by Prof. John Lindsay (webpage; jblindsay) at the University of Guelph’s Geomorphometry and Hydrogeomatics Research Group. WhiteboxTools can be used to perform common geographical information systems (GIS) analysis operations, such as cost-distance analysis, distance buffering, and raster reclassification. Remote sensing and image processing tasks include image enhancement (e.g. panchromatic sharpening, contrast adjustments), image mosaicing, numerous filtering operations, simple classification (k-means), and common image transformations. WhiteboxTools also contains advanced tooling for spatial hydrological analysis (e.g. flow-accumulation, watershed delineation, stream network analysis, sink removal), terrain analysis (e.g. common terrain indices such as slope, curvatures, wetness index, hillshading; hypsometric analysis; multi-scale topographic position analysis), and LiDAR data 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. WhiteboxTools is not a cartographic or spatial data visualization package; instead it is meant to serve as an analytical backend for other data visualization software, mainly GIS. Suggested citation: Lindsay, J. B. (2016). Whitebox GAT: A case study in geomorphometric analysis. Computers & Geosciences, 95, 75-84. doi: http://dx.doi.org/10.1016/j.cageo.2016.07.003

Installation

There are three ways to install the whitebox R package.

1. CRAN

whitebox is now available on CRAN, so you can install it with:

install.packages("whitebox")

2. GitHub

You can alternatively install the development version of whitebox from GitHub as follows:

if (!require("remotes")) install.packages('remotes')
remotes::install_github("opengeos/whiteboxR", build = FALSE)

Usage

The function wbt_init() checks the path to the ‘WhiteboxTools’ binary.

wbt_init()

It (invisibly) returns a logical (TRUE/FALSE) value reflecting whether a file is found at one of the default paths, including those specified by package options. See ?whitebox::whitebox.

If you have ‘WhiteboxTools’ installed already but in a non-standard location run wbt_init(exe_path=...) to set up your options for your current R session.

wbt_init(exe_path = 'C:/home/user/path/to/whitebox_tools.exe')

Additional arguments to wbt_init() can set other package options, such as whether tools print their standard console output with cat().

If you want to turn this off, set verbose = FALSE, for instance:

wbt_init(exe_path = 'C:/home/user/path/to/whitebox_tools.exe', verbose = FALSE)

Documentation

For whitebox package documentation in R, ask for help:

??whitebox

For list of functions, try the wbt_ prefix in your search:

??wbt_

A complete list of functions available in the whitebox R package can be found HERE.

Check out this demo for examples.

Installing ‘WhiteboxTools’

The quickest way to get started if you are on 64-bit Windows, Linux or MacOS architectures is to download and install the ‘WhiteboxTools’ binary. Linux binaries compiled with ‘musl’ instead of ‘glibc’ on Ubuntu 22.04 are available with platform="linux_musl". On MacOS, Intel and Apple ‘M’ series processors (‘arm64’) are supported.

A method install_whitebox() is provided to download a version of the binaries that corresponds to the wrapper functions available in the package.

whitebox::install_whitebox()

By default this will install ‘WhiteboxTools’ to your whitebox R package data directory (see wbt_data_dir()), subdirectory “WBT”.

whitebox

How do I run tools?

Tool names in the whitebox R package can be called by corresponding function using wbt_snake_case() naming convention (e.g. wbt_lidar_info() R function for "LidarInfo" ‘WhiteboxTools’ tool name).

First we load the library and perform any necessary setup.

library(whitebox)

# set up as needed
wbt_init()

Many ‘WhiteboxTools’ will take GeoTIFF files as input, but ‘WhiteboxTools’ supports several grid input formats. There is a sample Digital Elevation Model (DEM) included in the whitebox package. You can get path as follows for this demo:

# Set input raster DEM file
dem <- sample_dem_data()

We will use this DEM in a sequence of ‘WhiteboxTools’ processing routines. Run tools by passing file paths for the input and output files.

  1. Apply feature-preserving smoothing (FeaturePreservingSmoothing)

  2. Breach depressions in a DEM (BreachDepressions)

  3. Calculate D-Infinity flow accumulation (DInfFlowAccumulation)

The filter argument to wbt_feature_preserving_smoothing() sets the size of the filter kernel.

## 1. FeaturePreservingSmoothing
wbt_feature_preserving_smoothing(
  dem = dem,
  output = "./smoothed.tif",
  filter = 9
)

## 2. BreachDepressions
wbt_breach_depressions(dem = "./smoothed.tif", output = "./breached.tif")

## 3. DInfFlowAccumulation
wbt_d_inf_flow_accumulation(input = dem, output = "./flow_accum.tif")

if (requireNamespace('terra')) {
  terra::plot(terra::rast("./flow_accum.tif"))
}
#> Loading required namespace: terra

About ‘WhiteboxTools’

library(whitebox)

# cat() output in non-interactive mode
wbt_verbose(TRUE)

# Prints the whitebox-tools help...a listing of available commands
wbt_help()
#> WhiteboxTools Help
#> 
#> The following commands are recognized:
#> --cd, --wd          Changes the working directory; used in conjunction with --run flag.
#> --compress_rasters  Sets the compress_raster option in the settings.json file; determines if newly created rasters are compressed. e.g. --compress_rasters=true
#> -h, --help          Prints help information.
#> -l, --license       Prints the whitebox-tools license. Tool names may also be used, --license="Slope"
#> --listtools         Lists all available tools. Keywords may also be used, --listtools slope.
#> --max_procs         Sets the maximum number of processors used. -1 = all available processors. e.g. --max_procs=2
#> -r, --run           Runs a tool; used in conjunction with --wd flag; -r="LidarInfo".
#> --toolbox           Prints the toolbox associated with a tool; --toolbox=Slope.
#> --toolhelp          Prints the help associated with a tool; --toolhelp="LidarInfo".
#> --toolparameters    Prints the parameters (in json form) for a specific tool; --toolparameters="LidarInfo".
#> -v                  Verbose mode. Without this flag, tool outputs will not be printed.
#> --viewcode          Opens the source code of a tool in a web browser; --viewcode="LidarInfo".
#> --version           Prints the version information.
#> 
#> Example Usage:
#> >> ./whitebox_tools -r=lidar_info --cd="/path/to/data/" -i=input.las --vlr --geokeys


# Prints the whitebox-tools license
wbt_license()
#> WhiteboxTools License
#> Copyright 2017-2023 John Lindsay
#> 
#> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and
#> associated documentation files (the "Software"), to deal in the Software without restriction,
#> including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense,
#> and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so,
#> subject to the following conditions:
#> 
#> The above copyright notice and this permission notice shall be included in all copies or substantial
#> portions of the Software.
#> 
#> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT
#> NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
#> NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES
#> OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
#> CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.


# Prints the whitebox-tools version
wbt_version()
#> WhiteboxTools v2.4.0 (c) Dr. John Lindsay 2017-2023
#> 
#> WhiteboxTools is an advanced geospatial data analysis platform developed at
#> the University of Guelph's Geomorphometry and Hydrogeomatics Research 
#> Group (GHRG). See www.whiteboxgeo.com for more details.


# Prints the toolbox for a specific tool.
wbt_toolbox("AsciiToLas")
#> LiDAR Tools


# Lists tools with 'lidar' in tool name or description.
wbt_list_tools("lidar")
#> All 66 Tools containing keywords:
#> AsciiToLas: Converts one or more ASCII files containing LiDAR points into LAS files.
#> ClassifyBuildingsInLidar: Reclassifies a LiDAR points that lie within vector building footprints.
#> ClassifyOverlapPoints: Classifies or filters LAS points in regions of overlapping flight lines.
#> ClipLidarToPolygon: Clips a LiDAR point cloud to a vector polygon or polygons.
#> ErasePolygonFromLidar: Erases (cuts out) a vector polygon or polygons from a LiDAR point cloud.
#> FilterLidarClasses: Removes points in a LAS file with certain specified class values.
#> FilterLidarScanAngles: Removes points in a LAS file with scan angles greater than a threshold.
#> FindFlightlineEdgePoints: Identifies points along a flightline's edge in a LAS file.
#> FlightlineOverlap: Reads a LiDAR (LAS) point file and outputs a raster containing the number of overlapping flight-lines in each grid cell.
#> HeightAboveGround: Normalizes a LiDAR point cloud, providing the height above the nearest ground-classified point.
#> LasToAscii: Converts one or more LAS files into ASCII text files.
#> LasToMultipointShapefile: Converts one or more LAS files into MultipointZ vector Shapefiles. When the input parameter is not specified, the tool grids all LAS files contained within the working directory.
#> LasToShapefile: Converts one or more LAS files into a vector Shapefile of POINT ShapeType.
#> LasToZlidar: Converts one or more LAS files into the zlidar compressed LiDAR data format.
#> LidarBlockMaximum: Creates a block-maximum raster from an input LAS file. When the input/output parameters are not specified, the tool grids all LAS files contained within the working directory.
#> LidarBlockMinimum: Creates a block-minimum raster from an input LAS file. When the input/output parameters are not specified, the tool grids all LAS files contained within the working directory.
#> LidarClassifySubset: Classifies the values in one LiDAR point cloud that correspond with points in a subset cloud.
#> LidarColourize: Adds the red-green-blue colour fields of a LiDAR (LAS) file based on an input image.
#> LidarDigitalSurfaceModel: Creates a top-surface digital surface model (DSM) from a LiDAR point cloud.
#> LidarElevationSlice: Outputs all of the points within a LiDAR (LAS) point file that lie between a specified elevation range.
#> LidarGroundPointFilter: Identifies ground points within LiDAR dataset using a slope-based method.
#> LidarHexBinning: Hex-bins a set of LiDAR points.
#> LidarHillshade: Calculates a hillshade value for points within a LAS file and stores these data in the RGB field.
#> LidarHistogram: Creates a histogram of LiDAR data.
#> LidarIdwInterpolation: Interpolates LAS files using an inverse-distance weighted (IDW) scheme. When the input/output parameters are not specified, the tool interpolates all LAS files contained within the working directory.
#> LidarInfo: Prints information about a LiDAR (LAS) dataset, including header, point return frequency, and classification data and information about the variable length records (VLRs) and geokeys.
#> LidarJoin: Joins multiple LiDAR (LAS) files into a single LAS file.
#> LidarKappaIndex: Performs a kappa index of agreement (KIA) analysis on the classifications of two LAS files.
#> LidarNearestNeighbourGridding: Grids LiDAR files using nearest-neighbour scheme. When the input/output parameters are not specified, the tool grids all LAS files contained within the working directory.
#> LidarPointDensity: Calculates the spatial pattern of point density for a LiDAR data set. When the input/output parameters are not specified, the tool grids all LAS files contained within the working directory.
#> LidarPointStats: Creates several rasters summarizing the distribution of LAS point data. When the input/output parameters are not specified, the tool works on all LAS files contained within the working directory.
#> LidarRansacPlanes: Performs a RANSAC analysis to identify points within a LiDAR point cloud that belong to linear planes.
#> LidarRbfInterpolation: Interpolates LAS files using a radial basis function (RBF) scheme. When the input/output parameters are not specified, the tool interpolates all LAS files contained within the working directory.
#> LidarRemoveDuplicates: Removes duplicate points from a LiDAR data set.
#> LidarRemoveOutliers: Removes outliers (high and low points) in a LiDAR point cloud.
#> LidarRooftopAnalysis: Identifies roof segments in a LiDAR point cloud.
#> LidarSegmentation: Segments a LiDAR point cloud based on differences in the orientation of fitted planar surfaces and point proximity.
#> LidarSegmentationBasedFilter: Identifies ground points within LiDAR point clouds using a segmentation based approach.
#> LidarTINGridding: Creates a raster grid based on a Delaunay triangular irregular network (TIN) fitted to LiDAR points.
#> LidarThin: Thins a LiDAR point cloud, reducing point density.
#> LidarThinHighDensity: Thins points from high density areas within a LiDAR point cloud.
#> LidarTile: Tiles a LiDAR LAS file into multiple LAS files.
#> LidarTileFootprint: Creates a vector polygon of the convex hull of a LiDAR point cloud. When the input/output parameters are not specified, the tool works with all LAS files contained within the working directory.
#> LidarTophatTransform: Performs a white top-hat transform on a Lidar dataset; as an estimate of height above ground, this is useful for modelling the vegetation canopy.
#> NormalVectors: Calculates normal vectors for points within a LAS file and stores these data (XYZ vector components) in the RGB field.
#> SelectTilesByPolygon: Copies LiDAR tiles overlapping with a polygon into an output directory.
#> ZlidarToLas: Converts one or more zlidar files into the LAS data format.
#> ModifyLidar: Modify points within a LiDAR point cloud based on point properties.
#> ColourizeBasedOnPointReturns: Sets the RGB values of a LiDAR point cloud based on the point returns.
#> FilterLidarByReferenceSurface: Filters points within a LiDAR point cloud based on a reference surface.
#> SmoothVegetationResidual: This tool can smooth the residual roughness due to vegetation cover in LiDAR DEMs.
#> SortLidar: Sorts LiDAR points based on their properties.
#> IndividualTreeDetection: Identifies points in a LiDAR point cloud that are associated with the tops of individual trees.
#> SplitLidar: Splits LiDAR points up into a series of new files based on their properties.
#> RecoverFlightlineInfo: Associates LiDAR points by their flightlines.
#> ColourizeBasedOnClass: Sets the RGB values of a LiDAR point cloud based on the point classification values.
#> LidarPointReturnAnalysis: This tool performs a quality control check on the return values of points in a LiDAR file.
#> LidarShift: Shifts the x,y,z coordinates of a LiDAR file.
#> FilterLidarByPercentile: Filters points within a LiDAR point cloud based on local elevation percentile.
#> LidarContour: This tool creates a vector contour coverage from an input LiDAR point file.
#> ImprovedGroundPointFilter: Filters points within a LiDAR point cloud based on a reference surface.
#> LidarSibsonInterpolation: This tool interpolates one or more LiDAR tiles using Sibson's natural neighbour method.
#> ClassifyLidar: Classify points within a LiDAR point cloud based on point properties.
#> LidarEigenvalueFeatures: Calculate eigenvalue-based metrics from a LiDAR point cloud.
#> FilterLidar: Filters points within a LiDAR point cloud based on point properties.
#> NormalizeLidar: Normalizes a LiDAR point cloud.


# Prints the help for a specific tool.
wbt_tool_help("lidar_info")
#> LidarInfo
#> Description:
#> Prints information about a LiDAR (LAS) dataset, including header, point return frequency, and classification data and information about the variable length records (VLRs) and geokeys.
#> Toolbox: LiDAR Tools
#> Parameters:
#> 
#> Flag               Description
#> -----------------  -----------
#> -i, --input        Input LiDAR file.
#> -o, --output       Output HTML file for summary report.
#> --density          Flag indicating whether or not to calculate the average point density and nominal point spacing.
#> --vlr              Flag indicating whether or not to print the variable length records (VLRs).
#> --geokeys          Flag indicating whether or not to print the geokeys.
#> 
#> 
#> Example usage:
#> >>./whitebox_tools -r=LidarInfo -v --wd="/path/to/data/" -i=file.las --vlr --geokeys"
#> ./whitebox_tools -r=LidarInfo --wd="/path/to/data/" -i=file.las


# Retrieves the tool parameter descriptions for a specific tool.
wbt_tool_parameters("slope")
#> {"parameters": [{"name":"Input DEM File","flags":["-i","--dem"],"description":"Input raster DEM file.","parameter_type":{"ExistingFile":"Raster"},"default_value":null,"optional":false},{"name":"Output File","flags":["-o","--output"],"description":"Output raster file.","parameter_type":{"NewFile":"Raster"},"default_value":null,"optional":false},{"name":"Z Conversion Factor","flags":["--zfactor"],"description":"Optional multiplier for when the vertical and horizontal units are not the same.","parameter_type":"Float","default_value":null,"optional":true},{"name":"Units","flags":["--units"],"description":"Units of output raster; options include 'degrees', 'radians', 'percent'","parameter_type":{"OptionList":["degrees","radians","percent"]},"default_value":"degrees","optional":true}]}


# View the source code for a specific tool on the source code repository.
wbt_view_code("breach_depressions")
#> https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/breach_depressions.rs

Available Tools

The WhiteboxTools library currently contains more than 537 tools, which are each grouped based on their main function into one of the following categories: Data Tools, GIS Analysis, Hydrological Analysis, Image Analysis, LiDAR Analysis, Mathematical and Statistical Analysis, Stream Network Analysis, and Terrain Analysis. For a listing of available tools, complete with documentation and usage details, please see the ‘WhiteboxTools’ User Manual.

If you are interested in using the ‘WhiteboxTools’ command-line program, check ‘WhiteboxTools’ Usage

Contributing

If you would like to contribute to the project as a developer, follow these instructions to get started:

  1. Fork the whiteboxR repository (https://github.com/opengeos/whiteboxR)
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am ‘Add some feature’)
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

Unless explicitly stated otherwise, any contribution intentionally submitted for inclusion in the work shall be licensed as the MIT license without any additional terms or conditions.

License

The whitebox R package is distributed under the MIT license, a permissive open-source (free software) license.

Reporting Bugs

whitebox is distributed as is and without warranty of suitability for application. If you encounter flaws with the software (i.e. bugs) please report the issue. Providing a detailed description of the conditions under which the bug occurred will help to identify the bug. Use the Issues tracker on GitHub to report issues with the software and to request feature enchancements. Please do not email Dr. Lindsay directly with bugs.

Copy Link

Version

Install

install.packages('whitebox')

Monthly Downloads

1,085

Version

2.4.0

License

MIT + file LICENSE

Issues

Pull Requests

Stars

Forks

Maintainer

Andrew Brown

Last Published

May 27th, 2024

Functions in whitebox (2.4.0)

wbt_install

Download and Install 'WhiteboxTools'
wbt

Run WhiteboxTools by Tool Name
check_whitebox_binary

Check for 'WhiteboxTools' executable path
wbt_accumulation_curvature

Accumulation curvature
sample_dem_data

Convenience method for path to sample DEM
wbt_add

Add
wbt_absolute_value

Absolute value
wbt_activate

Activate 'WhiteboxTools' Extensions
wbt_adaptive_filter

Adaptive filter
wbt_arsinh

Arsinh
wbt_artanh

Artanh
wbt_and

And
wbt_attribute_correlation

Attribute correlation
wbt_ascii_to_las

Ascii to las
wbt_add_point_coordinates_to_table

Add point coordinates to table
wbt_average_overlay

Average overlay
wbt_aspect

Aspect
wbt_arc_sin

Arc sin
wbt_atan2

Atan2
wbt_average_flowpath_slope

Average flowpath slope
wbt_attribute_histogram

Attribute histogram
wbt_attribute_scattergram

Attribute scattergram
wbt_breach_depressions_least_cost

Breach depressions least cost
wbt_average_normal_vector_angular_deviation

Average normal vector angular deviation
wbt_block_maximum_gridding

Block maximum gridding
wbt_basins

Basins
wbt_boundary_shape_complexity

Boundary shape complexity
wbt_breach_depressions

Breach depressions
wbt_average_upslope_flowpath_length

Average upslope flowpath length
wbt_assess_route

Assess route
wbt_arc_tan

Arc tan
wbt_arcosh

Arcosh
wbt_breakline_mapping

Breakline mapping
wbt_aggregate_raster

Aggregate raster
wbt_attribute_correlation_neighbourhood_analysis

Attribute correlation neighbourhood analysis
wbt_arc_cos

Arc cos
wbt_bilateral_filter

Bilateral filter
wbt_breach_single_cell_pits

Breach single cell pits
wbt_colourize_based_on_class

Colourize based on class
wbt_balance_contrast_enhancement

Balance contrast enhancement
wbt_anova

Anova
wbt_clip_raster_to_polygon

Clip raster to polygon
wbt_canny_edge_detection

Canny edge detection
wbt_classify_buildings_in_lidar

Classify buildings in lidar
wbt_centroid_vector

Centroid vector
wbt_ceil

Ceil
wbt_clean_vector

Clean vector
wbt_count_if

Count if
wbt_change_vector_analysis

Change vector analysis
wbt_classify_overlap_points

Classify overlap points
wbt_clip

Clip
wbt_centroid

Centroid
wbt_conservative_smoothing_filter

Conservative smoothing filter
wbt_circular_variance_of_aspect

Circular variance of aspect
wbt_conditioned_latin_hypercube

Conditioned latin hypercube
wbt_closing

Closing
wbt_classify_lidar

Classify lidar
wbt_buffer_raster

Buffer raster
wbt_correct_vignetting

Correct vignetting
wbt_convert_raster_format

Convert raster format
wbt_d8_flow_accumulation

D8 flow accumulation
wbt_construct_vector_tin

Construct vector tin
wbt_cost_distance

Cost distance
wbt_burn_streams_at_roads

Burn streams at roads
wbt_corner_detection

Corner detection
wbt_clip_lidar_to_polygon

Clip lidar to polygon
wbt_create_colour_composite

Create colour composite
wbt_clump

Clump
wbt_d_inf_flow_accumulation

D inf flow accumulation
wbt_cumulative_distribution

Cumulative distribution
wbt_create_rectangular_vector_grid

Create rectangular vector grid
wbt_cost_pathway

Cost pathway
wbt_cos

Cos
wbt_block_minimum_gridding

Block minimum gridding
wbt_contours_from_points

Contours from points
wbt_contours_from_raster

Contours from raster
wbt_crispness_index

Crispness index
wbt_cosh

Cosh
wbt_conditional_evaluation

Conditional evaluation
wbt_colourize_based_on_point_returns

Colourize based on point returns
wbt_dev_from_mean_elev

Dev from mean elev
wbt_d8_mass_flux

D8 mass flux
wbt_d8_pointer

D8 pointer
wbt_curvedness

Curvedness
wbt_csv_points_to_vector

Csv points to vector
wbt_cross_tabulation

Cross tabulation
wbt_depth_to_water

Depth to water
wbt_divide

Divide
wbt_cost_allocation

Cost allocation
wbt_diff_from_mean_elev

Diff from mean elev
wbt_dissolve

Dissolve
wbt_decrement

Decrement
wbt_d_inf_mass_flux

D inf mass flux
wbt_dem_void_filling

Dem void filling
wbt_compactness_ratio

Compactness ratio
wbt_dbscan

Dbscan
wbt_distance_to_outlet

Distance to outlet
wbt_edge_proportion

Edge proportion
wbt_edge_preserving_mean_filter

Edge preserving mean filter
wbt_direct_decorrelation_stretch

Direct decorrelation stretch
wbt_convert_nodata_to_zero

Convert nodata to zero
wbt_edge_density

Edge density
wbt_downslope_distance_to_stream

Downslope distance to stream
wbt_edge_contamination

Edge contamination
wbt_diversity_filter

Diversity filter
wbt_d_inf_pointer

D inf pointer
wbt_difference

Difference
wbt_directional_relief

Directional relief
wbt_downslope_flowpath_length

Downslope flowpath length
wbt_elev_above_pit

Elev above pit
wbt_depth_in_sink

Depth in sink
wbt_diff_of_gaussian_filter

Diff of gaussian filter
wbt_difference_curvature

Difference curvature
wbt_downslope_index

Downslope index
wbt_create_hexagonal_vector_grid

Create hexagonal vector grid
wbt_emboss_filter

Emboss filter
wbt_create_plane

Create plane
wbt_erase_polygon_from_raster

Erase polygon from raster
wbt_elevation_above_stream_euclidean

Elevation above stream euclidean
wbt_euclidean_allocation

Euclidean allocation
wbt_elev_percentile

Elev percentile
wbt_equal_to

Equal to
wbt_elev_relative_to_min_max

Elev relative to min max
wbt_erase_polygon_from_lidar

Erase polygon from lidar
wbt_elev_relative_to_watershed_min_max

Elev relative to watershed min max
wbt_exposure_towards_wind_flux

Exposure towards wind flux
wbt_evaluate_training_sites

Evaluate training sites
wbt_export_table_to_csv

Export table to csv
wbt_erase

Erase
wbt_euclidean_distance

Euclidean distance
wbt_exp2

Exp2
wbt_extend_vector_lines

Extend vector lines
wbt_eliminate_coincident_points

Eliminate coincident points
wbt_extract_streams

Extract streams
wbt_elongation_ratio

Elongation ratio
wbt_elevation_above_stream

Elevation above stream
wbt_fd8_flow_accumulation

Fd8 flow accumulation
wbt_extract_raster_values_at_points

Extract raster values at points
wbt_fill_burn

Fill burn
wbt_extract_nodes

Extract nodes
wbt_fill_depressions

Fill depressions
wbt_extract_valleys

Extract valleys
wbt_feature_preserving_smoothing

Feature preserving smoothing
wbt_embankment_mapping

Embankment mapping
wbt_fetch_analysis

Fetch analysis
wbt_file_path

Prepare File Paths for WhiteboxTools Commands
wbt_filter_lidar_classes

Filter lidar classes
wbt_fill_missing_data

Fill missing data
wbt_exp

Exp
wbt_fill_depressions_planchon_and_darboux

Fill depressions planchon and darboux
wbt_fast_almost_gaussian_filter

Fast almost gaussian filter
wbt_fill_depressions_wang_and_liu

Fill depressions wang and liu
wbt_farthest_channel_head

Farthest channel head
wbt_find_lowest_or_highest_points

Find lowest or highest points
wbt_filter_lidar

Filter lidar
wbt_flatten_lakes

Flatten lakes
wbt_generalize_with_similarity

Generalize with similarity
wbt_fix_dangling_arcs

Fix dangling arcs
wbt_find_ridges

Find ridges
wbt_filter_raster_features_by_area

Filter raster features by area
wbt_generalize_classified_raster

Generalize classified raster
wbt_floor

Floor
wbt_gaussian_scale_space

Gaussian scale space
wbt_generating_function

Generating function
wbt_find_main_stem

Find main stem
wbt_high_pass_median_filter

High pass median filter
wbt_horizontal_excess_curvature

Horizontal excess curvature
wbt_flow_length_diff

Flow length diff
wbt_flow_accumulation_full_workflow

Flow accumulation full workflow
wbt_find_no_flow_cells

Find no flow cells
wbt_fd8_pointer

Fd8 pointer
wbt_flip_image

Flip image
wbt_gamma_correction

Gamma correction
wbt_find_patch_or_class_edge_cells

Find patch or class edge cells
wbt_filter_lidar_scan_angles

Filter lidar scan angles
wbt_flightline_overlap

Flightline overlap
wbt_gaussian_contrast_stretch

Gaussian contrast stretch
wbt_find_flightline_edge_points

Find flightline edge points
wbt_high_pass_filter

High pass filter
wbt_flood_order

Flood order
wbt_height_above_ground

Height above ground
wbt_fill_single_cell_pits

Fill single cell pits
wbt_heat_map

Heat map
wbt_histogram_matching

Histogram matching
wbt_hack_stream_order

Hack stream order
wbt_image_correlation_neighbourhood_analysis

Image correlation neighbourhood analysis
wbt_gaussian_curvature

Gaussian curvature
wbt_greater_than

Greater than
wbt_gaussian_filter

Gaussian filter
wbt_image_correlation

Image correlation
wbt_histogram_matching_two_images

Histogram matching two images
wbt_horton_stream_order

Horton stream order
wbt_image_regression

Image regression
wbt_idw_interpolation

Idw interpolation
wbt_histogram_equalization

Histogram equalization
wbt_image_segmentation

Image segmentation
wbt_hillslopes

Hillslopes
wbt_hydrologic_connectivity

Hydrologic connectivity
wbt_hole_proportion

Hole proportion
wbt_hillshade

Hillshade
wbt_image_slider

Image slider
wbt_in_place_subtract

In place subtract
wbt_hypsometric_analysis

Hypsometric analysis
wbt_highest_position

Highest position
wbt_geomorphons

Geomorphons
wbt_image_stack_profile

Image stack profile
wbt_high_pass_bilateral_filter

High pass bilateral filter
wbt_in_place_multiply

In place multiply
wbt_find_parallel_flow

Find parallel flow
wbt_in_place_divide

In place divide
wbt_horizon_angle

Horizon angle
wbt_ihs_to_rgb

Ihs to rgb
wbt_image_autocorrelation

Image autocorrelation
wbt_inverse_principal_component_analysis

Inverse principal component analysis
wbt_hypsometrically_tinted_hillshade

Hypsometrically tinted hillshade
wbt_knn_regression

Knn regression
wbt_isobasins

Isobasins
wbt_las_to_ascii

Las to ascii
wbt_is_no_data

Is no data
wbt_insert_dams

Insert dams
wbt_impoundment_size_index

Impoundment size index
wbt_increment

Increment
wbt_jenson_snap_pour_points

Jenson snap pour points
wbt_help

Help description for 'WhiteboxTools'
wbt_join_tables

Join tables
wbt_in_place_add

In place add
wbt_install_wb_extension

Install wb extension
wbt_kappa_index

Kappa index
wbt_ks_test_for_normality

Ks test for normality
wbt_las_to_laz

Las to laz
wbt_length_of_upstream_channels

Length of upstream channels
wbt_laplacian_filter

Laplacian filter
wbt_init

Initialize 'WhiteboxTools'
wbt_intersect

Intersect
wbt_k_means_clustering

K means clustering
wbt_las_to_zlidar

Las to zlidar
wbt_individual_tree_detection

Individual tree detection
wbt_lidar_block_maximum

Lidar block maximum
wbt_layer_footprint

Layer footprint
wbt_knn_classification

Knn classification
wbt_lidar_classify_subset

Lidar classify subset
wbt_lidar_colourize

Lidar colourize
wbt_lidar_block_minimum

Lidar block minimum
wbt_lidar_ground_point_filter

Lidar ground point filter
wbt_las_to_shapefile

Las to shapefile
wbt_license

License information for 'WhiteboxTools'
wbt_laplacian_of_gaussian_filter

Laplacian of gaussian filter
wbt_lidar_elevation_slice

Lidar elevation slice
wbt_less_than

Less than
wbt_integral_image

Integral image
wbt_lidar_hillshade

Lidar hillshade
wbt_launch_wb_runner

Launch wb runner
wbt_lidar_hex_binning

Lidar hex binning
wbt_lidar_eigenvalue_features

Lidar eigenvalue features
wbt_lee_sigma_filter

Lee sigma filter
wbt_laz_to_las

Laz to las
wbt_lidar_digital_surface_model

Lidar digital surface model
wbt_lidar_contour

Lidar contour
wbt_las_to_multipoint_shapefile

Las to multipoint shapefile
wbt_lidar_point_density

Lidar point density
wbt_integer_division

Integer division
wbt_k_nearest_mean_filter

K nearest mean filter
wbt_launch_runner

Launch 'WhiteboxTools Runner' GUI
wbt_lidar_histogram

Lidar histogram
wbt_lidar_nearest_neighbour_gridding

Lidar nearest neighbour gridding
wbt_lidar_info

Lidar info
wbt_lidar_idw_interpolation

Lidar idw interpolation
wbt_lidar_point_return_analysis

Lidar point return analysis
wbt_lidar_kappa_index

Lidar kappa index
wbt_lidar_sibson_interpolation

Lidar sibson interpolation
wbt_lidar_remove_duplicates

Lidar remove duplicates
wbt_lidar_remove_outliers

Lidar remove outliers
wbt_lidar_rbf_interpolation

Lidar rbf interpolation
wbt_lidar_point_stats

Lidar point stats
wbt_lidar_segmentation

Lidar segmentation
wbt_lidar_shift

Lidar shift
wbt_lidar_thin_high_density

Lidar thin high density
wbt_lidar_thin

Lidar thin
wbt_lidar_tile

Lidar tile
wbt_lidar_ransac_planes

Lidar ransac planes
wbt_lidar_sort_by_time

Lidar sort by time
wbt_lidar_rooftop_analysis

Lidar rooftop analysis
wbt_lidar_tophat_transform

Lidar tophat transform
wbt_line_intersections

Line intersections
wbt_lidar_join

Lidar join
wbt_lidar_segmentation_based_filter

Lidar segmentation based filter
wbt_line_detection_filter

Line detection filter
wbt_list_unique_values_raster

List unique values raster
wbt_local_hypsometric_analysis

Local hypsometric analysis
wbt_lidar_tile_footprint

Lidar tile footprint
wbt_line_thinning

Line thinning
wbt_lidar_tin_gridding

Lidar tin gridding
wbt_log10

Log10
wbt_log2

Log2
wbt_list_unique_values

List unique values
wbt_ln

Ln
wbt_local_quadratic_regression

Local quadratic regression
wbt_lines_to_polygons

Lines to polygons
wbt_linearity_index

Linearity index
wbt_long_profile_from_points

Long profile from points
wbt_max

Max
wbt_max_absolute_overlay

Max absolute overlay
wbt_low_points_on_headwater_divides

Low points on headwater divides
wbt_logistic_regression

Logistic regression
wbt_longest_flowpath

Longest flowpath
wbt_list_tools

All available tools in 'WhiteboxTools'
wbt_long_profile

Long profile
wbt_lowest_position

Lowest position
wbt_max_overlay

Max overlay
wbt_max_elevation_deviation

Max elevation deviation
wbt_map_off_terrain_objects

Map off terrain objects
wbt_majority_filter

Majority filter
wbt_max_downslope_elev_change

Max downslope elev change
wbt_max_branch_length

Max branch length
wbt_max_upslope_elev_change

Max upslope elev change
wbt_max_anisotropy_dev_signature

Max anisotropy dev signature
wbt_max_upslope_flowpath_length

Max upslope flowpath length
wbt_merge_line_segments

Merge line segments
wbt_max_difference_from_mean

Max difference from mean
wbt_maximum_filter

Maximum filter
wbt_max_elev_dev_signature

Max elev dev signature
wbt_max_anisotropy_dev

Max anisotropy dev
wbt_mean_curvature

Mean curvature
wbt_min_absolute_overlay

Min absolute overlay
wbt_merge_table_with_csv

Merge table with csv
wbt_mean_filter

Mean filter
wbt_median_filter

Median filter
wbt_md_inf_flow_accumulation

Md inf flow accumulation
wbt_min_dist_classification

Min dist classification
wbt_min_overlay

Min overlay
wbt_minimal_curvature

Minimal curvature
wbt_maximal_curvature

Maximal curvature
wbt_minimum_bounding_circle

Minimum bounding circle
wbt_merge_vectors

Merge vectors
wbt_max_upslope_value

Max upslope value
wbt_min

Min
wbt_minimum_bounding_box

Minimum bounding box
wbt_medoid

Medoid
wbt_minimum_convex_hull

Minimum convex hull
wbt_min_downslope_elev_change

Min downslope elev change
wbt_modify_lidar

Modify lidar
wbt_minimum_filter

Minimum filter
wbt_modify_no_data_value

Modify no data value
wbt_mosaic

Mosaic
wbt_modulo

Modulo
wbt_minimum_bounding_envelope

Minimum bounding envelope
wbt_multi_part_to_single_part

Multi part to single part
wbt_mosaic_with_feathering

Mosaic with feathering
wbt_min_max_contrast_stretch

Min max contrast stretch
wbt_modified_k_means_clustering

Modified k means clustering
wbt_multiscale_std_dev_normals

Multiscale std dev normals
wbt_multidirectional_hillshade

Multidirectional hillshade
wbt_multiply

Multiply
wbt_multiscale_roughness_signature

Multiscale roughness signature
wbt_multiscale_elevation_percentile

Multiscale elevation percentile
wbt_multiscale_roughness

Multiscale roughness
wbt_multiscale_curvatures

Multiscale curvatures
wbt_multiscale_std_dev_normals_signature

Multiscale std dev normals signature
wbt_multiscale_topographic_position_image

Multiscale topographic position image
wbt_nearest_neighbour_gridding

Nearest neighbour gridding
wbt_negate

Negate
wbt_normalized_difference_index

Normalized difference index
wbt_multiply_overlay

Multiply overlay
wbt_normalize_lidar

Normalize lidar
wbt_natural_neighbour_interpolation

Natural neighbour interpolation
wbt_new_raster_from_base

New raster from base
wbt_normal_vectors

Normal vectors
wbt_narrowness_index

Narrowness index
wbt_not_equal_to

Not equal to
wbt_not

Not
wbt_openness

Openness
wbt_num_upslope_neighbours

Num upslope neighbours
wbt_parallelepiped_classification

Parallelepiped classification
wbt_panchromatic_sharpening

Panchromatic sharpening
wbt_olympic_filter

Olympic filter
wbt_num_downslope_neighbours

Num downslope neighbours
wbt_opening

Opening
wbt_num_inflowing_neighbours

Num inflowing neighbours
wbt_percentile_filter

Percentile filter
wbt_or

Or
wbt_percent_equal_to

Percent equal to
wbt_percent_less_than

Percent less than
wbt_polygon_perimeter

Polygon perimeter
wbt_percentage_contrast_stretch

Percentage contrast stretch
wbt_percent_greater_than

Percent greater than
wbt_polygon_short_axis

Polygon short axis
wbt_pick_from_list

Pick from list
wbt_phi_coefficient

Phi coefficient
wbt_polygons_to_lines

Polygons to lines
wbt_piecewise_contrast_stretch

Piecewise contrast stretch
wbt_plan_curvature

Plan curvature
wbt_polygonize

Polygonize
wbt_pennock_landform_class

Pennock landform class
wbt_principal_component_analysis

Principal component analysis
wbt_quinn_flow_accumulation

Quinn flow accumulation
wbt_polygon_long_axis

Polygon long axis
wbt_patch_orientation

Patch orientation
wbt_quantiles

Quantiles
wbt_power

Power
wbt_print_geo_tiff_tags

Print geo tiff tags
wbt_profile_curvature

Profile curvature
wbt_prewitt_filter

Prewitt filter
wbt_polygon_area

Polygon area
wbt_radial_basis_function_interpolation

Radial basis function interpolation
wbt_qin_flow_accumulation

Qin flow accumulation
wbt_paired_sample_t_test

Paired sample t test
wbt_percent_elev_range

Percent elev range
wbt_raster_cell_assignment

Raster cell assignment
wbt_profile

Profile
wbt_perimeter_area_ratio

Perimeter area ratio
wbt_radius_of_gyration

Radius of gyration
wbt_raise_walls

Raise walls
wbt_random_sample

Random sample
wbt_raster_area

Raster area
wbt_raster_histogram

Raster histogram
wbt_raster_calculator

Raster calculator
wbt_random_field

Random field
wbt_random_forest_classification

Random forest classification
wbt_range_filter

Range filter
wbt_random_forest_regression

Random forest regression
wbt_reclass_equal_interval

Reclass equal interval
wbt_reciprocal

Reciprocal
wbt_rasterize_streams

Rasterize streams
wbt_reclass

Reclass
wbt_raster_perimeter

Raster perimeter
wbt_raster_summary_stats

Raster summary stats
wbt_raster_streams_to_vector

Raster streams to vector
wbt_raster_to_vector_lines

Raster to vector lines
wbt_reconcile_multiple_headers

Reconcile multiple headers
wbt_remove_off_terrain_objects

Remove off terrain objects
wbt_relative_aspect

Relative aspect
wbt_reclass_from_file

Reclass from file
wbt_relative_topographic_position

Relative topographic position
wbt_remove_field_edge_points

Remove field edge points
wbt_raster_to_vector_polygons

Raster to vector polygons
wbt_resample

Resample
wbt_reinitialize_attribute_table

Reinitialize attribute table
wbt_recover_flightline_info

Recover flightline info
wbt_related_circumscribing_circle

Related circumscribing circle
wbt_recreate_pass_lines

Recreate pass lines
wbt_rho8_pointer

Rho8 pointer
wbt_remove_raster_polygon_holes

Remove raster polygon holes
wbt_rescale_value_range

Rescale value range
wbt_remove_spurs

Remove spurs
wbt_remove_short_streams

Remove short streams
wbt_raster_to_vector_points

Raster to vector points
wbt_remove_polygon_holes

Remove polygon holes
wbt_rho8_flow_accumulation

Rho8 flow accumulation
wbt_rgb_to_ihs

Rgb to ihs
wbt_repair_stream_vector_topology

Repair stream vector topology
wbt_run_tool

Run a tool in 'WhiteboxTools' by name
wbt_rotor

Rotor
wbt_scharr_filter

Scharr filter
wbt_ring_curvature

Ring curvature
wbt_river_centerlines

River centerlines
wbt_roberts_cross_filter

Roberts cross filter
wbt_root_mean_square_error

Root mean square error
wbt_rust_backtrace

Convenience method for setting RUST_BACKTRACE options for debugging
wbt_ruggedness_index

Ruggedness index
wbt_round

Round
wbt_shreve_stream_magnitude

Shreve stream magnitude
wbt_set_nodata_value

Set nodata value
wbt_shape_complexity_index

Shape complexity index
wbt_select_tiles_by_polygon

Select tiles by polygon
wbt_shape_complexity_index_raster

Shape complexity index raster
wbt_sediment_transport_index

Sediment transport index
wbt_shadow_image

Shadow image
wbt_sigmoidal_contrast_stretch

Sigmoidal contrast stretch
wbt_shape_index

Shape index
wbt_shadow_animation

Shadow animation
wbt_smooth_vectors

Smooth vectors
wbt_slope

Slope
wbt_sin

Sin
wbt_slope_vs_elevation_plot

Slope vs elevation plot
wbt_snap_pour_points

Snap pour points
wbt_sink

Sink
wbt_smooth_vegetation_residual

Smooth vegetation residual
wbt_sinh

Sinh
wbt_single_part_to_multi_part

Single part to multi part
wbt_source

Initialize an R object containing spatial data for use by WhiteboxTools
wbt_slope_vs_aspect_plot

Slope vs aspect plot
wbt_spherical_std_dev_of_normals

Spherical std dev of normals
wbt_square_root

Square root
wbt_split_colour_composite

Split colour composite
wbt_sort_lidar

Sort lidar
wbt_square

Square
wbt_split_vector_lines

Split vector lines
wbt_sobel_filter

Sobel filter
wbt_split_lidar

Split lidar
wbt_split_with_lines

Split with lines
wbt_strahler_stream_order

Strahler stream order
wbt_stream_link_length

Stream link length
wbt_strahler_order_basins

Strahler order basins
wbt_stream_link_slope

Stream link slope
wbt_stream_link_class

Stream link class
wbt_standard_deviation_filter

Standard deviation filter
wbt_standard_deviation_contrast_stretch

Standard deviation contrast stretch
wbt_stochastic_depression_analysis

Stochastic depression analysis
wbt_stream_link_identifier

Stream link identifier
wbt_standard_deviation_of_slope

Standard deviation of slope
wbt_stream_slope_continuous

Stream slope continuous
wbt_tan

Tan
wbt_subbasins

Subbasins
wbt_surface_area_ratio

Surface area ratio
wbt_time_in_daylight

Time in daylight
wbt_thicken_raster_line

Thicken raster line
wbt_sum_overlay

Sum overlay
wbt_tool_parameters

Tool parameter descriptions for a specific tool in 'WhiteboxTools'
wbt_stream_power_index

Stream power index
wbt_symmetrical_difference

Symmetrical difference
wbt_to_degrees

To degrees
wbt_subtract

Subtract
wbt_tangential_curvature

Tangential curvature
wbt_svm_classification

Svm classification
wbt_svm_regression

Svm regression
wbt_tin_gridding

Tin gridding
wbt_tool_help

Help description for a specific tool in 'WhiteboxTools'
wbt_topo_render

Topo render
wbt_total_curvature

Total curvature
wbt_to_radians

To radians
wbt_toolbox

The toolbox for a specific tool in WhiteboxTools
wbt_trend_surface_vector_points

Trend surface vector points
wbt_tanh

Tanh
wbt_tophat_transform

Tophat transform
wbt_update_nodata_cells

Update nodata cells
wbt_trace_downslope_flowpaths

Trace downslope flowpaths
wbt_topographic_position_animation

Topographic position animation
wbt_trend_surface

Trend surface
wbt_total_filter

Total filter
wbt_tributary_identifier

Tributary identifier
wbt_unsharp_masking

Unsharp masking
wbt_union

Union
wbt_unsphericity

Unsphericity
wbt_turning_bands_simulation

Turning bands simulation
wbt_upslope_depression_storage

Upslope depression storage
wbt_unnest_basins

Unnest basins
wbt_topological_stream_order

Topological stream order
wbt_travelling_salesman_problem

Travelling salesman problem
wbt_vector_lines_to_raster

Vector lines to raster
wbt_vector_points_to_raster

Vector points to raster
wbt_two_sample_ks_test

Two sample ks test
wbt_vector_polygons_to_raster

Vector polygons to raster
wbt_view_code

Source code for a specific tool in 'WhiteboxTools'
wbt_vector_hex_binning

Vector hex binning
wbt_user_defined_weights_filter

User ined weights filter
wbt_viewshed

Viewshed
wbt_truncate

Truncate
wbt_vector_stream_network_analysis

Vector stream network analysis
wbt_wilcoxon_signed_rank_test

Wilcoxon signed rank test
wbt_weighted_sum

Weighted sum
wbt_vertical_excess_curvature

Vertical excess curvature
wbt_write_function_memory_insertion

Write function memory insertion
wbt_xor

Xor
wbt_yield_normalization

Yield normalization
wbt_yield_map

Yield map
wbt_watershed

Watershed
whitebox-package

whitebox: 'WhiteboxTools' R Frontend
wbt_visibility_index

Visibility index
wbt_version

Version information for 'WhiteboxTools'
wbt_z_scores

Z scores
wbt_zlidar_to_las

Zlidar to las
wbt_yield_filter

Yield filter
wbt_voronoi_diagram

Voronoi diagram
wbt_wetness_index

Wetness index
wbt_weighted_overlay

Weighted overlay
wbt_zonal_statistics

Zonal statistics
wbttools

'WhiteboxTools' Tool List
wbttoolparameters

'WhiteboxTools' Tool Parameters