From af871194ae265fe89c5e51c1db8058c5985cc187 Mon Sep 17 00:00:00 2001 From: Andrew Gene Brown Date: Sat, 25 May 2024 15:15:07 -0700 Subject: [PATCH 1/2] update URLs/README --- README.Rmd | 8 +-- README.md | 77 ++++++++++------------ man/figures/README-terra-plot-facc-1.jpeg | Bin 27795 -> 27157 bytes vignettes/demo.Rmd | 2 +- 4 files changed, 40 insertions(+), 47 deletions(-) diff --git a/README.Rmd b/README.Rmd index 51fc95228..6dd098939 100644 --- a/README.Rmd +++ b/README.Rmd @@ -18,7 +18,7 @@ knitr::opts_chunk$set( [![CRAN\_Status\_Badge](https://www.r-pkg.org/badges/version/whitebox)](https://cran.r-project.org/package=whitebox) [![CRAN download count](https://cranlogs.r-pkg.org/badges/grand-total/whitebox)](https://cranlogs.r-pkg.org/badges/grand-total/whitebox) [![whitebox Manual](https://img.shields.io/badge/docs-HTML-informational)](https://whiteboxR.gishub.org/reference/index.html) -[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/license/MIT/) +[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/license/MIT) [![R-CMD-check](https://github.com/opengeos/whiteboxR/actions/workflows/R-CMD-check.yaml/badge.svg)](https://github.com/opengeos/whiteboxR/actions/workflows/R-CMD-check.yaml) [![codecov](https://codecov.io/gh/opengeos/whiteboxR/branch/master/graph/badge.svg)](https://app.codecov.io/gh/opengeos/whiteboxR) [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/brownag/whitebox-r-binder/master?urlpath=rstudio) @@ -37,7 +37,7 @@ This repository is related to the **whitebox** R package for geospatial analysis * CRAN link: * WhiteboxTools: * User Manual: -* Free software: [MIT license](https://opensource.org/license/MIT/) +* Free software: [MIT license](https://opensource.org/license/MIT) **Contents** @@ -231,12 +231,12 @@ If you would like to contribute to the project as a developer, follow these inst 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](https://opensource.org/license/MIT/) without any additional terms or conditions. +Unless explicitly stated otherwise, any contribution intentionally submitted for inclusion in the work shall be licensed as the [MIT license](https://opensource.org/license/MIT) without any additional terms or conditions. ## License -The whitebox **R** package is distributed under the [MIT license](https://opensource.org/license/MIT/), a permissive open-source (free software) license. +The whitebox **R** package is distributed under the [MIT license](https://opensource.org/license/MIT), a permissive open-source (free software) license. ## Reporting Bugs diff --git a/README.md b/README.md index 024f9ced4..1d7450f0e 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ count](https://cranlogs.r-pkg.org/badges/grand-total/whitebox)](https://cranlogs [![whitebox Manual](https://img.shields.io/badge/docs-HTML-informational)](https://whiteboxR.gishub.org/reference/index.html) [![License: -MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/license/MIT/) +MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/license/MIT) [![R-CMD-check](https://github.com/opengeos/whiteboxR/actions/workflows/R-CMD-check.yaml/badge.svg)](https://github.com/opengeos/whiteboxR/actions/workflows/R-CMD-check.yaml) [![codecov](https://codecov.io/gh/opengeos/whiteboxR/branch/master/graph/badge.svg)](https://app.codecov.io/gh/opengeos/whiteboxR) [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/brownag/whitebox-r-binder/master?urlpath=rstudio) @@ -31,24 +31,17 @@ command-line program called - CRAN link: - WhiteboxTools: - User Manual: -- Free software: [MIT license](https://opensource.org/license/MIT/) +- Free software: [MIT license](https://opensource.org/license/MIT) **Contents** -- [whitebox](#whitebox) - - [Description](#description) - - [Installation](#installation) - - [1. CRAN](#1-cran) - - [2. GitHub](#2-github) - - [3. Docker](#3-docker) - - [Usage](#usage) - - [Documentation](#documentation) - - [Installing ‘WhiteboxTools’](#installing-whiteboxtools) - - [whitebox](#whitebox-1) - - [Available Tools](#available-tools) - - [Contributing](#contributing) - - [License](#license) - - [Reporting Bugs](#reporting-bugs) +1. [Description](#description) +2. [Installation](#installation) +3. [Usage](#usage) +4. [Available Tools](#available-tools) +5. [Contributing](#contributing) +6. [License](#license) +7. [Reporting Bugs](#reporting-bugs) ## Description @@ -99,16 +92,6 @@ from [GitHub](https://github.com/opengeos/whiteboxR) as follows: if (!require("remotes")) install.packages('remotes') remotes::install_github("opengeos/whiteboxR", build = FALSE) -### 3. Docker - -whiteboxR is also available on [Docker Hub](https://hub.docker.com/r/giswqs/whiteboxr). Run the following command to start a Docker container with whiteboxR installed. - -```bash -docker run -d -p 8787:8787 -e PASSWORD=mypassword -v ~/Documents:/home/rstudio/ giswqs/whiteboxr -``` - -Then open your web browser and navigate to `http://localhost:8787`. The default username is `rstudio` and the default password is `mypassword`. - ## Usage The function `wbt_init()` checks the path to the ‘WhiteboxTools’ binary. @@ -251,6 +234,7 @@ size of the filter kernel. #> 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 @@ -271,21 +255,24 @@ size of the filter kernel. #> 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.3.0 (c) Dr. John Lindsay 2017-2023 + #> 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 63 Tools containing keywords: + #> 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. @@ -333,22 +320,26 @@ size of the filter kernel. #> 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. - #> NormalizeLidar: Normalizes a LiDAR point cloud. - #> LidarShift: Shifts the x,y,z coordinates of a LiDAR file. - #> SmoothVegetationResidual: This tool can smooth the residual roughness due to vegetation cover in LiDAR DEMs. - #> LidarPointReturnAnalysis: This tool performs a quality control check on the return values of points in a LiDAR file. - #> FilterLidar: Filters points within a LiDAR point cloud based on point properties. - #> ColourizeBasedOnClass: Sets the RGB values of a LiDAR point cloud based on the point classification values. - #> SortLidar: Sorts LiDAR points based on their properties. - #> ColourizeBasedOnPointReturns: Sets the RGB values of a LiDAR point cloud based on the point returns. - #> 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. #> ModifyLidar: Modify points within a LiDAR point cloud based on point properties. - #> IndividualTreeDetection: Identifies points in a LiDAR point cloud that are associated with the tops of individual trees. + #> FilterLidarByReferenceSurface: Filters points within a LiDAR point cloud based on a reference surface. + #> LidarShift: Shifts the x,y,z coordinates of a LiDAR file. + #> NormalizeLidar: Normalizes a LiDAR point cloud. + #> FilterLidarByPercentile: Filters points within a LiDAR point cloud based on local elevation percentile. #> LidarEigenvalueFeatures: Calculate eigenvalue-based metrics from a LiDAR point cloud. + #> LidarPointReturnAnalysis: This tool performs a quality control check on the return values of points in a LiDAR file. #> SplitLidar: Splits LiDAR points up into a series of new files based on their properties. + #> ClassifyLidar: Classify points within a LiDAR point cloud based on point properties. #> LidarContour: This tool creates a vector contour coverage from an input LiDAR point file. + #> ColourizeBasedOnPointReturns: Sets the RGB values of a LiDAR point cloud based on the point returns. + #> LidarSibsonInterpolation: This tool interpolates one or more LiDAR tiles using Sibson's natural neighbour method. + #> SmoothVegetationResidual: This tool can smooth the residual roughness due to vegetation cover in LiDAR DEMs. + #> ImprovedGroundPointFilter: Filters points within a LiDAR point cloud based on a reference surface. #> RecoverFlightlineInfo: Associates LiDAR points by their flightlines. + #> SortLidar: Sorts LiDAR points based on their properties. + #> FilterLidar: Filters points within a LiDAR point cloud based on point properties. + #> ColourizeBasedOnClass: Sets the RGB values of a LiDAR point cloud based on the point classification values. + #> IndividualTreeDetection: Identifies points in a LiDAR point cloud that are associated with the tops of individual trees. + # Prints the help for a specific tool. wbt_tool_help("lidar_info") @@ -371,10 +362,12 @@ size of the filter kernel. #> >>./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 @@ -382,7 +375,7 @@ size of the filter kernel. ## Available Tools The **[WhiteboxTools](https://github.com/jblindsay/whitebox-tools)** -library currently contains more than **545** tools, which are each +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 @@ -409,13 +402,13 @@ these instructions to get started: Unless explicitly stated otherwise, any contribution intentionally submitted for inclusion in the work shall be licensed as the [MIT -license](https://opensource.org/license/MIT/) without any additional +license](https://opensource.org/license/MIT) without any additional terms or conditions. ## License The whitebox **R** package is distributed under the [MIT -license](https://opensource.org/license/MIT/), a permissive open-source +license](https://opensource.org/license/MIT), a permissive open-source (free software) license. ## Reporting Bugs diff --git a/man/figures/README-terra-plot-facc-1.jpeg b/man/figures/README-terra-plot-facc-1.jpeg index 1450fe4da05d5d535acdcdbf680156abe40ab842..3312285e0c8669a66cf0e0858dff0bde1af4cdf4 100644 GIT binary patch literal 27157 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 a+mkT2)z^T>0cIcmJ7V|$?LGA5^Zx)KXFLr6 diff --git a/vignettes/demo.Rmd b/vignettes/demo.Rmd index d7172a34e..8f59b9fc1 100644 --- a/vignettes/demo.Rmd +++ b/vignettes/demo.Rmd @@ -335,7 +335,7 @@ Here we will take our processing of DEMs a bit further by performing several Whi We are interested in identifying and ranking tributaries of watercourses (streams and rivers). -An R package that makes use of the `whitebox` R package is [hydroweight](https://github.com/bkielstr/hydroweight). Here is a brief example on the beginning of the `hydroweight` README showing how the breached DEM above can be used in a spatial analysis of stream networks. +An R package that makes use of the `whitebox` R package is [hydroweight](https://github.com/GLFC-WET/hydroweight). Here is a brief example on the beginning of the `hydroweight` README showing how the breached DEM above can be used in a spatial analysis of stream networks. #### Setup From c504f56bbb8e46fecc107526cb8fe00d7e5c6ae3 Mon Sep 17 00:00:00 2001 From: Andrew Gene Brown Date: Sat, 25 May 2024 12:23:31 -0700 Subject: [PATCH 2/2] whitebox 2.4.0 --- .Rbuildignore | 2 ++ .gitignore | 1 + DESCRIPTION | 4 ++-- Dockerfile | 5 ++--- LICENSE | 4 ++-- LICENSE.md | 21 +++++++++++++++++ NEWS.md | 6 +++++ PY2R/automation.py | 4 ++-- PY2R/scripts/math_stat_analysis.R | 4 ++-- PY2R/scripts/stream_network_analysis.R | 6 +---- PY2R/scripts/terrain_analysis.R | 2 +- PY2R/whitebox_tools.py | 8 +++---- R/math_stat_analysis.R | 4 ++-- R/stream_network_analysis.R | 8 +------ R/terrain_analysis.R | 2 +- R/wbt.R | 5 ++++- README.Rmd | 2 +- README.md | 26 +++++++++++----------- cran-comments.md | 10 +++------ data-raw/whitebox_ext.json | 2 +- data-raw/whitebox_tools.json | 2 +- data/wbttoolparameters.rda | Bin 46352 -> 45552 bytes data/wbttools.rda | Bin 30020 -> 29384 bytes man/wbt_breakline_mapping.Rd | 2 +- man/wbt_conditioned_latin_hypercube.Rd | 4 ++-- man/wbt_vector_stream_network_analysis.Rd | 6 ----- man/wbttoolparameters.Rd | 2 +- man/wbttools.Rd | 2 +- man/whitebox-package.Rd | 1 - misc/install.R | 1 - 30 files changed, 78 insertions(+), 68 deletions(-) create mode 100644 LICENSE.md delete mode 100644 misc/install.R diff --git a/.Rbuildignore b/.Rbuildignore index ecc9727b6..82bfb9f96 100644 --- a/.Rbuildignore +++ b/.Rbuildignore @@ -18,6 +18,7 @@ ^data-raw$ ^revdep$ ^_pkgdown\.yml$ +WhiteboxTools_linux_amd64/ WBT/ CRAN/ PY2R/ @@ -25,3 +26,4 @@ binder/ docs/ misc/ .vscode/ +^LICENSE\.md$ diff --git a/.gitignore b/.gitignore index 72306ecd1..357de0bde 100644 --- a/.gitignore +++ b/.gitignore @@ -19,3 +19,4 @@ whiteboxR.Rproj *.tif settings.json __MACOSX +WhiteboxTools_linux_amd64 diff --git a/DESCRIPTION b/DESCRIPTION index 9e3f8e457..f508f3d11 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,7 +1,7 @@ Package: whitebox Type: Package Title: 'WhiteboxTools' R Frontend -Version: 2.3.4 +Version: 2.4.0 Description: An R frontend for the 'WhiteboxTools' library, which is an advanced geospatial data analysis platform developed by Prof. John Lindsay 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. Suggested citation: Lindsay (2016) . Authors@R: c(person("Qiusheng", "Wu", email = "giswqs@gmail.com", role = c("aut")), person("Andrew", "Brown", email = "brown.andrewg@gmail.com", role = c("ctb", "cre"))) @@ -10,7 +10,7 @@ License: MIT + file LICENSE SystemRequirements: WhiteboxTools (https://github.com/jblindsay/whitebox-tools/releases/latest) Encoding: UTF-8 Language: en-US -RoxygenNote: 7.2.3 +RoxygenNote: 7.3.1 Roxygen: list(markdown = TRUE) URL: https://whiteboxr.gishub.org/, https://github.com/opengeos/whiteboxR BugReports: https://github.com/opengeos/whiteboxR/issues diff --git a/Dockerfile b/Dockerfile index 2b64f8e8a..c9d7dc52e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -29,6 +29,7 @@ RUN install2.r --error \ devtools \ whitebox \ Rcpp \ + Matrix \ terra \ sf \ ggplot2 \ @@ -38,6 +39,4 @@ RUN install2.r --error \ caTools \ rprojroot -COPY misc/install.R /home/rstudio/ - -RUN Rscript /home/rstudio/install.R +RUN Rscript -e "whitebox::install_whitebox()" diff --git a/LICENSE b/LICENSE index b215c2ddb..2c5f3fe66 100644 --- a/LICENSE +++ b/LICENSE @@ -1,2 +1,2 @@ -YEAR: 2019 -COPYRIGHT HOLDER: Qiusheng Wu \ No newline at end of file +YEAR: 2024 +COPYRIGHT HOLDER: whitebox authors diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 000000000..47dfe1eae --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,21 @@ +# MIT License + +Copyright (c) 2024 whitebox authors + +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. diff --git a/NEWS.md b/NEWS.md index a6ccb2293..43fc9b761 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,3 +1,9 @@ +# whitebox 2.4.0 + + * Updates for WhiteboxTools v2.4.0 (https://github.com/jblindsay/whitebox-tools/releases/tag/v2.4.0) + + * Fix for new ZIP file folder structure for WhiteboxTools v2.4.0+ in `wbt_install()` / `install_whitebox()` + # whitebox 2.3.4 * Exported `wbt_file_path()`, a function previously used internally for creating safe, expanded, quoted, paths for building WhiteboxTools commands. This function also supports the input of `terra` objects that are backed by file sources supported by WhiteboxTools. diff --git a/PY2R/automation.py b/PY2R/automation.py index f86494a6d..36482f972 100644 --- a/PY2R/automation.py +++ b/PY2R/automation.py @@ -271,7 +271,7 @@ def function_example(fun_name): dir_path = os.path.dirname(os.path.realpath(__file__)) wbt_py = os.path.join(dir_path, "whitebox_tools.py") root_dir = os.path.dirname(dir_path) -WBT_dir = os.path.join(root_dir, "WBT") +WBT_dir = os.path.join(root_dir, "WhiteboxTools_linux_amd64", "WBT") linux_tar = "WhiteboxTools_linux_amd64.zip" tar_path = os.path.join(root_dir, linux_tar) @@ -289,7 +289,7 @@ def function_example(fun_name): with zipfile.ZipFile(tar_path, "r") as tar_ref: tar_ref.extractall(root_dir) -shutil.copyfile(os.path.join(WBT_dir, "whitebox_tools.py"), wbt_py) +shutil.copyfile(os.path.join( WBT_dir, "whitebox_tools.py"), wbt_py) # Generate R functions with documentation ff = None diff --git a/PY2R/scripts/math_stat_analysis.R b/PY2R/scripts/math_stat_analysis.R index 7f272a3ca..6b5cae40b 100644 --- a/PY2R/scripts/math_stat_analysis.R +++ b/PY2R/scripts/math_stat_analysis.R @@ -647,11 +647,11 @@ wbt_conditional_evaluation <- function(input, output, statement="", true=NULL, f #' @param iterations Maximum iterations (if stopping criteria not reached). #' @param seed Seed for RNG consistency. #' @param prob Probability of random resample or resampling worst strata between `[0,1]`. -#' @param threshold Objective function values below the theshold stop the resampling iterations. +#' @param threshold Objective function values below the threshold stop the resampling iterations. #' @param temp Initial annealing temperature between `[0,1]`. #' @param temp_decay Annealing temperature decay proportion between `[0,1]`. Reduce temperature by this proportion each annealing cycle. #' @param cycle Number of iterations before decaying annealing temperature. -#' @param average Weight the continuous objective funtion by the 1/N contributing strata. +#' @param average Weight the continuous objective function by the 1/N contributing strata. #' @param wd Changes the working directory. Default: `NULL` will use the value in WhiteboxTools settings, see `wbt_wd()` for details. #' @param verbose_mode Sets verbose mode. If verbose mode is `FALSE`, tools will not print output messages. Default: `NULL` will use the value in WhiteboxTools settings, see `wbt_verbose()` for details. #' @param compress_rasters Sets the flag used by 'WhiteboxTools' to determine whether to use compression for output rasters. Default: `NULL` will use the value in WhiteboxTools settings, see `wbt_compress_rasters()` for details. diff --git a/PY2R/scripts/stream_network_analysis.R b/PY2R/scripts/stream_network_analysis.R index 914f94744..5af4a9935 100644 --- a/PY2R/scripts/stream_network_analysis.R +++ b/PY2R/scripts/stream_network_analysis.R @@ -945,15 +945,11 @@ wbt_tributary_identifier <- function(d8_pntr, streams, output, esri_pntr=FALSE, #' #' @return Returns the tool text outputs. #' @export -wbt_vector_stream_network_analysis <- function(streams, dem, output, cutting_height=10.0, snap=0.1, wd=NULL, verbose_mode=NULL, compress_rasters=NULL, command_only=FALSE) { +wbt_vector_stream_network_analysis <- function(streams, output, snap=0.1, wd=NULL, verbose_mode=NULL, compress_rasters=NULL, command_only=FALSE) { wbt_init() args <- "" args <- paste(args, paste0("--streams=", wbt_file_path(streams))) - args <- paste(args, paste0("--dem=", wbt_file_path(dem))) args <- paste(args, paste0("--output=", wbt_file_path(output))) - if (!is.null(cutting_height)) { - args <- paste(args, paste0("--cutting_height=", cutting_height)) - } if (!is.null(snap)) { args <- paste(args, paste0("--snap=", snap)) } diff --git a/PY2R/scripts/terrain_analysis.R b/PY2R/scripts/terrain_analysis.R index 32694ebb7..5f57a2f3a 100644 --- a/PY2R/scripts/terrain_analysis.R +++ b/PY2R/scripts/terrain_analysis.R @@ -154,7 +154,7 @@ wbt_average_normal_vector_angular_deviation <- function(dem, output, filter=11, #' #' @param dem Name of the input raster image file. #' @param output Name of the output vector lines file. -#' @param threshold Threshold value (0 - infinity but typcially 1 to 5 works well). +#' @param threshold Threshold value (0 - infinity but typically 1 to 5 works well). #' @param min_length Minimum line length, in grid cells. #' @param wd Changes the working directory. Default: `NULL` will use the value in WhiteboxTools settings, see `wbt_wd()` for details. #' @param verbose_mode Sets verbose mode. If verbose mode is `FALSE`, tools will not print output messages. Default: `NULL` will use the value in WhiteboxTools settings, see `wbt_verbose()` for details. diff --git a/PY2R/whitebox_tools.py b/PY2R/whitebox_tools.py index 02f679125..caf0d101d 100644 --- a/PY2R/whitebox_tools.py +++ b/PY2R/whitebox_tools.py @@ -2803,7 +2803,7 @@ def breakline_mapping(self, dem, output, threshold=2.0, min_length=3, callback=N dem -- Name of the input raster image file. output -- Name of the output vector lines file. - threshold -- Threshold value (0 - infinity but typcially 1 to 5 works well). + threshold -- Threshold value (0 - infinity but typically 1 to 5 works well). min_length -- Minimum line length, in grid cells. callback -- Custom function for handling tool text outputs. """ @@ -8945,11 +8945,11 @@ def conditioned_latin_hypercube(self, inputs, output, samples=500, iterations=25 iterations -- Maximum iterations (if stopping criteria not reached). seed -- Seed for RNG consistency. prob -- Probability of random resample or resampling worst strata between [0,1]. - threshold -- Objective function values below the theshold stop the resampling iterations. + threshold -- Objective function values below the threshold stop the resampling iterations. temp -- Initial annealing temperature between [0,1]. temp_decay -- Annealing temperature decay proportion between [0,1]. Reduce temperature by this proportion each annealing cycle. cycle -- Number of iterations before decaying annealing temperature. - average -- Weight the continuous objective funtion by the 1/N contributing strata. + average -- Weight the continuous objective function by the 1/N contributing strata. callback -- Custom function for handling tool text outputs. """ args = [] @@ -10652,7 +10652,7 @@ def tributary_identifier(self, d8_pntr, streams, output, esri_pntr=False, zero_b if zero_background: args.append("--zero_background") return self.run_tool('tributary_identifier', args, callback) # returns 1 if error - def vector_stream_network_analysis(self, streams, dem, output, cutting_height=10.0, snap=0.1, callback=None): + def vector_stream_network_analysis(self, streams, output, snap=0.1, callback=None): """This tool performs common stream network analysis operations on an input vector stream file. Keyword arguments: diff --git a/R/math_stat_analysis.R b/R/math_stat_analysis.R index 7f272a3ca..6b5cae40b 100644 --- a/R/math_stat_analysis.R +++ b/R/math_stat_analysis.R @@ -647,11 +647,11 @@ wbt_conditional_evaluation <- function(input, output, statement="", true=NULL, f #' @param iterations Maximum iterations (if stopping criteria not reached). #' @param seed Seed for RNG consistency. #' @param prob Probability of random resample or resampling worst strata between `[0,1]`. -#' @param threshold Objective function values below the theshold stop the resampling iterations. +#' @param threshold Objective function values below the threshold stop the resampling iterations. #' @param temp Initial annealing temperature between `[0,1]`. #' @param temp_decay Annealing temperature decay proportion between `[0,1]`. Reduce temperature by this proportion each annealing cycle. #' @param cycle Number of iterations before decaying annealing temperature. -#' @param average Weight the continuous objective funtion by the 1/N contributing strata. +#' @param average Weight the continuous objective function by the 1/N contributing strata. #' @param wd Changes the working directory. Default: `NULL` will use the value in WhiteboxTools settings, see `wbt_wd()` for details. #' @param verbose_mode Sets verbose mode. If verbose mode is `FALSE`, tools will not print output messages. Default: `NULL` will use the value in WhiteboxTools settings, see `wbt_verbose()` for details. #' @param compress_rasters Sets the flag used by 'WhiteboxTools' to determine whether to use compression for output rasters. Default: `NULL` will use the value in WhiteboxTools settings, see `wbt_compress_rasters()` for details. diff --git a/R/stream_network_analysis.R b/R/stream_network_analysis.R index 914f94744..d332fef8a 100644 --- a/R/stream_network_analysis.R +++ b/R/stream_network_analysis.R @@ -932,9 +932,7 @@ wbt_tributary_identifier <- function(d8_pntr, streams, output, esri_pntr=FALSE, #' @description This tool performs common stream network analysis operations on an input vector stream file. #' #' @param streams Name of the input streams vector file. -#' @param dem Name of the input DEM raster file. #' @param output Name of the output lines shapefile. -#' @param cutting_height Maximum ridge-cutting height (z units). #' @param snap Snap distance, in xy units (metres). #' @param wd Changes the working directory. Default: `NULL` will use the value in WhiteboxTools settings, see `wbt_wd()` for details. #' @param verbose_mode Sets verbose mode. If verbose mode is `FALSE`, tools will not print output messages. Default: `NULL` will use the value in WhiteboxTools settings, see `wbt_verbose()` for details. @@ -945,15 +943,11 @@ wbt_tributary_identifier <- function(d8_pntr, streams, output, esri_pntr=FALSE, #' #' @return Returns the tool text outputs. #' @export -wbt_vector_stream_network_analysis <- function(streams, dem, output, cutting_height=10.0, snap=0.1, wd=NULL, verbose_mode=NULL, compress_rasters=NULL, command_only=FALSE) { +wbt_vector_stream_network_analysis <- function(streams, output, snap=0.1, wd=NULL, verbose_mode=NULL, compress_rasters=NULL, command_only=FALSE) { wbt_init() args <- "" args <- paste(args, paste0("--streams=", wbt_file_path(streams))) - args <- paste(args, paste0("--dem=", wbt_file_path(dem))) args <- paste(args, paste0("--output=", wbt_file_path(output))) - if (!is.null(cutting_height)) { - args <- paste(args, paste0("--cutting_height=", cutting_height)) - } if (!is.null(snap)) { args <- paste(args, paste0("--snap=", snap)) } diff --git a/R/terrain_analysis.R b/R/terrain_analysis.R index 32694ebb7..5f57a2f3a 100644 --- a/R/terrain_analysis.R +++ b/R/terrain_analysis.R @@ -154,7 +154,7 @@ wbt_average_normal_vector_angular_deviation <- function(dem, output, filter=11, #' #' @param dem Name of the input raster image file. #' @param output Name of the output vector lines file. -#' @param threshold Threshold value (0 - infinity but typcially 1 to 5 works well). +#' @param threshold Threshold value (0 - infinity but typically 1 to 5 works well). #' @param min_length Minimum line length, in grid cells. #' @param wd Changes the working directory. Default: `NULL` will use the value in WhiteboxTools settings, see `wbt_wd()` for details. #' @param verbose_mode Sets verbose mode. If verbose mode is `FALSE`, tools will not print output messages. Default: `NULL` will use the value in WhiteboxTools settings, see `wbt_verbose()` for details. diff --git a/R/wbt.R b/R/wbt.R index 75cac05f6..dad564493 100644 --- a/R/wbt.R +++ b/R/wbt.R @@ -606,7 +606,10 @@ wbt_install <- function(pkg_dir = wbt_data_dir(), platform = NULL, force = FALSE # unzip to either whitebox package or user specified folder utils::unzip(exe_zip, exdir = pkg_dir) - + ex_dir <- file.path(pkg_dir, gsub("\\.zip$", "", basename(exe_zip))) + file.copy(file.path(ex_dir, "WBT"), pkg_dir, recursive = TRUE) + file.remove(list.files(ex_dir, recursive = TRUE, full.names = TRUE)) + # subfolder WBT/whitebox_tools exe_path_out <- file.path(pkg_dir, "WBT", basename(exe_path)) Sys.chmod(exe_path_out, '755') diff --git a/README.Rmd b/README.Rmd index 6dd098939..03f283026 100644 --- a/README.Rmd +++ b/README.Rmd @@ -22,7 +22,7 @@ knitr::opts_chunk$set( [![R-CMD-check](https://github.com/opengeos/whiteboxR/actions/workflows/R-CMD-check.yaml/badge.svg)](https://github.com/opengeos/whiteboxR/actions/workflows/R-CMD-check.yaml) [![codecov](https://codecov.io/gh/opengeos/whiteboxR/branch/master/graph/badge.svg)](https://app.codecov.io/gh/opengeos/whiteboxR) [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/brownag/whitebox-r-binder/master?urlpath=rstudio) -[![Donate](https://img.shields.io/badge/Donate-Buy%20me%20a%20coffee-yellowgreen.svg)](https://www.buymeacoffee.com/giswqs) +[![Donate](https://img.shields.io/badge/Donate-Buy%20me%20a%20coffee-yellowgreen.svg)](https://buymeacoffee.com/giswqs) **WhiteboxTools** R Frontend. diff --git a/README.md b/README.md index 1d7450f0e..8cb63ac17 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.or [![R-CMD-check](https://github.com/opengeos/whiteboxR/actions/workflows/R-CMD-check.yaml/badge.svg)](https://github.com/opengeos/whiteboxR/actions/workflows/R-CMD-check.yaml) [![codecov](https://codecov.io/gh/opengeos/whiteboxR/branch/master/graph/badge.svg)](https://app.codecov.io/gh/opengeos/whiteboxR) [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/brownag/whitebox-r-binder/master?urlpath=rstudio) -[![Donate](https://img.shields.io/badge/Donate-Buy%20me%20a%20coffee-yellowgreen.svg)](https://www.buymeacoffee.com/giswqs) +[![Donate](https://img.shields.io/badge/Donate-Buy%20me%20a%20coffee-yellowgreen.svg)](https://buymeacoffee.com/giswqs) **WhiteboxTools** R Frontend. @@ -321,24 +321,24 @@ size of the filter kernel. #> 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. - #> NormalizeLidar: Normalizes a LiDAR point cloud. #> FilterLidarByPercentile: Filters points within a LiDAR point cloud based on local elevation percentile. - #> LidarEigenvalueFeatures: Calculate eigenvalue-based metrics from a LiDAR point cloud. - #> LidarPointReturnAnalysis: This tool performs a quality control check on the return values of points in a LiDAR file. - #> SplitLidar: Splits LiDAR points up into a series of new files based on their properties. - #> ClassifyLidar: Classify points within a LiDAR point cloud based on point properties. #> LidarContour: This tool creates a vector contour coverage from an input LiDAR point file. - #> ColourizeBasedOnPointReturns: Sets the RGB values of a LiDAR point cloud based on the point returns. - #> LidarSibsonInterpolation: This tool interpolates one or more LiDAR tiles using Sibson's natural neighbour method. - #> SmoothVegetationResidual: This tool can smooth the residual roughness due to vegetation cover in LiDAR DEMs. #> ImprovedGroundPointFilter: Filters points within a LiDAR point cloud based on a reference surface. - #> RecoverFlightlineInfo: Associates LiDAR points by their flightlines. - #> SortLidar: Sorts LiDAR points based on their properties. + #> 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. - #> ColourizeBasedOnClass: Sets the RGB values of a LiDAR point cloud based on the point classification values. - #> IndividualTreeDetection: Identifies points in a LiDAR point cloud that are associated with the tops of individual trees. + #> NormalizeLidar: Normalizes a LiDAR point cloud. # Prints the help for a specific tool. diff --git a/cran-comments.md b/cran-comments.md index a5bd87716..ae39e3043 100644 --- a/cran-comments.md +++ b/cran-comments.md @@ -1,11 +1,7 @@ ## R CMD check results -- GitHub actions (windows, macOS, ubuntu with R 4.2.3 + ubuntu with dev R) -- local check (manjaro linux R 4.2.3) +- GitHub actions (windows, macOS, ubuntu with R 4.4.0 + ubuntu with R-devel) +- local check (manjaro linux R 4.4.0) - CRAN winbuilder (R-devel) - revdepcheck::revdep_check() -0 errors | 0 warnings | 1 note - -- 1 note on winbuilder: "Checking DOIs failed with message: -object 'ind' not found" - - This message does not appear to be related to a specific DOI. +0 errors | 0 warnings | 0 notes diff --git a/data-raw/whitebox_ext.json b/data-raw/whitebox_ext.json index 159350de6..b02806b18 100644 --- a/data-raw/whitebox_ext.json +++ b/data-raw/whitebox_ext.json @@ -1 +1 @@ -{"AccumulationCurvature": {"name": "AccumulationCurvature", "tool_name": "accumulation_curvature", "category": "Geomorphometric Analysis", "label": "Accumulation Curvature", "description": "This tool calculates accumulation curvature from an input DEM.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#AccumulationCurvature", "parameters": {"dem": {"name": "Input Raster DEM", "flags": ["-i", "--dem"], "description": "Name of the input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster Image", "flags": ["-o", "--output"], "description": "Name of the output raster image file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "log": {"name": "Log-transform the output?", "flags": ["--log"], "description": "Display output values using a log-scale.", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "zfactor": {"name": "Z-factor", "flags": ["--zfactor"], "description": "Z conversion factor.", "parameter_type": "Float", "default_value": "1.0", "optional": true}}}, "AssessRoute": {"name": "AssessRoute", "tool_name": "assess_route", "category": "Geomorphometric Analysis", "label": "Assess Route", "description": "This tool assesses a route for slope, elevation, and visibility variation.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#AssessRoute", "parameters": {"routes": {"name": "Input Routes Vector", "flags": ["--routes"], "description": "Name of the input routes vector file.", "parameter_type": {"ExistingFile": {"Vector": "Line"}}, "default_value": null, "optional": false}, "dem": {"name": "Input DEM Raster", "flags": ["--dem"], "description": "Name of the input DEM raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Lines", "flags": ["-o", "--output"], "description": "Name of the output lines shapefile.", "parameter_type": {"NewFile": {"Vector": "Line"}}, "default_value": null, "optional": false}, "length": {"name": "Max Segment Length", "flags": ["--length"], "description": "Maximum segment length (m).", "parameter_type": "Float", "default_value": "", "optional": true}, "dist": {"name": "Search Distance (grid cells)", "flags": ["--dist"], "description": "Search distance, in grid cells, used in visibility analysis.", "parameter_type": "Integer", "default_value": "20", "optional": true}}}, "BreaklineMapping": {"name": "BreaklineMapping", "tool_name": "breakline_mapping", "category": "Geomorphometric Analysis", "label": "Breakline Mapping", "description": "This tool maps breaklines from an input DEM.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#BreaklineMapping", "parameters": {"dem": {"name": "Input Raster DEM", "flags": ["-i", "--input", "--dem"], "description": "Name of the input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Vector Lines File", "flags": ["-o", "--output"], "description": "Name of the output vector lines file.", "parameter_type": {"NewFile": {"Vector": "Line"}}, "default_value": null, "optional": false}, "threshold": {"name": "Threshold Value", "flags": ["--threshold"], "description": "Threshold value (0 - infinity but typcially 1 to 5 works well).", "parameter_type": "Float", "default_value": "2.0", "optional": true}, "min_length": {"name": "Min. Line Length (In Grid Cells)", "flags": ["--min_length"], "description": "Minimum line length, in grid cells.", "parameter_type": "Integer", "default_value": "3", "optional": true}}}, "CannyEdgeDetection": {"name": "CannyEdgeDetection", "tool_name": "canny_edge_detection", "category": "Image Processing Tools", "label": "Canny Edge Detection", "description": "This tool performs a Canny edge-detection filter on an input image.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools/filters.html#CannyEdgeDetection", "parameters": {"i": {"name": "Input Raster Image", "flags": ["-i", "--input"], "description": "Name of the input raster image file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster Image", "flags": ["-o", "--output"], "description": "Name of the output raster image file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "sigma": {"name": "Sigma Value", "flags": ["-s", "--sigma"], "description": "Sigma value used in Gaussian filtering, default = 0.5", "parameter_type": "Float", "default_value": "0.5", "optional": true}, "low": {"name": "Low Threshold", "flags": ["-l", "--low"], "description": "Low threshold, default = 0.05", "parameter_type": "Float", "default_value": "0.05", "optional": true}, "high": {"name": "High Threshold", "flags": ["-h", "--high"], "description": "High threshold, default = 0.15", "parameter_type": "Float", "default_value": "0.15", "optional": true}, "add_back": {"name": "Add edge back to the image?", "flags": ["-a", "--add_back"], "description": "Add the edge cells back to the input image", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "ClassifyLidar": {"name": "ClassifyLidar", "tool_name": "classify_lidar", "category": "LiDAR Tools", "label": "Classify Lidar", "description": "Classify points within a LiDAR point cloud based on point properties.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#ClassifyLidar", "parameters": {"i": {"name": "Input LiDAR Points", "flags": ["-i", "--input"], "description": "Name of the input LiDAR points.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": true}, "output": {"name": "Output LiDAR Points", "flags": ["-o", "--output"], "description": "Name of the output LiDAR points.", "parameter_type": {"NewFile": "Lidar"}, "default_value": null, "optional": true}, "radius": {"name": "Search Distance:", "flags": ["--radius"], "description": "Search distance used in neighbourhood search (metres).", "parameter_type": "Float", "default_value": "1.5", "optional": true}, "grd_threshold": {"name": "Ground Threshold:", "flags": ["--grd_threshold"], "description": "Ground threshold (metres).", "parameter_type": "Float", "default_value": "0.1", "optional": true}, "oto_threshold": {"name": "Off-Terrain Object Threshold:", "flags": ["--oto_threshold"], "description": "Off-terrain object threshold (metres).", "parameter_type": "Float", "default_value": "2.0", "optional": true}, "planarity_threshold": {"name": "Planarity Threshold:", "flags": ["--planarity_threshold"], "description": "Planarity threshold (0-1).", "parameter_type": "Float", "default_value": "0.85", "optional": true}, "linearity_threshold": {"name": "Linearity Threshold:", "flags": ["--linearity_threshold"], "description": "Linearity threshold (0-1).", "parameter_type": "Float", "default_value": "0.70", "optional": true}, "iterations": {"name": "Number of Iterations:", "flags": ["--iterations"], "description": "Number of iterations.", "parameter_type": "Integer", "default_value": "30", "optional": true}, "facade_threshold": {"name": "Facade Threshold:", "flags": ["--facade_threshold"], "description": "Facade threshold (metres).", "parameter_type": "Float", "default_value": "0.5", "optional": true}}}, "ColourizeBasedOnClass": {"name": "ColourizeBasedOnClass", "tool_name": "colourize_based_on_class", "category": "LiDAR Tools", "label": "Colourize Based On Class", "description": "Sets the RGB values of a LiDAR point cloud based on the point classification values.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#ColourizeBasedOnClass", "parameters": {"i": {"name": "Input LiDAR Points", "flags": ["-i", "--input"], "description": "Name of the input LiDAR points.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": true}, "output": {"name": "Output LiDAR Points", "flags": ["-o", "--output"], "description": "Name of the output LiDAR points.", "parameter_type": {"NewFile": "Lidar"}, "default_value": null, "optional": true}, "intensity_blending": {"name": "Intensity Blending Amount (0-100%):", "flags": ["--intensity_blending"], "description": "Intensity blending amount (0-100%).", "parameter_type": "Float", "default_value": "50.0", "optional": true}, "clr_str": {"name": "Colour values:", "flags": ["--clr_str"], "description": "Colour values, e.g. 2: (184, 167, 108); 5: #9ab86c", "parameter_type": "String", "default_value": "", "optional": true}, "use_unique_clrs_for_buildings": {"name": "Use unique colours for each building?", "flags": ["--use_unique_clrs_for_buildings"], "description": "Use unique colours for each building?", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "radius": {"name": "Search Distance:", "flags": ["--radius"], "description": "Search distance used in neighbourhood search.", "parameter_type": "Float", "default_value": "", "optional": true}}}, "ColourizeBasedOnPointReturns": {"name": "ColourizeBasedOnPointReturns", "tool_name": "colourize_based_on_point_returns", "category": "LiDAR Tools", "label": "Colourize Based On Point Returns", "description": "Sets the RGB values of a LiDAR point cloud based on the point returns.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#ColourizeBasedOnPointReturns", "parameters": {"i": {"name": "Input LiDAR Points", "flags": ["-i", "--input"], "description": "Name of the input LiDAR points.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": true}, "output": {"name": "Output LiDAR Points", "flags": ["-o", "--output"], "description": "Name of the output LiDAR points.", "parameter_type": {"NewFile": "Lidar"}, "default_value": null, "optional": true}, "intensity_blending": {"name": "Intensity Blending Amount (0-100%):", "flags": ["--intensity_blending"], "description": "Intensity blending amount (0-100%).", "parameter_type": "Float", "default_value": "50.0", "optional": true}, "only": {"name": "Only Return Colour", "flags": ["--only"], "description": "Only return colour, e.g. (230,214,170), #e6d6aa, or 0xe6d6aa.", "parameter_type": "String", "default_value": "(230,214,170)", "optional": true}, "first": {"name": "First Return Colour", "flags": ["--first"], "description": "First return colour, e.g. (230,214,170), #e6d6aa, or 0xe6d6aa.", "parameter_type": "String", "default_value": "(0,140,0)", "optional": true}, "intermediate": {"name": "Intermediate Return Colour", "flags": ["--intermediate"], "description": "Intermediate return colour, e.g. (230,214,170), #e6d6aa, or 0xe6d6aa.", "parameter_type": "String", "default_value": "(255,0,255)", "optional": true}, "last": {"name": "Last Return Colour", "flags": ["--last"], "description": "Last return colour, e.g. (230,214,170), #e6d6aa, or 0xe6d6aa.", "parameter_type": "String", "default_value": "(0,0,255)", "optional": true}}}, "ConditionalEvaluation": {"name": "ConditionalEvaluation", "tool_name": "conditional_evaluation", "category": "Math and Stats Tools", "label": "Conditional Evaluation", "description": "Performs a conditional evaluation (if-then-else) operation on a raster.", "github": "https://github.com/jblindsay/whitebox-tools/tree/master/whitebox-plugins/src/ConditionalEvaluation/main.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#ConditionalEvaluation", "parameters": {"i": {"name": "Input Raster", "flags": ["-i", "--input"], "description": "Name of the input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "statement": {"name": "Conditional Statement e.g. value > 35.0:", "flags": ["--statement"], "description": "Conditional statement e.g. value > 35.0. This statement must be a valid Rust statement.", "parameter_type": "String", "default_value": "", "optional": false}, "true": {"name": "Value Where TRUE (Raster File Or Constant Value)", "flags": ["--true"], "description": "Value where condition evaluates TRUE (input raster or constant value).", "parameter_type": {"ExistingFileOrFloat": "Raster"}, "default_value": null, "optional": true}, "false": {"name": "Value Where FALSE (Raster File Or Constant Value)", "flags": ["--false"], "description": "Value where condition evaluates FALSE (input raster or constant value).", "parameter_type": {"ExistingFileOrFloat": "Raster"}, "default_value": null, "optional": true}, "output": {"name": "Output Raster File", "flags": ["--output"], "description": "Name of the output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "ConditionedLatinHypercube": {"name": "ConditionedLatinHypercube", "tool_name": "conditioned_latin_hypercube", "category": "Math and Stats Tools", "label": "Conditioned Latin Hypercube", "description": "Implements conditioned Latin Hypercube sampling.", "github": "https://github.com/jblindsay/whitebox-tools/tree/master/whitebox-plugins/src/ConditionedLatinHypercube/main.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#ConditionedLatinHypercube", "parameters": {"inputs": {"name": "Input Raster", "flags": ["-i", "--inputs"], "description": "Name of the input raster file", "parameter_type": {"FileList": {"ExistingFile": "Raster"}}, "default_value": null, "optional": false}, "output": {"name": "Output shapefile", "flags": ["-o", "--output"], "description": "Output shapefile", "parameter_type": {"NewFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "samples": {"name": "Number of sample sites", "flags": ["--samples"], "description": "Number of sample sites returned", "parameter_type": "Integer", "default_value": "500", "optional": true}, "iterations": {"name": "Number of resampling iterations", "flags": ["--iterations"], "description": "Maximum iterations (if stopping criteria not reached).", "parameter_type": "Integer", "default_value": "25000", "optional": true}, "seed": {"name": "RNG seed", "flags": ["--seed"], "description": "Seed for RNG consistency", "parameter_type": "Integer", "default_value": null, "optional": true}, "prob": {"name": "Random resample probability", "flags": ["--prob"], "description": "Probability of random resample or resampling worst strata between [0,1].", "parameter_type": "Float", "default_value": "0.5", "optional": true}, "threshold": {"name": "Objective function threshold.", "flags": ["--threshold"], "description": "Objective function values below the theshold stop the resampling iterations.", "parameter_type": "Float", "default_value": null, "optional": true}, "temp": {"name": "Initial annealing temperature", "flags": ["--temp"], "description": "Initial annealing temperature between [0,1].", "parameter_type": "Float", "default_value": "1.0", "optional": true}, "temp_decay": {"name": "Temperature decay factor", "flags": ["--temp_decay"], "description": "Annealing temperature decay proportion between [0,1]. Reduce temperature by this proportion each annealing cycle.", "parameter_type": "Float", "default_value": "0.05", "optional": true}, "cycle": {"name": "Annealing cycle duration", "flags": ["--cycle"], "description": "Number of iterations before decaying annealing temperature.", "parameter_type": "Integer", "default_value": "10", "optional": true}, "average": {"name": "Average the continuous Obj. Func.", "flags": ["--average"], "description": "Weight the continuous objective funtion by the 1/N contributing strata.", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "Curvedness": {"name": "Curvedness", "tool_name": "curvedness", "category": "Geomorphometric Analysis", "label": "Curvedness", "description": "This tool calculates curvedness from an input DEM.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#Curvedness", "parameters": {"dem": {"name": "Input Raster DEM", "flags": ["-i", "--dem"], "description": "Name of the input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster Image", "flags": ["-o", "--output"], "description": "Name of the output raster image file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "log": {"name": "Log-transform the output?", "flags": ["--log"], "description": "Display output values using a log-scale.", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "zfactor": {"name": "Z-factor", "flags": ["--zfactor"], "description": "Z conversion factor.", "parameter_type": "Float", "default_value": "1.0", "optional": true}}}, "Dbscan": {"name": "Dbscan", "tool_name": "dbscan", "category": "Machine Learning", "label": "Dbscan", "description": "Performs a DBSCAN-based unsupervised clustering operation.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/machine_learning.html#Dbscan", "parameters": {"inputs": {"name": "Input Rasters", "flags": ["-i", "--inputs"], "description": "Names of the input rasters.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "scaling": {"name": "Scaling Method", "flags": ["--scaling"], "description": "Scaling method for predictors. Options include 'None', 'Normalize', and 'Standardize'", "parameter_type": {"OptionList": ["None", "Normalize", "Standardize"]}, "default_value": "Normalize", "optional": true}, "output": {"name": "Output Raster File", "flags": ["-o", "--output"], "description": "Name of the output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "search_dist": {"name": "Search distance", "flags": ["--search_dist"], "description": "Search-distance parameter.", "parameter_type": "Float", "default_value": "0.01", "optional": true}, "min_points": {"name": "Minimum Points", "flags": ["--min_points"], "description": "Minimum point density needed to define 'core' point in cluster.", "parameter_type": "Integer", "default_value": "5", "optional": true}}}, "DemVoidFilling": {"name": "DemVoidFilling", "tool_name": "dem_void_filling", "category": "Geomorphometric Analysis", "label": "Dem Void Filling", "description": "This tool can be used to fill the void areas of a DEM using another fill DEM data set.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#DemVoidFilling", "parameters": {"dem": {"name": "Input DEM", "flags": ["--dem"], "description": "Name of the input raster DEM file, containing the void areas.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "fill": {"name": "Input Fill DEM", "flags": ["--fill"], "description": "Name of the input fill DEM file, containing the values used to fill the void areas in the other DEM.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output DEM", "flags": ["-o", "--output"], "description": "Name of the output void-filled DEM file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "mean_plane_dist": {"name": "Mean-Plane Distance (in grid cells)", "flags": ["--mean_plane_dist"], "description": "Distance to void edge at which the mean-plane value is used as an offset, measured in grid cells.", "parameter_type": "Integer", "default_value": "20", "optional": true}, "edge_treatment": {"name": "Void-Edge Treatment", "flags": ["--edge_treatment"], "description": "How should void-edge cells be treated? Options include 'use DEM' (default), 'use Fill', 'average'.", "parameter_type": {"OptionList": ["use DEM", "use fill", "average"]}, "default_value": "use DEM", "optional": true}, "weight_value": {"name": "Interpolation Weight", "flags": ["--weight_value"], "description": "Weight value used for IDW interpolation (default is 2.0).", "parameter_type": "Float", "default_value": "2.0", "optional": true}}}, "DepthToWater": {"name": "DepthToWater", "tool_name": "depth_to_water", "category": "Hydrological Analysis", "label": "Depth To Water", "description": "This tool calculates cartographic depth-to-water (DTW) index.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#DepthToWater", "parameters": {"dem": {"name": "Input Raster DEM", "flags": ["--dem"], "description": "Name of the input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "streams": {"name": "Input Streams Vector", "flags": ["--streams"], "description": "Name of the input streams vector (optional).", "parameter_type": {"ExistingFile": {"Vector": "Line"}}, "default_value": null, "optional": true}, "lakes": {"name": "Input Lakes Vector", "flags": ["--lakes"], "description": "Name of the input lakes vector (optional).", "parameter_type": {"ExistingFile": {"Vector": "Polygon"}}, "default_value": null, "optional": true}, "output": {"name": "Output Raster Image", "flags": ["-o", "--output"], "description": "Name of the output raster image file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "DifferenceCurvature": {"name": "DifferenceCurvature", "tool_name": "difference_curvature", "category": "Geomorphometric Analysis", "label": "Difference Curvature", "description": "This tool calculates difference curvature from an input DEM.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#DifferenceCurvature", "parameters": {"dem": {"name": "Input Raster DEM", "flags": ["-i", "--dem"], "description": "Name of the input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster Image", "flags": ["-o", "--output"], "description": "Name of the output raster image file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "log": {"name": "Log-transform the output?", "flags": ["--log"], "description": "Display output values using a log-scale.", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "zfactor": {"name": "Z-factor", "flags": ["--zfactor"], "description": "Z conversion factor.", "parameter_type": "Float", "default_value": "1.0", "optional": true}}}, "EdgeContamination": {"name": "EdgeContamination", "tool_name": "edge_contamination", "category": "Hydrological Analysis", "label": "Edge Contamination", "description": "Identifies grid cells within an input DEM that may be impacted by edge contamination for hydrological applications.", "github": "https://github.com/jblindsay/whitebox-tools/tree/master/whitebox-plugins/src/EdgeContamination/main.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#EdgeContamination", "parameters": {"dem": {"name": "Input DEM Raster", "flags": ["-d", "--dem"], "description": "Name of the input DEM raster file; must be depressionless.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster File", "flags": ["-o", "--output"], "description": "Name of the output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "flow_type": {"name": "Flow Type", "flags": ["--flow_type"], "description": "Flow algorithm type, one of 'd8', 'mfd', or 'dinf'", "parameter_type": {"OptionList": ["d8", "mfd", "dinf"]}, "default_value": "mfd", "optional": true}, "zfactor": {"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": "", "optional": true}}}, "EvaluateTrainingSites": {"name": "EvaluateTrainingSites", "tool_name": "evaluate_training_sites", "category": "Image Processing Tools", "label": "Evaluate Training Sites", "description": "This tool can be used to inspect the overlap in spectral signatures of training sites for various classes.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools/classification.html#EvaluateTrainingSites", "parameters": {"inputs": {"name": "Input Band Images", "flags": ["-i", "--inputs"], "description": "Name of the input band images.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "polys": {"name": "Input Training Polygons", "flags": ["-p", "--polys"], "description": "Name of the input training site polygons shapefile.", "parameter_type": {"ExistingFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}, "field": {"name": "Class Name Field", "flags": ["-f", "--field"], "description": "Name of the attribute containing class name data.", "parameter_type": {"VectorAttributeField": ["Any", "--polys"]}, "default_value": null, "optional": false}, "output": {"name": "Output File (*.html)", "flags": ["-o", "--output"], "description": "Name of the output report file (*.html).", "parameter_type": {"NewFile": "Html"}, "default_value": null, "optional": false}}}, "ExposureTowardsWindFlux": {"name": "ExposureTowardsWindFlux", "tool_name": "exposure_towards_wind_flux", "category": "Geomorphometric Analysis", "label": "Exposure Towards Wind Flux", "description": "Evaluates hydrologic connectivity within a DEM", "github": "https://github.com/jblindsay/whitebox-tools/tree/master/whitebox-plugins/src/ExposureTowardsWindFlux/main.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#ExposureTowardsWindFlux", "parameters": {"dem": {"name": "Input DEM Raster", "flags": ["-d", "--dem"], "description": "Name of the input DEM raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster File", "flags": ["-o", "--output"], "description": "Name of the output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "azimuth": {"name": "Wind Azimuth (in degrees)", "flags": ["--azimuth"], "description": "Wind azimuth, in degrees.", "parameter_type": "Float", "default_value": "", "optional": false}, "max_dist": {"name": "Maximum Search Distance", "flags": ["--max_dist"], "description": "Optional maximum search distance. Minimum value is 5 x cell size.", "parameter_type": "Integer", "default_value": "", "optional": true}, "zfactor": {"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": "", "optional": true}}}, "FilterLidar": {"name": "FilterLidar", "tool_name": "filter_lidar", "category": "LiDAR Tools", "label": "Filter Lidar", "description": "Filters points within a LiDAR point cloud based on point properties.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#FilterLidar", "parameters": {"i": {"name": "Input LiDAR Points", "flags": ["-i", "--input"], "description": "Name of the input LiDAR points.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": true}, "output": {"name": "Output LiDAR Points", "flags": ["-o", "--output"], "description": "Name of the output LiDAR points.", "parameter_type": {"NewFile": "Lidar"}, "default_value": null, "optional": true}, "statement": {"name": "Statement:", "flags": ["-s", "--statement"], "description": "Filter statement e.g. x < 5000.0 && y > 100.0 && is_late && !is_noise. This statement must be a valid Rust statement.", "parameter_type": "String", "default_value": "", "optional": false}}}, "FixDanglingArcs": {"name": "FixDanglingArcs", "tool_name": "fix_dangling_arcs", "category": "Data Tools", "label": "Fix Dangling Arcs", "description": "This tool fixes undershot and overshot arcs, two common topological errors, in an input vector lines file.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/data_tools.html#FixDanglingArcs", "parameters": {"i": {"name": "Input Vector Lines", "flags": ["-i", "--input"], "description": "Name of the input lines vector file.", "parameter_type": {"ExistingFile": {"Vector": "Line"}}, "default_value": null, "optional": false}, "output": {"name": "Output Lines", "flags": ["-o", "--output"], "description": "Name of the output lines vector file.", "parameter_type": {"NewFile": {"Vector": "Line"}}, "default_value": null, "optional": false}, "dist": {"name": "Snap Distance", "flags": ["--snap", "--dist"], "description": "Snap distance, in xy units (metres).", "parameter_type": "Float", "default_value": "", "optional": false}}}, "GaussianScaleSpace": {"name": "GaussianScaleSpace", "tool_name": "gaussian_scale_space", "category": "Geomorphometric Analysis", "label": "Gaussian Scale Space", "description": "Uses the fast Gaussian approximation algorithm to produce scaled land-surface parameter measurements from an input DEM.", "github": "https://github.com/jblindsay/whitebox-tools/tree/master/whitebox-plugins/src/GaussianScaleSpace/main.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#GaussianScaleSpace", "parameters": {"dem": {"name": "Input DEM Raster", "flags": ["-d", "--dem"], "description": "Name of the input DEM raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "points": {"name": "Input Vector Points File", "flags": ["-p", "--points"], "description": "Name of the input vector points shapefile.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": true}, "output": {"name": "Output Land-surface Parameter Raster File", "flags": ["-o", "--output"], "description": "Name of the output land-surface parameter raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "output_zscore": {"name": "Output z-Score Raster File", "flags": ["--output_zscore"], "description": "Name of the output z-score raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "output_scale": {"name": "Output Scale Raster File", "flags": ["--output_scale"], "description": "Name of the output scale raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "sigma": {"name": "Starting Scale", "flags": ["--sigma"], "description": "Initial sigma value (cells).", "parameter_type": "Float", "default_value": "0.5", "optional": false}, "step": {"name": "Step Size", "flags": ["--step"], "description": "Step size as any positive non-zero integer.", "parameter_type": "Float", "default_value": "0.5", "optional": true}, "num_steps": {"name": "Number of Steps", "flags": ["--num_steps"], "description": "Number of steps.", "parameter_type": "Integer", "default_value": "10", "optional": true}, "lsp": {"name": "Land-surface Parameter to Calculate", "flags": ["--lsp"], "description": "Output land-surface parameter; one of 'AnisotropyLTP', 'Aspect', 'DiffMeanElev', 'Eastness', 'Elevation', 'Hillshade', 'MeanCurvature', 'Northness', 'PlanCurvature', 'ProfileCurvature', 'Ruggedness', 'Slope', 'TanCurvature', 'TotalCurvature'.", "parameter_type": {"OptionList": ["AnisotropyLTP", "Aspect", "DiffMeanElev", "Eastness", "Elevation", "Hillshade", "MeanCurvature", "Northness", "PlanCurvature", "ProfileCurvature", "Ruggedness", "Slope", "TanCurvature", "TotalCurvature"]}, "default_value": "Slope", "optional": true}, "z_factor": {"name": "Z Conversion Factor", "flags": ["--z_factor"], "description": "Optional multiplier for when the vertical and horizontal units are not the same.", "parameter_type": "Float", "default_value": null, "optional": true}}}, "GeneralizeClassifiedRaster": {"name": "GeneralizeClassifiedRaster", "tool_name": "generalize_classified_raster", "category": "Image Processing Tools", "label": "Generalize Classified Raster", "description": "Generalizes a raster containing class or object features by removing small features.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools/classification.html#GeneralizeClassifiedRaster", "parameters": {"i": {"name": "Input Raster Image", "flags": ["-i", "--input"], "description": "Name of the input raster image file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster File", "flags": ["-o", "--output"], "description": "Name of the output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "min_size": {"name": "Min. Feature Size (in grid cells)", "flags": ["--min_size"], "description": "Minimum feature size, in grid cells.", "parameter_type": "Integer", "default_value": "4", "optional": true}, "method": {"name": "Method", "flags": ["--method"], "description": "Grouping method; one of 'longest' (default), 'largest', and 'nearest'.", "parameter_type": {"OptionList": ["longest", "largest", "nearest"]}, "default_value": "longest", "optional": true}}}, "GeneralizeWithSimilarity": {"name": "GeneralizeWithSimilarity", "tool_name": "generalize_with_similarity", "category": "Image Processing Tools", "label": "Generalize With Similarity", "description": "Generalizes a raster containing class or object features by removing small features using similarity criteria of neighbouring features.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools/classification.html#GeneralizeWithSimilarity", "parameters": {"i": {"name": "Input Raster Image", "flags": ["-i", "--input"], "description": "Name of the input raster image file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "similarity": {"name": "Input Similarity Images", "flags": ["--similarity"], "description": "Names of the input similarity images.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster File", "flags": ["-o", "--output"], "description": "Name of the output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "min_size": {"name": "Min. Feature Size (in grid cells)", "flags": ["--min_size"], "description": "Minimum feature size, in grid cells.", "parameter_type": "Integer", "default_value": "4", "optional": true}}}, "GeneratingFunction": {"name": "GeneratingFunction", "tool_name": "generating_function", "category": "Geomorphometric Analysis", "label": "Generating Function", "description": "This tool calculates generating function from an input DEM.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#GeneratingFunction", "parameters": {"dem": {"name": "Input Raster DEM", "flags": ["-i", "--dem"], "description": "Name of the input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster Image", "flags": ["-o", "--output"], "description": "Name of the output raster image file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "log": {"name": "Log-transform the output?", "flags": ["--log"], "description": "Display output values using a log-scale.", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "zfactor": {"name": "Z-factor", "flags": ["--zfactor"], "description": "Z conversion factor.", "parameter_type": "Float", "default_value": "1.0", "optional": true}}}, "HeatMap": {"name": "HeatMap", "tool_name": "heat_map", "category": "GIS Analysis", "label": "Heat Map", "description": "Calculates a heat map, or kernel density estimation (KDE), for an input point set.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#HeatMap", "parameters": {"i": {"name": "Input Points", "flags": ["-i", "--input"], "description": "Name of the input points shapefile.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "weight_field": {"name": "Weight Field Name (Optional)", "flags": ["--weights", "--weight_field"], "description": "Optional name of the attribute containing point weight.", "parameter_type": "String", "default_value": null, "optional": true}, "output": {"name": "Output Raster Image", "flags": ["-o", "--output"], "description": "Name of the output raster image file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "bandwidth": {"name": "Bandwidth", "flags": ["--bandwidth"], "description": "Bandwidth (metres).", "parameter_type": "Float", "default_value": "", "optional": false}, "kernel": {"name": "Kernel Type", "flags": ["--kernel"], "description": "Kernel type; one of 'uniform', 'triangular', 'epanechnikov', 'quartic', 'triweight', 'tricube', 'gaussian', 'cosine', 'logistic', 'sigmoid', 'silverman'.", "parameter_type": {"OptionList": ["uniform", "triangular", "epanechnikov", "quartic", "triweight", "tricube", "gaussian", "cosine", "logistic", "sigmoid", "silverman"]}, "default_value": "quartic", "optional": true}, "cell_size": {"name": "Output Raster Cell Size (Optional)", "flags": ["--cell_size"], "description": "Optionally specified cell size of output raster, in metres. Not used when base raster is specified.", "parameter_type": "Float", "default_value": "", "optional": true}, "base": {"name": "Base Raster (Optional)", "flags": ["--base"], "description": "Optionally specified input base raster file. Not used when a cell size is specified.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": true}}}, "HorizontalExcessCurvature": {"name": "HorizontalExcessCurvature", "tool_name": "horizontal_excess_curvature", "category": "Geomorphometric Analysis", "label": "Horizontal Excess Curvature", "description": "This tool calculates horizontal excess curvature from an input DEM.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#HorizontalExcessCurvature", "parameters": {"dem": {"name": "Input Raster DEM", "flags": ["-i", "--dem"], "description": "Name of the input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster Image", "flags": ["-o", "--output"], "description": "Name of the output raster image file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "log": {"name": "Log-transform the output?", "flags": ["--log"], "description": "Display output values using a log-scale.", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "zfactor": {"name": "Z-factor", "flags": ["--zfactor"], "description": "Z conversion factor.", "parameter_type": "Float", "default_value": "1.0", "optional": true}}}, "HydrologicConnectivity": {"name": "HydrologicConnectivity", "tool_name": "hydrologic_connectivity", "category": "Hydrological Analysis", "label": "Hydrologic Connectivity", "description": "This tool evaluates hydrologic connectivity within a DEM", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#HydrologicConnectivity", "parameters": {"dem": {"name": "Input DEM Raster", "flags": ["-d", "--dem"], "description": "Name of the input DEM raster file; must be depressionless.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output1": {"name": "Output Downslope Unsaturated Length File", "flags": ["--output1"], "description": "Name of the output downslope unsaturated length (DUL) file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "output2": {"name": "Output Upslope Disconnected Saturated Area File", "flags": ["--output2"], "description": "Name of the output upslope disconnected saturated area (UDSA) file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "exponent": {"name": "Exponent Parameter", "flags": ["--exponent"], "description": "Optional exponent parameter; default is 1.0.", "parameter_type": "Float", "default_value": "1.0", "optional": true}, "threshold": {"name": "Convergence Threshold (grid cells; blank for none)", "flags": ["--threshold"], "description": "Optional convergence threshold parameter, in grid cells; default is infinity.", "parameter_type": "Float", "default_value": null, "optional": true}}}, "ImageSegmentation": {"name": "ImageSegmentation", "tool_name": "image_segmentation", "category": "Image Processing Tools", "label": "Image Segmentation", "description": "Performs a region-growing based segmentation on a set of multi-spectral images.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools/classification.html#ImageSegmentation", "parameters": {"inputs": {"name": "Input Band Images", "flags": ["-i", "--inputs"], "description": "Names of the input band images.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster File", "flags": ["-o", "--output"], "description": "Name of the output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "threshold": {"name": "Distance Threshold (z-scores)", "flags": ["--threshold"], "description": "Distance threshold, in z-scores.", "parameter_type": "Float", "default_value": "0.5", "optional": true}, "steps": {"name": "Number of Steps", "flags": ["--steps"], "description": "Number of steps.", "parameter_type": "Integer", "default_value": "10", "optional": true}, "min_area": {"name": "Min. Object Area (in grid cells)", "flags": ["--min_area"], "description": "Minimum object area, in grid cells (1-8).", "parameter_type": "Integer", "default_value": "4", "optional": true}}}, "ImageSlider": {"name": "ImageSlider", "tool_name": "image_slider", "category": "Image Processing Tools", "label": "Image Slider", "description": "This tool creates an image slider from two input images.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#ImageSlider", "parameters": {"input1": {"name": "Left Input Raster Image", "flags": ["--i1", "--input1"], "description": "Name of the left input image file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "palette1": {"name": "Left Image Palette", "flags": ["--p1", "--palette1"], "description": "Left image palette; options are 'grey', 'atlas', 'high_relief', 'arid', 'soft', 'muted', 'purple', 'viridi', 'gn_yl', 'pi_y_g', 'bl_yl_rd', 'deep', and 'rgb'.", "parameter_type": {"OptionList": ["grey", "atlas", "high_relief", "arid", "soft", "muted", "purple", "viridi", "gn_yl", "pi_y_g", "bl_yl_rd", "deep", "rgb"]}, "default_value": "grey", "optional": true}, "reverse1": {"name": "Reverse left image palette?", "flags": ["--r1", "--reverse1"], "description": "Reverse left image palette?", "parameter_type": "Boolean", "default_value": "false", "optional": false}, "label1": {"name": "Left Image Label (blank for none)", "flags": ["--l1", "--label1"], "description": "Left image label (leave blank for none)", "parameter_type": "String", "default_value": "", "optional": true}, "input2": {"name": "Right Input Raster Image", "flags": ["--i2", "--input2"], "description": "Name of the right input image file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "palette2": {"name": "Right Image Palette", "flags": ["--p2", "--palette2"], "description": "Right image palette; options are 'grey', 'atlas', 'high_relief', 'arid', 'soft', 'muted', 'purple', 'viridi', 'gn_yl', 'pi_y_g', 'bl_yl_rd', 'deep', and 'rgb'.", "parameter_type": {"OptionList": ["grey", "atlas", "high_relief", "arid", "soft", "muted", "purple", "viridi", "gn_yl", "pi_y_g", "bl_yl_rd", "deep", "rgb"]}, "default_value": "grey", "optional": true}, "reverse2": {"name": "Reverse right image palette?", "flags": ["--r2", "--reverse2"], "description": "Reverse right image palette?", "parameter_type": "Boolean", "default_value": "false", "optional": false}, "label2": {"name": "Right Image Label (blank for none)", "flags": ["--l2", "--label2"], "description": "Right image label (leave blank for none)", "parameter_type": "String", "default_value": "", "optional": true}, "output": {"name": "Output File (*.html)", "flags": ["-o", "--output"], "description": "Name of the output HTML file (*.html).", "parameter_type": {"NewFile": "Html"}, "default_value": null, "optional": false}, "height": {"name": "Image Height (in pixels)", "flags": ["-h", "--height"], "description": "Image height, in pixels.", "parameter_type": "Integer", "default_value": "600", "optional": true}}}, "IndividualTreeDetection": {"name": "IndividualTreeDetection", "tool_name": "individual_tree_detection", "category": "LiDAR Tools", "label": "Individual Tree Detection", "description": "Identifies points in a LiDAR point cloud that are associated with the tops of individual trees.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#IndividualTreeDetection", "parameters": {"i": {"name": "Input LiDAR File", "flags": ["-i", "--input"], "description": "Name of the input LiDAR file.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": true}, "output": {"name": "Output Vector", "flags": ["-o", "--output"], "description": "Name of the output vector points file.", "parameter_type": {"NewFile": {"Vector": "Point"}}, "default_value": null, "optional": true}, "min_search_radius": {"name": "Min. Search Radius", "flags": ["--min_search_radius"], "description": "Minimum search radius (m).", "parameter_type": "Float", "default_value": "1.0", "optional": false}, "min_height": {"name": "Min. Height", "flags": ["--min_height"], "description": "Minimum height (m).", "parameter_type": "Float", "default_value": "0.0", "optional": false}, "max_search_radius": {"name": "Max. Search Radius", "flags": ["--max_search_radius"], "description": "Maximum search radius (m).", "parameter_type": "Float", "default_value": "", "optional": true}, "max_height": {"name": "Max. Height", "flags": ["--max_height"], "description": "Maximum height (m).", "parameter_type": "Float", "default_value": "", "optional": true}, "only_use_veg": {"name": "Only use veg. class points?", "flags": ["--only_use_veg"], "description": "Only use veg. class points?", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "InstallWbExtension": {"name": "InstallWbExtension", "tool_name": "install_wb_extension", "category": "Whitebox Utilities", "label": "Install Wb Extension", "description": "Use to install a Whitebox extension product.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/whitebox_utilities.html#InstallWbExtension", "parameters": {"install_extension": {"name": "Whitebox Extension Product Name", "flags": ["--install_extension"], "description": "Name of the extension product to install. Options include: 'General Toolset Extension', 'DEM & Spatial Hydrology Extension', 'Lidar & Remote Sensing Extension', and 'Agriculture Extension'", "parameter_type": {"OptionList": ["General Toolset Extension", "DEM & Spatial Hydrology Extension", "Lidar & Remote Sensing Extension", "Agriculture Extension"]}, "default_value": "General Toolset Extension", "optional": false}}}, "InversePrincipalComponentAnalysis": {"name": "InversePrincipalComponentAnalysis", "tool_name": "inverse_pca", "category": "Math and Stats Tools", "label": "Inverse Pca", "description": "This tool performs an inverse principal component analysis on a series of input component images.", "github": "https://github.com/jblindsay/whitebox-tools/tree/master/whitebox-tools-app/src/tools", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#InversePca", "parameters": {"inputs": {"name": "Input PCA Component Images", "flags": ["-i", "--inputs"], "description": "Name of the input PCA component images.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "report": {"name": "Input PCA Report File", "flags": ["-r", "--report"], "description": "Name of the PCA report file (*.html).", "parameter_type": {"NewFile": "Html"}, "default_value": null, "optional": false}}}, "KnnClassification": {"name": "KnnClassification", "tool_name": "knn_classification", "category": "Machine Learning", "label": "Knn Classification", "description": "Performs a supervised k-nearest neighbour classification using training site polygons/points and predictor rasters.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/machine_learning.html#KnnClassification", "parameters": {"inputs": {"name": "Input Predictor Rasters", "flags": ["-i", "--inputs"], "description": "Names of the input predictor rasters.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "training": {"name": "Input Training Polygons/Points", "flags": ["-t", "--training"], "description": "Name of the input training site polygons/points shapefile.", "parameter_type": {"ExistingFile": {"Vector": "Any"}}, "default_value": null, "optional": false}, "field": {"name": "Class Name Field", "flags": ["-f", "--field"], "description": "Name of the attribute containing class name data.", "parameter_type": {"VectorAttributeField": ["Any", "--training"]}, "default_value": null, "optional": false}, "test_proportion": {"name": "Test Proportion", "flags": ["--test_proportion"], "description": "The proportion of the dataset to include in the test split; default is 0.2.", "parameter_type": "Float", "default_value": "0.2", "optional": false}, "output": {"name": "Output Raster File", "flags": ["-o", "--output"], "description": "Name of the output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": true}, "scaling": {"name": "Scaling Method", "flags": ["--scaling"], "description": "Scaling method for predictors. Options include 'None', 'Normalize', and 'Standardize'", "parameter_type": {"OptionList": ["None", "Normalize", "Standardize"]}, "default_value": "Normalize", "optional": true}, "k": {"name": "Number of Nearest Neighbours, k", "flags": ["-k"], "description": "k-parameter, which determines the number of nearest neighbours used.", "parameter_type": "Integer", "default_value": "5", "optional": true}, "clip": {"name": "Perform training data clipping?", "flags": ["--clip"], "description": "Perform training data clipping to remove outlier pixels?", "parameter_type": "Boolean", "default_value": "true", "optional": true}}}, "KnnRegression": {"name": "KnnRegression", "tool_name": "knn_regression", "category": "Machine Learning", "label": "Knn Regression", "description": "Performs a supervised k-nearest neighbour regression using training site points and predictor rasters.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/machine_learning.html#KnnRegression", "parameters": {"inputs": {"name": "Input Predictor Rasters", "flags": ["-i", "--inputs"], "description": "Names of the input predictor rasters.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "scaling": {"name": "Scaling Method", "flags": ["--scaling"], "description": "Scaling method for predictors. Options include 'None', 'Normalize', and 'Standardize'", "parameter_type": {"OptionList": ["None", "Normalize", "Standardize"]}, "default_value": "Normalize", "optional": true}, "training": {"name": "Input Training Points", "flags": ["-t", "--training"], "description": "Name of the input training site points Shapefile.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "field": {"name": "Response Variable Field Name", "flags": ["-f", "--field"], "description": "Name of the attribute containing response variable name data.", "parameter_type": {"VectorAttributeField": ["Any", "--training"]}, "default_value": null, "optional": false}, "output": {"name": "Output Raster File", "flags": ["-o", "--output"], "description": "Name of the output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": true}, "k": {"name": "Number of Nearest Neighbours, k", "flags": ["-k"], "description": "k-parameter, which determines the number of nearest neighbours used.", "parameter_type": "Integer", "default_value": "5", "optional": true}, "weight": {"name": "Use distance weighting?", "flags": ["--weight"], "description": "Use distance weighting?", "parameter_type": "Boolean", "default_value": "true", "optional": true}, "test_proportion": {"name": "Test Proportion", "flags": ["--test_proportion"], "description": "The proportion of the dataset to include in the test split; default is 0.2.", "parameter_type": "Float", "default_value": "0.2", "optional": false}}}, "LasToLaz": {"name": "LasToLaz", "tool_name": "las_to_laz", "category": "LiDAR Tools", "label": "Las To Laz", "description": "This tool converts one or more LAS files into the LAZ format", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#LasToLaz", "parameters": {"i": {"name": "Input LAS File", "flags": ["-i", "--input"], "description": "Name of the input LAS files (leave blank to use all LAS files in WorkingDirectory.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": true}, "output": {"name": "Output LAZ File", "flags": ["-o", "--output"], "description": "Output LAZ file (including extension).", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": true}}}, "LaunchWbRunner": {"name": "LaunchWbRunner", "tool_name": "launch_wb_runner", "category": "Whitebox Utilities", "label": "Launch Wb Runner", "description": "Opens the Whitebox Runner application.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/whitebox_utilities.html#LaunchWbRunner", "parameters": {"clear_app_state": {"name": "Clear the application state memory?", "flags": ["--clear_app_state"], "description": "Clear the application state memory?", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "LazToLas": {"name": "LazToLas", "tool_name": "laz_to_las", "category": "LiDAR Tools", "label": "Laz To Las", "description": "This tool converts one or more LAZ files into the LAS format", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#LazToLas", "parameters": {"i": {"name": "Input LAZ File", "flags": ["-i", "--input"], "description": "Name of the input LAZ files (leave blank to use all LAZ files in WorkingDirectory.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": true}, "output": {"name": "Output LAS File", "flags": ["-o", "--output"], "description": "Output LAS file (including extension).", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": true}}}, "LidarContour": {"name": "LidarContour", "tool_name": "lidar_contour", "category": "LiDAR Tools", "label": "Lidar Contour", "description": "This tool creates a vector contour coverage from an input LiDAR point file.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#LidarContour", "parameters": {"i": {"name": "Input LiDAR Points", "flags": ["-i", "--input"], "description": "Name of the input LiDAR points.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": true}, "output": {"name": "Output Vector Lines", "flags": ["-o", "--output"], "description": "Name of the output vector lines file.", "parameter_type": {"NewFile": {"Vector": "Line"}}, "default_value": null, "optional": true}, "interval": {"name": "Contour Interval", "flags": ["--interval"], "description": "Contour interval.", "parameter_type": "Float", "default_value": "10.0", "optional": false}, "base": {"name": "Base Contour", "flags": ["--base"], "description": "Base contour.", "parameter_type": "Float", "default_value": "0.0", "optional": false}, "smooth": {"name": "Smoothing Filter Size", "flags": ["--smooth"], "description": "Smoothing filter size (in num. points), e.g. 3, 5, 7, 9, 11...", "parameter_type": "Integer", "default_value": "5", "optional": true}, "parameter": {"name": "Interpolation Parameter", "flags": ["-p", "--parameter"], "description": "Interpolation parameter; options are 'elevation' (default), 'intensity', 'user_data'.", "parameter_type": {"OptionList": ["elevation", "intensity", "user_data"]}, "default_value": "elevation", "optional": true}, "returns": {"name": "Point Returns Included", "flags": ["--returns"], "description": "Point return types to include; options are 'all' (default), 'last', 'first'.", "parameter_type": {"OptionList": ["all", "last", "first"]}, "default_value": "all", "optional": true}, "exclude_cls": {"name": "Exclusion Classes (0-18, based on LAS spec; e.g. 3,4,5,6,7)", "flags": ["--exclude_cls"], "description": "Optional exclude classes from interpolation; Valid class values range from 0 to 18, based on LAS specifications. Example, --exclude_cls='3,4,5,6,7,18'.", "parameter_type": "String", "default_value": null, "optional": true}, "minz": {"name": "Minimum Elevation Value (optional)", "flags": ["--minz"], "description": "Optional minimum elevation for inclusion in interpolation.", "parameter_type": "Float", "default_value": null, "optional": true}, "maxz": {"name": "Maximum Elevation Value (optional)", "flags": ["--maxz"], "description": "Optional maximum elevation for inclusion in interpolation.", "parameter_type": "Float", "default_value": null, "optional": true}, "max_triangle_edge_length": {"name": "Maximum Triangle Length (optional)", "flags": ["--max_triangle_edge_length"], "description": "Optional maximum triangle edge length; triangles larger than this size will not be gridded.", "parameter_type": "Float", "default_value": null, "optional": true}}}, "LidarEigenvalueFeatures": {"name": "LidarEigenvalueFeatures", "tool_name": "lidar_eigenvalue_features", "category": "LiDAR Tools", "label": "Lidar Eigenvalue Features", "description": "Calculate eigenvalue-based metrics from a LiDAR point cloud.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#LidarEigenvalueFeatures", "parameters": {"i": {"name": "Input LiDAR Points", "flags": ["-i", "--input"], "description": "Name of the input LiDAR points.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": true}, "num_neighbours": {"name": "Number of Neighbours:", "flags": ["--num_neighbours"], "description": "Number of neighbours used in search.", "parameter_type": "Integer", "default_value": null, "optional": true}, "radius": {"name": "Search Distance:", "flags": ["--radius"], "description": "Search distance used in neighbourhood search.", "parameter_type": "Float", "default_value": null, "optional": true}}}, "LidarPointReturnAnalysis": {"name": "LidarPointReturnAnalysis", "tool_name": "lidar_point_return_analysis", "category": "LiDAR Tools", "label": "Lidar Point Return Analysis", "description": "This tool performs a quality control check on the return values of points in a LiDAR file.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#LidarPointReturnAnalysis", "parameters": {"i": {"name": "Input LiDAR Points", "flags": ["-i", "--input"], "description": "Name of the input LiDAR points.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": false}, "output": {"name": "Output LiDAR Points", "flags": ["-o", "--output"], "description": "Name of the output LiDAR points.", "parameter_type": {"NewFile": "Lidar"}, "default_value": null, "optional": true}}}, "LidarShift": {"name": "LidarShift", "tool_name": "lidar_shift", "category": "LiDAR Tools", "label": "Lidar Shift", "description": "Shifts the x,y,z coordinates of a LiDAR file.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#LidarShift", "parameters": {"i": {"name": "Input LiDAR Points", "flags": ["-i", "--input"], "description": "Name of the input LiDAR points.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": false}, "output": {"name": "Output LiDAR Points", "flags": ["-o", "--output"], "description": "Name of the output LiDAR points.", "parameter_type": {"NewFile": "Lidar"}, "default_value": null, "optional": false}, "x_shift": {"name": "x-shift", "flags": ["-x", "--x_shift"], "description": "x-shift value, blank for none.", "parameter_type": "Float", "default_value": "", "optional": true}, "y_shift": {"name": "y-shift", "flags": ["-y", "--y_shift"], "description": "y-shift value, blank for none.", "parameter_type": "Float", "default_value": "", "optional": true}, "z_shift": {"name": "z-shift", "flags": ["-z", "--z_shift"], "description": "z-shift value, blank for none.", "parameter_type": "Float", "default_value": "", "optional": true}}}, "LidarSibsonInterpolation": {"name": "LidarSibsonInterpolation", "tool_name": "lidar_sibson_interpolation", "category": "LiDAR Tools", "label": "Lidar Sibson Interpolation", "description": "This tool interpolates one or more LiDAR tiles using Sibson's natural neighbour method.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#LidarSibsonInterpolation", "parameters": {"i": {"name": "Input LiDAR Points", "flags": ["-i", "--input"], "description": "Name of the input LiDAR points (leave blank to use all files in WorkingDirectory.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": true}, "output": {"name": "Output Raster", "flags": ["-o", "--output"], "description": "Output raster file (including extension).", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": true}, "parameter": {"name": "Interpolation Parameter", "flags": ["-p", "--parameter"], "description": "Interpolation parameter; options are 'elevation' (default), 'intensity', 'class', 'return_number', 'number_of_returns', 'scan angle', 'user_data'.", "parameter_type": {"OptionList": ["elevation", "intensity", "class", "return_number", "number_of_returns", "scan_angle", "user_data"]}, "default_value": "elevation", "optional": true}, "returns": {"name": "Point Returns Included", "flags": ["--returns"], "description": "Point return types to include; options are 'all' (default), 'last', 'first'.", "parameter_type": {"OptionList": ["all", "last", "first"]}, "default_value": "all", "optional": true}, "resolution": {"name": "Output Grid Resolution", "flags": ["--resolution"], "description": "Output raster's grid resolution.", "parameter_type": "Float", "default_value": "1.0", "optional": true}, "exclude_cls": {"name": "Exclusion Classes (0-18, based on LAS spec; e.g. 3,4,5,6,7)", "flags": ["--exclude_cls"], "description": "Optional exclude classes from interpolation; Valid class values range from 0 to 18, based on LAS specifications. Example, --exclude_cls='3,4,5,6,7,18'.", "parameter_type": "String", "default_value": null, "optional": true}, "minz": {"name": "Minimum Elevation Value (optional)", "flags": ["--minz"], "description": "Optional minimum elevation for inclusion in interpolation.", "parameter_type": "Float", "default_value": null, "optional": true}, "maxz": {"name": "Maximum Elevation Value (optional)", "flags": ["--maxz"], "description": "Optional maximum elevation for inclusion in interpolation.", "parameter_type": "Float", "default_value": null, "optional": true}}}, "LocalHypsometricAnalysis": {"name": "LocalHypsometricAnalysis", "tool_name": "local_hypsometric_analysis", "category": "Geomorphometric Analysis", "label": "Local Hypsometric Analysis", "description": "This tool calculates a local, neighbourhood-based hypsometric integral raster.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#LocalHypsometricAnalysis", "parameters": {"i": {"name": "Input Raster DEM", "flags": ["-i", "--input"], "description": "Name of the input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "out_mag": {"name": "Output Magnitude Raster", "flags": ["--out_mag"], "description": "Name of the openness output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "out_scale": {"name": "Output Scale Raster", "flags": ["--out_scale"], "description": "Name of the openness output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "min_scale": {"name": "Minimum Search Neighbourhood Radius (grid cells)", "flags": ["--min_scale"], "description": "Minimum search neighbourhood radius in grid cells.", "parameter_type": "Integer", "default_value": "4", "optional": true}, "step": {"name": "Base Step Size", "flags": ["--step"], "description": "Step size as any positive non-zero integer.", "parameter_type": "Integer", "default_value": "1", "optional": true}, "num_steps": {"name": "Number of Steps", "flags": ["--num_steps"], "description": "Number of steps.", "parameter_type": "Integer", "default_value": "10", "optional": true}, "step_nonlinearity": {"name": "Step Nonlinearity", "flags": ["--step_nonlinearity"], "description": "Step nonlinearity factor (1.0-2.0 is typical)", "parameter_type": "Float", "default_value": "1.0", "optional": true}}}, "LocalQuadraticRegression": {"name": "LocalQuadraticRegression", "tool_name": "local_quadratic_regression", "category": "Geomorphometric Analysis", "label": "Local Quadratic Regression", "description": "An implementation of the constrained quadratic regression algorithm using a flexible window size described in Wood (1996).", "github": "https://github.com/jblindsay/whitebox-tools/tree/master/whitebox-plugins/src/LocalQuadraticRegression/main.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#LocalQuadraticRegression", "parameters": {"dem": {"name": "Input DEM Raster", "flags": ["-d", "--dem"], "description": "Name of the input DEM raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster File", "flags": ["-o", "--output"], "description": "Name of the output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "filter": {"name": "Filter Edge Length", "flags": ["--filter"], "description": "Edge length of the filter kernel.", "parameter_type": "Integer", "default_value": "3", "optional": true}}}, "LogisticRegression": {"name": "LogisticRegression", "tool_name": "logistic_regression", "category": "Machine Learning", "label": "Logistic Regression", "description": "Performs a logistic regression analysis using training site polygons/points and predictor rasters.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/machine_learning.html#LogisticRegression", "parameters": {"inputs": {"name": "Input Predictor Rasters", "flags": ["-i", "--inputs"], "description": "Names of the input predictor rasters.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "scaling": {"name": "Scaling Method", "flags": ["--scaling"], "description": "Scaling method for predictors. Options include 'None', 'Normalize', and 'Standardize'", "parameter_type": {"OptionList": ["None", "Normalize", "Standardize"]}, "default_value": "Normalize", "optional": true}, "training": {"name": "Input Training Polygons/Points", "flags": ["-t", "--training"], "description": "Name of the input training site polygons/points shapefile.", "parameter_type": {"ExistingFile": {"Vector": "Any"}}, "default_value": null, "optional": false}, "field": {"name": "Class Field Name", "flags": ["-f", "--field"], "description": "Name of the attribute containing class data.", "parameter_type": {"VectorAttributeField": ["Any", "--training"]}, "default_value": null, "optional": false}, "output": {"name": "Output Raster File", "flags": ["-o", "--output"], "description": "Name of the output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": true}, "test_proportion": {"name": "Test Proportion", "flags": ["--test_proportion"], "description": "The proportion of the dataset to include in the test split; default is 0.2.", "parameter_type": "Float", "default_value": "0.2", "optional": true}}}, "LowPointsOnHeadwaterDivides": {"name": "LowPointsOnHeadwaterDivides", "tool_name": "low_points_on_headwater_divides", "category": "Hydrological Analysis", "label": "Low Points On Headwater Divides", "description": "This tool locates saddle points along ridges within a digital elevation model (DEM)", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#LowPointsOnHeadwaterDivides", "parameters": {"dem": {"name": "Input DEM Raster", "flags": ["-d", "--dem"], "description": "Name of the input DEM raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "streams": {"name": "Input Streams Raster", "flags": ["--streams"], "description": "Name of the input stream channel raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Vector File", "flags": ["-o", "--output"], "description": "Name of the output vector file.", "parameter_type": {"NewFile": {"Vector": "Point"}}, "default_value": null, "optional": false}}}, "MaxUpslopeValue": {"name": "MaxUpslopeValue", "tool_name": "max_upslope_value", "category": "Hydrological Analysis", "label": "Max Upslope Value", "description": "Calculates the maximum upslope value from an input values raster along flowpaths.", "github": "https://github.com/jblindsay/whitebox-tools/tree/master/whitebox-plugins/src/MaxUpslopeValue/main.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#MaxUpslopeValue", "parameters": {"dem": {"name": "Input DEM", "flags": ["-d", "--dem"], "description": "Input DEM; it must be depressionless.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "values": {"name": "Values Raster File", "flags": ["--values"], "description": "Name of the input values raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster File", "flags": ["--output"], "description": "Name of the output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "MinDistClassification": {"name": "MinDistClassification", "tool_name": "min_dist_classification", "category": "Image Processing Tools", "label": "Min Dist Classification", "description": "Performs a supervised minimum-distance classification using training site polygons and multi-spectral images.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools/classification.html#MinDistClassification", "parameters": {"inputs": {"name": "Input Band Images", "flags": ["-i", "--inputs"], "description": "Names of the input band images.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "polys": {"name": "Input Training Polygons", "flags": ["-p", "--polys"], "description": "Name of the input training site polygons shapefile.", "parameter_type": {"ExistingFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}, "field": {"name": "Class Name Field", "flags": ["-f", "--field"], "description": "Name of the attribute containing class name data.", "parameter_type": {"VectorAttributeField": ["Any", "--polys"]}, "default_value": null, "optional": false}, "output": {"name": "Output Raster File", "flags": ["-o", "--output"], "description": "Name of the output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "threshold": {"name": "Distance Threshold (z-scores; blank for none)", "flags": ["--threshold"], "description": "Distance threshold, in z-scores; blank for none.", "parameter_type": "Float", "default_value": null, "optional": true}}}, "ModifyLidar": {"name": "ModifyLidar", "tool_name": "modify_lidar", "category": "LiDAR Tools", "label": "Modify Lidar", "description": "Modify points within a LiDAR point cloud based on point properties.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#ModifyLidar", "parameters": {"i": {"name": "Input LiDAR Points", "flags": ["-i", "--input"], "description": "Name of the input LiDAR points.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": true}, "output": {"name": "Output LiDAR Points", "flags": ["-o", "--output"], "description": "Name of the output LiDAR points.", "parameter_type": {"NewFile": "Lidar"}, "default_value": null, "optional": true}, "statement": {"name": "Statement:", "flags": ["-s", "--statement"], "description": "Modify statement e.g. x += 5000.0.", "parameter_type": "String", "default_value": "", "optional": false}}}, "MultiscaleCurvatures": {"name": "MultiscaleCurvatures", "tool_name": "multiscale_curvatures", "category": "Geomorphometric Analysis", "label": "Multiscale Curvatures", "description": "This tool calculates several multiscale curvatures and curvature-based indices from an input DEM.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#MultiscaleCurvatures", "parameters": {"dem": {"name": "Input Raster DEM", "flags": ["-i", "--input", "--dem"], "description": "Name of the input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "curv_type": {"name": "Curvature Type", "flags": ["--curv_type"], "description": "Curvature type", "parameter_type": {"OptionList": ["AccumulationCurv", "Curvedness", "DifferenceCurv", "GaussianCurv", "GeneratingFunction", "HorizontalExcessCurv", "MaximalCurv", "MeanCurv", "MinimalCurv", "PlanCurv", "ProfileCurv", "RingCurv", "Rotor", "ShapeIndex", "TangentialCurv", "TotalCurv", "Unsphericity", "VerticalExcessCurv"]}, "default_value": "ProfileCurv", "optional": true}, "out_mag": {"name": "Output Magnitude File", "flags": ["--out_mag"], "description": "Output raster magnitude file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "out_scale": {"name": "Output Scale File", "flags": ["--out_scale"], "description": "Output raster scale file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": true}, "min_scale": {"name": "Minimum Search Neighbourhood Radius (grid cells)", "flags": ["--min_scale"], "description": "Minimum search neighbourhood radius in grid cells.", "parameter_type": "Integer", "default_value": "0", "optional": true}, "step": {"name": "Base Step Size", "flags": ["--step"], "description": "Step size as any positive non-zero integer.", "parameter_type": "Integer", "default_value": "1", "optional": true}, "num_steps": {"name": "Number of Steps", "flags": ["--num_steps"], "description": "Number of steps.", "parameter_type": "Integer", "default_value": "1", "optional": false}, "step_nonlinearity": {"name": "Step Nonlinearity", "flags": ["--step_nonlinearity"], "description": "Step nonlinearity factor (1.0-2.0 is typical).", "parameter_type": "Float", "default_value": "1.0", "optional": false}, "log": {"name": "Log-transform the output?", "flags": ["--log"], "description": "Display output values using a log-scale.", "parameter_type": "Boolean", "default_value": "true", "optional": true}, "standardize": {"name": "Standardize Each Scale?", "flags": ["--standardize"], "description": "Should each scale be standardized to z-scores?", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "NormalizeLidar": {"name": "NormalizeLidar", "tool_name": "normalize_lidar", "category": "LiDAR Tools", "label": "Normalize Lidar", "description": "Normalizes a LiDAR point cloud.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#NormalizeLidar", "parameters": {"i": {"name": "Input LiDAR File", "flags": ["-i", "--input"], "description": "Name of the input LiDAR file.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": false}, "output": {"name": "Output Lidar File", "flags": ["-o", "--output"], "description": "Name of the output LiDAR file.", "parameter_type": {"NewFile": "Lidar"}, "default_value": null, "optional": false}, "dtm": {"name": "Input DTM Raster File", "flags": ["--dtm"], "description": "Name of the input digital terrain model (DTM) raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}}}, "Openness": {"name": "Openness", "tool_name": "openness", "category": "Geomorphometric Analysis", "label": "Openness", "description": "This tool calculates the topographic openness index from an input DEM.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#Openness", "parameters": {"i": {"name": "Input Raster DEM", "flags": ["-i", "--input"], "description": "Name of the input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "pos_output": {"name": "Positive Openness Output Raster", "flags": ["--pos_output"], "description": "Name of the positive openness output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "neg_output": {"name": "Negative Openness Output Raster", "flags": ["--neg_output"], "description": "Name of the negative openness output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "dist": {"name": "Search Distance (grid cells)", "flags": ["--dist"], "description": "Search distance, in grid cells.", "parameter_type": "Integer", "default_value": "20", "optional": true}}}, "ParallelepipedClassification": {"name": "ParallelepipedClassification", "tool_name": "parallelepiped_classification", "category": "Image Processing Tools", "label": "Parallelepiped Classification", "description": "Performs a supervised parallelepiped classification using training site polygons and multi-spectral images.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools/classification.html#ParallelepipedClassification", "parameters": {"inputs": {"name": "Input Band Images", "flags": ["-i", "--inputs"], "description": "Name of the input band images.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "polys": {"name": "Input Training Polygons", "flags": ["-p", "--polys"], "description": "Name of the input training site polygons shapefile.", "parameter_type": {"ExistingFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}, "field": {"name": "Class Name Field", "flags": ["-f", "--field"], "description": "Name of the attribute containing class name data.", "parameter_type": {"VectorAttributeField": ["Any", "--polys"]}, "default_value": null, "optional": false}, "output": {"name": "Output Raster File", "flags": ["-o", "--output"], "description": "Name of the output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "PhiCoefficient": {"name": "PhiCoefficient", "tool_name": "phi_coefficient", "category": "Math and Stats Tools", "label": "Phi Coefficient", "description": "This tool performs a binary classification accuracy assessment.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#PhiCoefficient", "parameters": {"input1": {"name": "Input Raster Image 1", "flags": ["--input1"], "description": "Name of the first input raster image file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "input2": {"name": "Input Raster Image 2", "flags": ["--input2"], "description": "Name of the second input raster image file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output HTML File", "flags": ["-o", "--output"], "description": "Name of the output HTML file.", "parameter_type": {"NewFile": "Html"}, "default_value": null, "optional": false}}}, "PiecewiseContrastStretch": {"name": "PiecewiseContrastStretch", "tool_name": "piecewise_contrast_stretch", "category": "Image Processing Tools", "label": "Piecewise Contrast Stretch", "description": "Performs a piecewise contrast stretch on an input image.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools/image_enhancement.html#PiecewiseContrastStretch", "parameters": {"i": {"name": "Input Raster Image", "flags": ["-i", "--input"], "description": "Name of the input raster image file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster Image", "flags": ["-o", "--output"], "description": "Name of the output raster image file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "function": {"name": "Piecewise Function Break-points:", "flags": ["-f", "--function"], "description": "Piecewise function break-points e.g. '(50, 0.1); (150, 0.8); (255; 1.0)", "parameter_type": "String", "default_value": "", "optional": false}, "greytones": {"name": "Number of Output Greytones:", "flags": ["-g", "--greytones"], "description": "Number of greytones in the output image.", "parameter_type": "Integer", "default_value": "1024", "optional": true}}}, "QinFlowAccumulation": {"name": "QinFlowAccumulation", "tool_name": "qin_flow_accumulation", "category": "Hydrological Analysis", "label": "Qin Flow Accumulation", "description": "Calculates Qin et al. (2007) flow accumulation.", "github": "https://github.com/jblindsay/whitebox-tools/tree/master/whitebox-plugins/src/QinFlowAccumulation/main.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#QinFlowAccumulation", "parameters": {"dem": {"name": "Input DEM Raster", "flags": ["-d", "--dem"], "description": "Name of the input DEM raster file; must be depressionless.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster File", "flags": ["--output"], "description": "Name of the output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "out_type": {"name": "Output Type", "flags": ["--out_type"], "description": "Output type; one of 'cells', 'specific contributing area' (default), and 'catchment area'.", "parameter_type": {"OptionList": ["cells", "specific contributing area", "catchment area"]}, "default_value": "specific contributing area", "optional": true}, "exponent": {"name": "Upper-bound Exponent Parameter", "flags": ["--exponent"], "description": "Optional upper-bound exponent parameter; default is 10.0.", "parameter_type": "Float", "default_value": "10.0", "optional": true}, "max_slope": {"name": "Upper-bound Slope Parameter (in degrees)", "flags": ["--max_slope"], "description": "Optional upper-bound slope parameter, in degrees (0-90); default is 45.0.", "parameter_type": "Float", "default_value": "45.0", "optional": true}, "threshold": {"name": "Convergence Threshold (grid cells; blank for none)", "flags": ["--threshold"], "description": "Optional convergence threshold parameter, in grid cells; default is infinity.", "parameter_type": "Float", "default_value": null, "optional": true}, "log": {"name": "Log-transform the output?", "flags": ["--log"], "description": "Log-transform the output values?", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "clip": {"name": "Clip the upper tail by 1%?", "flags": ["--clip"], "description": "Optional flag to request clipping the display max by 1%.", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "QuinnFlowAccumulation": {"name": "QuinnFlowAccumulation", "tool_name": "quinn_flow_accumulation", "category": "Hydrological Analysis", "label": "Quinn Flow Accumulation", "description": "Calculates Quinn et al. (1995) flow accumulation.", "github": "https://github.com/jblindsay/whitebox-tools/tree/master/whitebox-plugins/src/QuinnFlowAccumulation/main.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#QuinnFlowAccumulation", "parameters": {"dem": {"name": "Input DEM Raster", "flags": ["-d", "--dem"], "description": "Name of the input DEM raster file; must be depressionless.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster File", "flags": ["--output"], "description": "Name of the output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "out_type": {"name": "Output Type", "flags": ["--out_type"], "description": "Output type; one of 'cells', 'specific contributing area' (default), and 'catchment area'.", "parameter_type": {"OptionList": ["cells", "specific contributing area", "catchment area"]}, "default_value": "specific contributing area", "optional": true}, "exponent": {"name": "Exponent Parameter", "flags": ["--exponent"], "description": "Optional exponent parameter; default is 1.0.", "parameter_type": "Float", "default_value": "1.0", "optional": true}, "threshold": {"name": "Convergence Threshold (grid cells; blank for none)", "flags": ["--threshold"], "description": "Optional convergence threshold parameter, in grid cells; default is infinity.", "parameter_type": "Float", "default_value": null, "optional": true}, "log": {"name": "Log-transform the output?", "flags": ["--log"], "description": "Log-transform the output values?", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "clip": {"name": "Clip the upper tail by 1%?", "flags": ["--clip"], "description": "Optional flag to request clipping the display max by 1%.", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "RandomForestClassification": {"name": "RandomForestClassification", "tool_name": "random_forest_classification", "category": "Machine Learning", "label": "Random Forest Classification", "description": "Performs a supervised random forest classification using training site polygons/points and predictor rasters.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/machine_learning.html#RandomForestClassification", "parameters": {"inputs": {"name": "Input Predictor Rasters", "flags": ["-i", "--inputs"], "description": "Names of the input predictor rasters.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "training": {"name": "Input Training Polygons/Points", "flags": ["-t", "--training"], "description": "Name of the input training site polygons/points shapefile.", "parameter_type": {"ExistingFile": {"Vector": "Any"}}, "default_value": null, "optional": false}, "field": {"name": "Class Field Name", "flags": ["-f", "--field"], "description": "Name of the attribute containing class data.", "parameter_type": {"VectorAttributeField": ["Any", "--training"]}, "default_value": null, "optional": false}, "output": {"name": "Output Raster File", "flags": ["-o", "--output"], "description": "Name of the output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": true}, "split_criterion": {"name": "Split Criterion", "flags": ["--split_criterion"], "description": "Split criterion to use when building a tree. Options include 'Gini', 'Entropy', and 'ClassificationError'", "parameter_type": {"OptionList": ["Gini", "Entropy", "ClassificationError"]}, "default_value": "Gini", "optional": true}, "n_trees": {"name": "Number of Trees in Forest", "flags": ["--n_trees"], "description": "The number of trees in the forest.", "parameter_type": "Integer", "default_value": "500", "optional": true}, "min_samples_leaf": {"name": "Min Number of Samples to be a Leaf", "flags": ["--min_samples_leaf"], "description": "The minimum number of samples required to be at a leaf node.", "parameter_type": "Integer", "default_value": "1", "optional": true}, "min_samples_split": {"name": "Min Number of Samples Needed to Split Node", "flags": ["--min_samples_split"], "description": "The minimum number of samples required to split an internal node.", "parameter_type": "Integer", "default_value": "2", "optional": true}, "test_proportion": {"name": "Test Proportion", "flags": ["--test_proportion"], "description": "The proportion of the dataset to include in the test split; default is 0.2.", "parameter_type": "Float", "default_value": "0.2", "optional": true}}}, "RandomForestRegression": {"name": "RandomForestRegression", "tool_name": "random_forest_regression", "category": "Machine Learning", "label": "Random Forest Regression", "description": "Performs a random forest regression analysis using training site data and predictor rasters.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/machine_learning.html#RandomForestRegression", "parameters": {"inputs": {"name": "Input Predictor Rasters", "flags": ["-i", "--inputs"], "description": "Names of the input predictor rasters.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "training": {"name": "Input Training Points", "flags": ["-t", "--training"], "description": "Name of the input training site points shapefile.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "field": {"name": "Response Variable Field Name", "flags": ["-f", "--field"], "description": "Name of the attribute containing response variable name data.", "parameter_type": {"VectorAttributeField": ["Any", "--training"]}, "default_value": null, "optional": false}, "output": {"name": "Output Raster File", "flags": ["-o", "--output"], "description": "Name of the output raster file. This parameter is optional. When unspecified, the tool will only build the model. When specified, the tool will use the built model and predictor rasters to perform a spatial prediction.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": true}, "n_trees": {"name": "Number of Trees in Forest", "flags": ["--n_trees"], "description": "The number of trees in the forest.", "parameter_type": "Integer", "default_value": "100", "optional": true}, "min_samples_leaf": {"name": "Min Number of Samples to be a Leaf", "flags": ["--min_samples_leaf"], "description": "The minimum number of samples required to be at a leaf node.", "parameter_type": "Integer", "default_value": "1", "optional": true}, "min_samples_split": {"name": "Min Number of Samples Needed to Split Node", "flags": ["--min_samples_split"], "description": "The minimum number of samples required to split an internal node.", "parameter_type": "Integer", "default_value": "2", "optional": true}, "test_proportion": {"name": "Test Proportion", "flags": ["--test_proportion"], "description": "The proportion of the dataset to include in the test split; default is 0.2.", "parameter_type": "Float", "default_value": "0.2", "optional": true}}}, "RasterCalculator": {"name": "RasterCalculator", "tool_name": "raster_calculator", "category": "Math and Stats Tools", "label": "Raster Calculator", "description": "Performs a complex mathematical operations on one or more input raster images on a cell-to-cell basis.", "github": "https://github.com/jblindsay/whitebox-tools/tree/master/whitebox-plugins/src/RasterCalculator/main.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#RasterCalculator", "parameters": {"statement": {"name": "Statement:", "flags": ["--statement"], "description": "Statement e.g. cos(\"raster1\") * 35.0 + \"raster2\". This statement must be a valid Rust statement.", "parameter_type": "String", "default_value": "", "optional": false}, "output": {"name": "Output Raster File", "flags": ["--output"], "description": "Name of the output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "ReconcileMultipleHeaders": {"name": "ReconcileMultipleHeaders", "tool_name": "reconcile_multiple_headers", "category": "Precision Agriculture", "label": "Reconcile Multiple Headers", "description": "This tool adjusts the crop yield values for data sets collected with multiple headers or combines.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/precision_agriculture.html#ReconcileMultipleHeaders", "parameters": {"i": {"name": "Input Points", "flags": ["-i", "--input"], "description": "Name of the input points shapefile.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "region_field": {"name": "Region Field Name", "flags": ["--region_field"], "description": "Name of the attribute containing region data.", "parameter_type": {"VectorAttributeField": ["Any", "--input"]}, "default_value": null, "optional": false}, "yield_field": {"name": "Yield Field Name", "flags": ["-y", "--yield_field"], "description": "Name of the attribute containing yield data.", "parameter_type": {"VectorAttributeField": ["Any", "--input"]}, "default_value": null, "optional": false}, "output": {"name": "Output Points", "flags": ["-o", "--output"], "description": "Name of the output points shapefile.", "parameter_type": {"NewFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "radius": {"name": "Search Radius (m)", "flags": ["--radius"], "description": "Optional search radius, in metres. Only specify this value if you want to calculate locally normalized yield.", "parameter_type": "Float", "default_value": null, "optional": true}, "min_yield": {"name": "Minimum Yield", "flags": ["--min_yield"], "description": "Minimum yield value in output.", "parameter_type": "Float", "default_value": null, "optional": true}, "max_yield": {"name": "Maximum Yield", "flags": ["--max_yield"], "description": "Maximum yield value in output.", "parameter_type": "Float", "default_value": null, "optional": true}, "mean_tonnage": {"name": "Overall Average Tonnage (Optional)", "flags": ["--mean_tonnage"], "description": "Use this optional parameter to force the output to have a certain overall average tonnage.", "parameter_type": "Float", "default_value": null, "optional": true}}}, "RecoverFlightlineInfo": {"name": "RecoverFlightlineInfo", "tool_name": "recover_flightline_info", "category": "LiDAR Tools", "label": "Recover Flightline Info", "description": "Associates LiDAR points by their flightlines.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#RecoverFlightlineInfo", "parameters": {"i": {"name": "Input LiDAR Points", "flags": ["-i", "--input"], "description": "Name of the input LiDAR points.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": false}, "output": {"name": "Output LiDAR Points", "flags": ["-o", "--output"], "description": "Name of the output LiDAR points.", "parameter_type": {"NewFile": "Lidar"}, "default_value": null, "optional": false}, "max_time_diff": {"name": "Maximum In-Flightline Time Difference (seconds)", "flags": ["--max_time_diff"], "description": "Maximum in-flightline time difference (seconds)", "parameter_type": "Float", "default_value": "5.0", "optional": true}, "pt_src_id": {"name": "Add flightline info to the Point Source ID?", "flags": ["--pt_src_id"], "description": "Add flightline information to the point source ID", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "user_data": {"name": "Add flightline info to the User Data?", "flags": ["--user_data"], "description": "Add flightline information to the user data", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "rgb": {"name": "Add flightline info to the RGB colour data?", "flags": ["--rgb"], "description": "Add flightline information to the RGB colour data", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "RecreatePassLines": {"name": "RecreatePassLines", "tool_name": "recreate_pass_lines", "category": "Precision Agriculture", "label": "Recreate Pass Lines", "description": "This tool can be used to approximate the harvester pass lines from yield points.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/precision_agriculture.html#RecreatePassLines", "parameters": {"i": {"name": "Input Points", "flags": ["-i", "--input"], "description": "Name of the input points shapefile.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "yield_field_name": {"name": "Yield Field Name", "flags": ["-y", "--yield_field_name"], "description": "Name of the attribute containing yield data.", "parameter_type": {"VectorAttributeField": ["Any", "--input"]}, "default_value": null, "optional": false}, "output_lines": {"name": "Output Pass Line", "flags": ["--output_lines"], "description": "Name of the output pass lines shapefile.", "parameter_type": {"NewFile": {"Vector": "Line"}}, "default_value": null, "optional": false}, "output_points": {"name": "Output Points", "flags": ["--output_points"], "description": "Name of the output points shapefile.", "parameter_type": {"NewFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "max_change_in_heading": {"name": "Max Change In Heading (degrees)", "flags": ["-m", "--max_change_in_heading"], "description": "Max change in heading.", "parameter_type": "Float", "default_value": "25.0", "optional": true}, "ignore_zeros": {"name": "Ignore zero-valued yield points?", "flags": ["--ignore_zeros"], "description": "Ignore zero-valued yield points?", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "RemoveFieldEdgePoints": {"name": "RemoveFieldEdgePoints", "tool_name": "remove_field_edge_points", "category": "Precision Agriculture", "label": "Remove Field Edge Points", "description": "This tool can be used to remove, or flag, most of the points along the edges from a crop yield data set.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/precision_agriculture.html#RemoveFieldEdgePoints", "parameters": {"i": {"name": "Input Points", "flags": ["-i", "--input"], "description": "Name of the input points shapefile.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "output": {"name": "Output Points", "flags": ["-o", "--output"], "description": "Name of the output points shapefile.", "parameter_type": {"NewFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "dist": {"name": "Average Distance Between Passes (m)", "flags": ["-d", "--dist"], "description": "Average distance between passes, in meters.", "parameter_type": "Float", "default_value": null, "optional": true}, "max_change_in_heading": {"name": "Max Change In Heading (degrees)", "flags": ["-m", "--max_change_in_heading"], "description": "Max change in heading.", "parameter_type": "Float", "default_value": "25.0", "optional": true}, "flag_edges": {"name": "Don't remove edge points, just flag them?", "flags": ["--flag_edges"], "description": "Don't remove edge points, just flag them in the attribute table?", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "RemoveRasterPolygonHoles": {"name": "RemoveRasterPolygonHoles", "tool_name": "remove_raster_polygon_holes", "category": "Data Tools", "label": "Remove Raster Polygon Holes", "description": "Removes polygon holes, or 'donut-holes', from raster polygons.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/data_tools.html#RemoveRasterPolygonHoles", "parameters": {"i": {"name": "Input Raster Image", "flags": ["-i", "--input"], "description": "Name of the input raster image file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster File", "flags": ["-o", "--output"], "description": "Name of the output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "threshold": {"name": "Threshold Size (Grid Cells):", "flags": ["--threshold"], "description": "Maximum size of removed holes, in grid cells. Blank for no threshold, i.e. remove all holes.", "parameter_type": "Integer", "default_value": "3", "optional": true}, "use_diagonals": {"name": "Use diagonal neighbours during clumping?", "flags": ["--use_diagonals"], "description": "Use diagonal neighbours during clumping operation.", "parameter_type": "Boolean", "default_value": "true", "optional": true}}}, "RepairStreamVectorTopology": {"name": "RepairStreamVectorTopology", "tool_name": "repair_stream_vector_topology", "category": "Stream Network Analysis", "label": "Repair Stream Vector Topology", "description": "This tool resolves topological errors and inconsistencies associated with digitized vector streams.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/stream_network_analysis.html#RepairStreamVectorTopology", "parameters": {"i": {"name": "Input Vector Lines", "flags": ["-i", "--input"], "description": "Name of the input lines vector file.", "parameter_type": {"ExistingFile": {"Vector": "Line"}}, "default_value": null, "optional": false}, "output": {"name": "Output Lines", "flags": ["-o", "--output"], "description": "Name of the output lines vector file.", "parameter_type": {"NewFile": {"Vector": "Line"}}, "default_value": null, "optional": false}, "dist": {"name": "Snap Distance", "flags": ["--snap", "--dist"], "description": "Snap distance, in xy units (metres).", "parameter_type": "Float", "default_value": "", "optional": false}}}, "Rho8FlowAccumulation": {"name": "Rho8FlowAccumulation", "tool_name": "rho8_flow_accumulation", "category": "Hydrological Analysis", "label": "Rho8 Flow Accumulation", "description": "Calculates Fairfield and Leymarie (1991) flow accumulation.", "github": "https://github.com/jblindsay/whitebox-tools/tree/master/whitebox-plugins/src/Rho8FlowAccumulation/main.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#Rho8FlowAccumulation", "parameters": {"i": {"name": "Input DEM or Rho8 Pointer File", "flags": ["-i", "--input"], "description": "Input DEM or Rho8 pointer file; if a DEM is used, it must be depressionless.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster File", "flags": ["--output"], "description": "Name of the output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "out_type": {"name": "Output Type", "flags": ["--out_type"], "description": "Output type; one of 'cells', 'specific contributing area' (default), and 'catchment area'.", "parameter_type": {"OptionList": ["cells", "specific contributing area", "catchment area"]}, "default_value": "specific contributing area", "optional": true}, "log": {"name": "Log-transform the output?", "flags": ["--log"], "description": "Log-transform the output values?", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "clip": {"name": "Clip the upper tail by 1%?", "flags": ["--clip"], "description": "Optional flag to request clipping the display max by 1%.", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "pntr": {"name": "Is the input raster a Rho8 flow pointer?", "flags": ["--pntr"], "description": "Is the input raster a Rho8 flow pointer rather than a DEM?", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "esri_pntr": {"name": "If a pointer is input, does it use the ESRI pointer scheme?", "flags": ["--esri_pntr"], "description": "Does the input Rho8 pointer use the ESRI style scheme?", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "RingCurvature": {"name": "RingCurvature", "tool_name": "ring_curvature", "category": "Geomorphometric Analysis", "label": "Ring Curvature", "description": "This tool calculates ring curvature from an input DEM.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#RingCurvature", "parameters": {"dem": {"name": "Input Raster DEM", "flags": ["-i", "--dem"], "description": "Name of the input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster Image", "flags": ["-o", "--output"], "description": "Name of the output raster image file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "log": {"name": "Log-transform the output?", "flags": ["--log"], "description": "Display output values using a log-scale.", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "zfactor": {"name": "Z-factor", "flags": ["--zfactor"], "description": "Z conversion factor.", "parameter_type": "Float", "default_value": "1.0", "optional": true}}}, "RiverCenterlines": {"name": "RiverCenterlines", "tool_name": "river_centerlines", "category": "Hydrological Analysis", "label": "River Centerlines", "description": "Maps river centerlines from an input water raster.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#RiverCenterlines", "parameters": {"i": {"name": "Input Raster Image", "flags": ["-i", "--input"], "description": "Name of the input raster image file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Vector Lines File", "flags": ["-o", "--output"], "description": "Name of the output vector lines file.", "parameter_type": {"NewFile": {"Vector": "Line"}}, "default_value": null, "optional": false}, "min_length": {"name": "Min. Line Length (In Grid Cells)", "flags": ["--min_length"], "description": "Minimum line length, in grid cells.", "parameter_type": "Integer", "default_value": "3", "optional": true}, "radius": {"name": "Search Radius (In Grid Cells)", "flags": ["--radius"], "description": "Search radius for joining distant endnodes, in grid cells.", "parameter_type": "Integer", "default_value": "4", "optional": true}}}, "Rotor": {"name": "Rotor", "tool_name": "rotor", "category": "Geomorphometric Analysis", "label": "Rotor", "description": "This tool calculates rotor from an input DEM.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#Rotor", "parameters": {"dem": {"name": "Input Raster DEM", "flags": ["-i", "--dem"], "description": "Name of the input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster Image", "flags": ["-o", "--output"], "description": "Name of the output raster image file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "log": {"name": "Log-transform the output?", "flags": ["--log"], "description": "Display output values using a log-scale.", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "zfactor": {"name": "Z-factor", "flags": ["--zfactor"], "description": "Z conversion factor.", "parameter_type": "Float", "default_value": "1.0", "optional": true}}}, "ShadowAnimation": {"name": "ShadowAnimation", "tool_name": "shadow_animation", "category": "Geomorphometric Analysis", "label": "Shadow Animation", "description": "This tool creates an animated GIF of shadows based on an input DEM.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#ShadowAnimation", "parameters": {"i": {"name": "Input Digital Surface Model (DSM) Raster", "flags": ["-i", "--input"], "description": "Name of the input digital surface model (DSM) raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "palette": {"name": "DSM Palette", "flags": ["-p", "--palette"], "description": "DSM image palette; options are 'atlas', 'high_relief', 'arid', 'soft', 'muted', 'light_quant', 'purple', 'viridis', 'gn_yl', 'pi_y_g', 'bl_yl_rd', 'deep', and 'none'.", "parameter_type": {"OptionList": ["atlas", "high_relief", "arid", "soft", "muted", "light_quant", "purple", "viridi", "gn_yl", "pi_y_g", "bl_yl_rd", "deep", "none"]}, "default_value": "atlas", "optional": true}, "output": {"name": "Output File (*.html)", "flags": ["-o", "--output"], "description": "Name of the output HTML file (*.html).", "parameter_type": {"NewFile": "Html"}, "default_value": null, "optional": false}, "max_dist": {"name": "Maximum Search Distance (xy units)", "flags": ["--max_dist"], "description": "Optional maximum search distance, in xy units. Minimum value is 5 x cell size.", "parameter_type": "Float", "default_value": "", "optional": true}, "date": {"name": "Date (DD/MM/YYYY)", "flags": ["-d", "--date"], "description": "Date in format DD/MM/YYYY.", "parameter_type": "String", "default_value": "21/06/2021", "optional": true}, "interval": {"name": "Time Interval (in minutes)", "flags": ["--interval"], "description": "Time interval, in minutes (1-60).", "parameter_type": "Integer", "default_value": "15", "optional": true}, "location": {"name": "Lat/Long/UTC-offset (e.g. 43.5448/-80.2482/-4)", "flags": ["--location"], "description": "Location, defined as Lat/Long/UTC-offset (e.g. 43.5448/-80.2482/-4).", "parameter_type": "String", "default_value": "43.5448/-80.2482/-4", "optional": true}, "height": {"name": "Image Height (in pixels)", "flags": ["-h", "--height"], "description": "Image height, in pixels.", "parameter_type": "Integer", "default_value": "600", "optional": true}, "delay": {"name": "Delay (in milliseconds)", "flags": ["--delay"], "description": "GIF time delay in milliseconds.", "parameter_type": "Integer", "default_value": "250", "optional": true}, "label": {"name": "Label text (blank for none)", "flags": ["-l", "--label"], "description": "Label text (leave blank for none)", "parameter_type": "String", "default_value": "", "optional": true}}}, "ShadowImage": {"name": "ShadowImage", "tool_name": "shadow_image", "category": "Geomorphometric Analysis", "label": "Shadow Image", "description": "This tool creates a raster of shadow areas based on an input DEM.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#ShadowImage", "parameters": {"i": {"name": "Input Digital Surface Model (DSM) Raster", "flags": ["-i", "--input"], "description": "Name of the input digital surface model (DSM) raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Name of the output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "palette": {"name": "DSM Palette", "flags": ["-p", "--palette"], "description": "DSM image palette; options are 'atlas', 'high_relief', 'arid', 'soft', 'muted', 'light_quant', 'purple', 'viridi', 'gn_yl', 'pi_y_g', 'bl_yl_rd', 'deep', and 'none'.", "parameter_type": {"OptionList": ["atlas", "high_relief", "arid", "soft", "muted", "light_quant", "purple", "viridis", "gn_yl", "pi_y_g", "bl_yl_rd", "deep", "none"]}, "default_value": "soft", "optional": true}, "max_dist": {"name": "Maximum Search Distance (xy units)", "flags": ["--max_dist"], "description": "Optional maximum search distance, in xy unites. Minimum value is 5 x cell size.", "parameter_type": "Float", "default_value": "", "optional": true}, "date": {"name": "Date (DD/MM/YYYY)", "flags": ["-d", "--date"], "description": "Date in format DD/MM/YYYY.", "parameter_type": "String", "default_value": "21/06/2021", "optional": true}, "time": {"name": "Time (HH:MM, e.g. 03:15AM or 14:30)", "flags": ["-t", "--time"], "description": "Time in format HH::MM, e.g. 03:15AM or 14:30", "parameter_type": "String", "default_value": "13:00", "optional": true}, "location": {"name": "Lat/Long/UTC-offset (e.g. 43.5448/-80.2482/-4)", "flags": ["--location"], "description": "Location, defined as Lat/Long/UTC-offset (e.g. 43.5448/-80.2482/-4).", "parameter_type": "String", "default_value": "43.5448/-80.2482/-4", "optional": true}}}, "ShapeIndex": {"name": "ShapeIndex", "tool_name": "shape_index", "category": "Geomorphometric Analysis", "label": "Shape Index", "description": "This tool calculates the shape index from an input DEM.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#ShapeIndex", "parameters": {"dem": {"name": "Input Raster DEM", "flags": ["-i", "--dem"], "description": "Name of the input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster Image", "flags": ["-o", "--output"], "description": "Name of the output raster image file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "zfactor": {"name": "Z-factor", "flags": ["--zfactor"], "description": "Z conversion factor.", "parameter_type": "Float", "default_value": "1.0", "optional": true}}}, "SlopeVsAspectPlot": {"name": "SlopeVsAspectPlot", "tool_name": "slope_vs_aspect_plot", "category": "Geomorphometric Analysis", "label": "Slope Vs Aspect Plot", "description": "This tool creates a slope-aspect relation plot from an input DEM.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#SlopeVsAspectPlot", "parameters": {"i": {"name": "Input Raster Image", "flags": ["-i", "--input"], "description": "Name of the input raster image file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File (*.html)", "flags": ["-o", "--output"], "description": "Name of the output report file (*.html).", "parameter_type": {"NewFile": "Html"}, "default_value": null, "optional": false}, "bin_size": {"name": "Aspect Bin Size (degrees)", "flags": ["--bin_size"], "description": "Aspect bin size, in degrees.", "parameter_type": "Float", "default_value": "2.0", "optional": true}, "min_slope": {"name": "Minimum Slope (degrees)", "flags": ["--min_slope"], "description": "Minimum slope, in degrees.", "parameter_type": "Float", "default_value": "0.1", "optional": true}, "zfactor": {"name": "Z-factor", "flags": ["--zfactor"], "description": "Z conversion factor.", "parameter_type": "Float", "default_value": "1.0", "optional": true}}}, "SmoothVegetationResidual": {"name": "SmoothVegetationResidual", "tool_name": "smooth_vegetation_residual", "category": "Geomorphometric Analysis", "label": "Smooth Vegetation Residual", "description": "This tool can smooth the residual roughness due to vegetation cover in LiDAR DEMs.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#SmoothVegetationResidual", "parameters": {"i": {"name": "Input Digital Elevation Model (DEM) Raster", "flags": ["-i", "--input"], "description": "Name of the input digital elevation model (DEM) raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster File", "flags": ["-o", "--output"], "description": "Name of the output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "max_scale": {"name": "Maximum Search Neighbourhood Radius (grid cells)", "flags": ["--max_scale"], "description": "Maximum search neighbourhood radius in grid cells.", "parameter_type": "Integer", "default_value": "30", "optional": true}, "dev_threshold": {"name": "DEVmax Threshold", "flags": ["--dev_threshold"], "description": "DEVmax Threshold.", "parameter_type": "Float", "default_value": "1.0", "optional": true}, "scale_threshold": {"name": "DEVmax Scale Threshold", "flags": ["--scale_threshold"], "description": "DEVmax scale threshold", "parameter_type": "Integer", "default_value": "5", "optional": true}}}, "SortLidar": {"name": "SortLidar", "tool_name": "sort_lidar", "category": "LiDAR Tools", "label": "Sort Lidar", "description": "Sorts LiDAR points based on their properties.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#SortLidar", "parameters": {"i": {"name": "Input LiDAR Points", "flags": ["-i", "--input"], "description": "Name of the input LiDAR points.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": true}, "output": {"name": "Output LiDAR Points", "flags": ["-o", "--output"], "description": "Name of the output LiDAR points.", "parameter_type": {"NewFile": "Lidar"}, "default_value": null, "optional": true}, "criteria": {"name": "Sort Criteria:", "flags": ["-c", "--criteria"], "description": "Sort criteria e.g. 'x 50.0, y 50.0, z'; criteria may include x, y, z, intensity, class, user_data, point_source_id, and scan_angle", "parameter_type": "String", "default_value": "", "optional": false}}}, "SplitLidar": {"name": "SplitLidar", "tool_name": "split_lidar", "category": "LiDAR Tools", "label": "Split Lidar", "description": "Splits LiDAR points up into a series of new files based on their properties.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#SplitLidar", "parameters": {"i": {"name": "Input LiDAR Points", "flags": ["-i", "--input"], "description": "Name of the input LiDAR points.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": true}, "criterion": {"name": "Split Criterion", "flags": ["--criterion"], "description": "Criterion on which to base the split of the input file. Options include 'num_pts, 'x', 'y', 'z', intensity, 'class', 'user_data', 'point_source_id', 'scan_angle', 'time'", "parameter_type": {"OptionList": ["num_pts", "x", "y", "z", "intensity", "class", "user_data", "point_source_id", "scan_angle", "time"]}, "default_value": "num_pts", "optional": false}, "interval": {"name": "Interval", "flags": ["--interval"], "description": "Interval", "parameter_type": "Float", "default_value": "", "optional": true}, "min_pts": {"name": "Minimum Number of Points", "flags": ["--min_pts"], "description": "Minimum number of points in an output file", "parameter_type": "Integer", "default_value": "5", "optional": true}}}, "SplitVectorLines": {"name": "SplitVectorLines", "tool_name": "split_vector_lines", "category": "GIS Analysis", "label": "Split Vector Lines", "description": "Used to split a vector line coverage into even-lengthed segments.", "github": "https://github.com/jblindsay/whitebox-tools/tree/master/whitebox-plugins/src/SplitVectorLines/main.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#SplitVectorLines", "parameters": {"i": {"name": "Input Lines", "flags": ["-i", "--input"], "description": "Name of the input lines shapefile.", "parameter_type": {"ExistingFile": {"Vector": "Line"}}, "default_value": null, "optional": false}, "output": {"name": "Output Lines", "flags": ["-o", "--output"], "description": "Name of the output lines shapefile.", "parameter_type": {"NewFile": {"Vector": "Line"}}, "default_value": null, "optional": false}, "length": {"name": "Max Segment Length", "flags": ["--length"], "description": "Maximum segment length (m).", "parameter_type": "Float", "default_value": null, "optional": true}}}, "SvmClassification": {"name": "SvmClassification", "tool_name": "svm_classification", "category": "Machine Learning", "label": "Svm Classification", "description": "Performs an SVM binary classification using training site polygons/points and multiple input images.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/machine_learning.html#SvmClassification", "parameters": {"inputs": {"name": "Input Predictor Rasters", "flags": ["-i", "--inputs"], "description": "Names of the input predictor rasters.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "scaling": {"name": "Scaling Method", "flags": ["--scaling"], "description": "Scaling method for predictors. Options include 'None', 'Normalize', and 'Standardize'", "parameter_type": {"OptionList": ["None", "Normalize", "Standardize"]}, "default_value": "Normalize", "optional": true}, "training": {"name": "Input Training Polygons/Points", "flags": ["-t", "--training"], "description": "Name of the input training site polygons/points Shapefile.", "parameter_type": {"ExistingFile": {"Vector": "Any"}}, "default_value": null, "optional": false}, "field": {"name": "Class Field Name", "flags": ["-f", "--field"], "description": "Name of the attribute containing class data.", "parameter_type": {"VectorAttributeField": ["Any", "--training"]}, "default_value": null, "optional": false}, "output": {"name": "Output Raster File", "flags": ["-o", "--output"], "description": "Name of the output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": true}, "c": {"name": "c-Value", "flags": ["-c"], "description": "c-value, the regularization parameter.", "parameter_type": "Float", "default_value": "200.0", "optional": true}, "gamma": {"name": "Kernel Gamma", "flags": ["--gamma"], "description": "Gamma parameter used in setting the RBF (Gaussian) kernel function.", "parameter_type": "Float", "default_value": "50.0", "optional": true}, "tolerance": {"name": "Tolerance", "flags": ["--tolerance"], "description": "The tolerance parameter used in determining the stopping condition.", "parameter_type": "Float", "default_value": "0.1", "optional": true}, "test_proportion": {"name": "Test Proportion", "flags": ["--test_proportion"], "description": "The proportion of the dataset to include in the test split; default is 0.2.", "parameter_type": "Float", "default_value": "0.2", "optional": true}}}, "SvmRegression": {"name": "SvmRegression", "tool_name": "svm_regression", "category": "Machine Learning", "label": "Svm Regression", "description": "Performs a supervised SVM regression analysis using training site points and predictor rasters.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/machine_learning.html#SvmRegression", "parameters": {"inputs": {"name": "Input Predictor Rasters", "flags": ["-i", "--inputs"], "description": "Names of the input predictor rasters.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "scaling": {"name": "Scaling Method", "flags": ["--scaling"], "description": "Scaling method for predictors. Options include 'None', 'Normalize', and 'Standardize'", "parameter_type": {"OptionList": ["None", "Normalize", "Standardize"]}, "default_value": "Normalize", "optional": true}, "training": {"name": "Input Training Polygons/Points", "flags": ["-t", "--training"], "description": "Name of the input training site points Shapefile.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "field": {"name": "Class Field Name", "flags": ["-f", "--field"], "description": "Name of the attribute containing class data.", "parameter_type": {"VectorAttributeField": ["Any", "--training"]}, "default_value": null, "optional": false}, "output": {"name": "Output Raster File", "flags": ["-o", "--output"], "description": "Name of the output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": true}, "c": {"name": "c-Value", "flags": ["-c"], "description": "c-value, the regularization parameter.", "parameter_type": "Float", "default_value": "50.0", "optional": true}, "eps": {"name": "Epsilon Value", "flags": ["--eps"], "description": "Epsilon in the epsilon-SVR model.", "parameter_type": "Float", "default_value": "10.0", "optional": true}, "gamma": {"name": "Kernel Gamma", "flags": ["--gamma"], "description": "Gamma parameter used in setting the RBF (Gaussian) kernel function.", "parameter_type": "Float", "default_value": "0.5", "optional": true}, "test_proportion": {"name": "Test Proportion", "flags": ["--test_proportion"], "description": "The proportion of the dataset to include in the test split; default is 0.2.", "parameter_type": "Float", "default_value": "0.2", "optional": true}}}, "TopoRender": {"name": "TopoRender", "tool_name": "topo_render", "category": "Geomorphometric Analysis", "label": "Topo Render", "description": "This tool creates a pseudo-3D rendering from an input DEM, for the purpose of effective topographic visualization.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#TopoRender", "parameters": {"dem": {"name": "Input Digital Elevation Model (DEM) Raster", "flags": ["-i", "--input", "--dem"], "description": "Name of the input digital elevation model (DEM) raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Name of the output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "palette": {"name": "Palette", "flags": ["-p", "--palette"], "description": "Palette name; options are 'atlas', 'high_relief', 'arid', 'soft', 'earthtones', 'muted', 'light_quant', 'purple', 'viridi', 'gn_yl', 'pi_y_g', 'bl_yl_rd', 'deep', 'imhof', and 'white'.", "parameter_type": {"OptionList": ["atlas", "high_relief", "arid", "soft", "earthtones", "muted", "light_quant", "purple", "viridis", "gn_yl", "pi_y_g", "bl_yl_rd", "deep", "imhof", "white"]}, "default_value": "soft", "optional": true}, "rev_palette": {"name": "Reverse the palette?", "flags": ["--rev_palette"], "description": "Reverse the palette?", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "az": {"name": "Light Source Direction (degrees)", "flags": ["--az"], "description": "Light source azimuth direction (degrees, 0-360).", "parameter_type": "Float", "default_value": "315.0", "optional": true}, "alt": {"name": "Light Source Altitude (degrees)", "flags": ["--alt"], "description": "Light source altitude (degrees, 0-90).", "parameter_type": "Float", "default_value": "30.0", "optional": true}, "background_hgt_offset": {"name": "Offset Height of Background (z-units)", "flags": ["--background_hgt_offset"], "description": "Offset height of background, in z-units.", "parameter_type": "Float", "default_value": "10.0", "optional": true}, "polygon": {"name": "Clipping Polygon", "flags": ["--polygon"], "description": "Clipping polygon vector file (optional).", "parameter_type": {"ExistingFile": {"Vector": "Polygon"}}, "default_value": null, "optional": true}, "background_clr": {"name": "Background RGB colour", "flags": ["--background_clr"], "description": "Background red-green-blue (RGB) or red-green-blue-alpha (RGBA) colour, e.g. '[255, 255, 245]', '[255, 255, 245, 200]'", "parameter_type": "String", "default_value": "[255, 255, 255]", "optional": true}, "attenuation": {"name": "Attenuation Parameter", "flags": ["--attenuation"], "description": "Attenuation parameter. Range is 0-4. Zero means no attenuation.", "parameter_type": "Float", "default_value": "0.6", "optional": true}, "ambient_light": {"name": "Ambient Light", "flags": ["--ambient_light"], "description": "Ambient light parameter. Range is 0.0-0.7. Zero means no ambient light.", "parameter_type": "Float", "default_value": "0.2", "optional": true}, "z_factor": {"name": "Elevation Multiplier", "flags": ["--z_factor"], "description": "Elevation multiplier, or a vertical exageration.", "parameter_type": "Float", "default_value": "1.0", "optional": true}}}, "TopographicPositionAnimation": {"name": "TopographicPositionAnimation", "tool_name": "topographic_position_animation", "category": "Geomorphometric Analysis", "label": "Topographic Position Animation", "description": "This tool creates an animated GIF of multi-scale local topographic position (elevation deviation).", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#TopographicPositionAnimation", "parameters": {"i": {"name": "Input Digital Elevation Model (DEM) Raster", "flags": ["-i", "--input"], "description": "Name of the input digital elevation model (DEM) raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "palette": {"name": "Palette", "flags": ["-p", "--palette"], "description": "Image palette; options are 'bl_yl_rd', 'bl_w_rd', 'purple', 'gn_yl', 'pi_y_g', and 'viridis'.", "parameter_type": {"OptionList": ["bl_yl_rd", "bl_w_rd", "purple", "gn_yl", "pi_y_g", "viridis"]}, "default_value": "bl_yl_rd", "optional": true}, "output": {"name": "Output File (*.html)", "flags": ["-o", "--output"], "description": "Name of the output HTML file (*.html).", "parameter_type": {"NewFile": "Html"}, "default_value": null, "optional": false}, "min_scale": {"name": "Minimum Search Neighbourhood Radius (grid cells)", "flags": ["--min_scale"], "description": "Minimum search neighbourhood radius in grid cells.", "parameter_type": "Integer", "default_value": "1", "optional": true}, "num_steps": {"name": "Number of Steps", "flags": ["--num_steps"], "description": "Number of steps.", "parameter_type": "Integer", "default_value": "100", "optional": true}, "step_nonlinearity": {"name": "Step Nonlinearity", "flags": ["--step_nonlinearity"], "description": "Step nonlinearity factor (1.0-2.0 is typical)", "parameter_type": "Float", "default_value": "1.5", "optional": true}, "height": {"name": "Image Height (in pixels)", "flags": ["--height"], "description": "Image height, in pixels.", "parameter_type": "Integer", "default_value": "600", "optional": true}, "delay": {"name": "Delay (in milliseconds)", "flags": ["--delay"], "description": "GIF time delay in milliseconds.", "parameter_type": "Integer", "default_value": "250", "optional": true}, "label": {"name": "Label text (blank for none)", "flags": ["-l", "--label"], "description": "Label text (leave blank for none)", "parameter_type": "String", "default_value": "", "optional": true}, "dev_max": {"name": "Use DEVmax for topo position?", "flags": ["--dev_max"], "description": "Do you want to use DEVmax instead of DEV for measuring local topographic position?", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "TravellingSalesmanProblem": {"name": "TravellingSalesmanProblem", "tool_name": "travelling_salesman_problem", "category": "GIS Analysis", "label": "Travelling Salesman Problem", "description": "Finds approximate solutions to travelling salesman problems, the goal of which is to identify the shortest route connecting a set of locations.", "github": "https://github.com/jblindsay/whitebox-tools/tree/master/whitebox-plugins/src/TravellingSalesmanProblem/main.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#TravellingSalesmanProblem", "parameters": {"i": {"name": "Input Points", "flags": ["-i", "--input"], "description": "Name of the input points shapefile.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "output": {"name": "Output Lines", "flags": ["-o", "--output"], "description": "Name of the output lines shapefile.", "parameter_type": {"NewFile": {"Vector": "Line"}}, "default_value": null, "optional": false}, "duration": {"name": "Max Duration", "flags": ["--duration"], "description": "Maximum duration, in seconds.", "parameter_type": "Integer", "default_value": "60", "optional": false}}}, "Unsphericity": {"name": "Unsphericity", "tool_name": "unsphericity", "category": "Geomorphometric Analysis", "label": "Unsphericity", "description": "This tool calculates the unsphericity curvature from an input DEM.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#Unsphericity", "parameters": {"dem": {"name": "Input Raster DEM", "flags": ["-i", "--dem"], "description": "Name of the input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster Image", "flags": ["-o", "--output"], "description": "Name of the output raster image file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "log": {"name": "Log-transform the output?", "flags": ["--log"], "description": "Display output values using a log-scale.", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "zfactor": {"name": "Z-factor", "flags": ["--zfactor"], "description": "Z conversion factor.", "parameter_type": "Float", "default_value": "1.0", "optional": true}}}, "VectorStreamNetworkAnalysis": {"name": "VectorStreamNetworkAnalysis", "tool_name": "vector_stream_network_analysis", "category": "Stream Network Analysis", "label": "Vector Stream Network Analysis", "description": "This tool performs common stream network analysis operations on an input vector stream file.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/stream_network_analysis.html#VectorStreamNetworkAnalysis", "parameters": {"streams": {"name": "Input Streams Vector", "flags": ["--streams"], "description": "Name of the input streams vector file.", "parameter_type": {"ExistingFile": {"Vector": "Line"}}, "default_value": null, "optional": false}, "dem": {"name": "Input DEM Raster", "flags": ["--dem"], "description": "Name of the input DEM raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Lines", "flags": ["-o", "--output"], "description": "Name of the output lines shapefile.", "parameter_type": {"NewFile": {"Vector": "Line"}}, "default_value": null, "optional": false}, "cutting_height": {"name": "Maximum Ridge-cutting Height (z units)", "flags": ["--cutting_height"], "description": "Maximum ridge-cutting height (z units).", "parameter_type": "Float", "default_value": "10.0", "optional": true}, "snap": {"name": "Snap Distance", "flags": ["--snap"], "description": "Snap distance, in xy units (metres).", "parameter_type": "Float", "default_value": "0.1", "optional": true}}}, "VerticalExcessCurvature": {"name": "VerticalExcessCurvature", "tool_name": "vertical_excess_curvature", "category": "Geomorphometric Analysis", "label": "Vertical Excess Curvature", "description": "This tool calculates vertical excess curvature from an input DEM.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#VerticalExcessCurvature", "parameters": {"dem": {"name": "Input Raster DEM", "flags": ["-i", "--dem"], "description": "Name of the input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster Image", "flags": ["-o", "--output"], "description": "Name of the output raster image file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "log": {"name": "Log-transform the output?", "flags": ["--log"], "description": "Display output values using a log-scale.", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "zfactor": {"name": "Z-factor", "flags": ["--zfactor"], "description": "Z conversion factor.", "parameter_type": "Float", "default_value": "1.0", "optional": true}}}, "YieldFilter": {"name": "YieldFilter", "tool_name": "yield_filter", "category": "Precision Agriculture", "label": "Yield Filter", "description": "Filters crop yield values of point data derived from combine harvester yield monitors.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/precision_agriculture.html#YieldFilter", "parameters": {"i": {"name": "Input Points", "flags": ["-i", "--input"], "description": "Name of the input points shapefile.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "yield_field": {"name": "Yield Field Name", "flags": ["-y", "--yield_field"], "description": "Name of the attribute containing yield data.", "parameter_type": {"VectorAttributeField": ["Any", "--input"]}, "default_value": null, "optional": false}, "pass_field": {"name": "Pass Field Name", "flags": ["-p", "--pass_field"], "description": "Name of the attribute containing pass line ID.", "parameter_type": {"VectorAttributeField": ["Any", "--input"]}, "default_value": null, "optional": false}, "output": {"name": "Output Points", "flags": ["-o", "--output"], "description": "Name of the output points shapefile.", "parameter_type": {"NewFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "width": {"name": "Swath Width", "flags": ["-w", "--width"], "description": "Pass swath width (m).", "parameter_type": "Float", "default_value": "6.096", "optional": true}, "z_score_threshold": {"name": "Z-score Threshold Value", "flags": ["-z", "--z_score_threshold"], "description": "Z-score threshold value (default=2.5).", "parameter_type": "Float", "default_value": "2.5", "optional": true}, "min_yield": {"name": "Minimum Yield", "flags": ["--min_yield"], "description": "Minimum yield value in output.", "parameter_type": "Float", "default_value": "0.0", "optional": true}, "max_yield": {"name": "Maximum Yield", "flags": ["--max_yield"], "description": "Maximum yield value in output.", "parameter_type": "Float", "default_value": "99999.9", "optional": true}}}, "YieldMap": {"name": "YieldMap", "tool_name": "yield_map", "category": "Precision Agriculture", "label": "Yield Map", "description": "This tool can be used to create a segmented-vector polygon yield map from a set of harvester points.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/precision_agriculture.html#YieldMap", "parameters": {"i": {"name": "Input Points", "flags": ["-i", "--input"], "description": "Name of the input points shapefile.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "pass_field_name": {"name": "Pass Field Name", "flags": ["-p", "--pass_field_name"], "description": "Name of the attribute containing pass line ID.", "parameter_type": {"VectorAttributeField": ["Any", "--input"]}, "default_value": null, "optional": false}, "output": {"name": "Output Vector Polygons", "flags": ["-o", "--output"], "description": "Name of the output polygon shapefile.", "parameter_type": {"NewFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}, "width": {"name": "Swath Width", "flags": ["-w", "--width"], "description": "Pass swath width (m).", "parameter_type": "Float", "default_value": "6.096", "optional": true}, "max_change_in_heading": {"name": "Max Change In Heading (degrees)", "flags": ["-m", "--max_change_in_heading"], "description": "Max change in heading.", "parameter_type": "Float", "default_value": "25.0", "optional": true}}}, "YieldNormalization": {"name": "YieldNormalization", "tool_name": "yield_normalization", "category": "Precision Agriculture", "label": "Yield Normalization", "description": "This tool can be used to normalize the yield points for a field.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/precision_agriculture.html#YieldNormalization", "parameters": {"i": {"name": "Input Points", "flags": ["-i", "--input"], "description": "Name of the input points shapefile.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "yield_field": {"name": "Yield Field Name", "flags": ["-y", "--yield_field"], "description": "Name of the attribute containing yield data.", "parameter_type": {"VectorAttributeField": ["Any", "--input"]}, "default_value": null, "optional": false}, "output": {"name": "Output Points", "flags": ["-o", "--output"], "description": "Name of the output points shapefile.", "parameter_type": {"NewFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "standardize": {"name": "Standardize rather than normalize?", "flags": ["--standardize"], "description": "Should the yield values be standardized (converted to z-scores) rather than normalized?", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "radius": {"name": "Search Radius (m)", "flags": ["--radius"], "description": "Optional search radius, in metres. Only specify this value if you want to calculate locally normalized yield.", "parameter_type": "Float", "default_value": null, "optional": true}, "min_yield": {"name": "Minimum Yield", "flags": ["--min_yield"], "description": "Minimum yield value in output.", "parameter_type": "Float", "default_value": "0.0", "optional": true}, "max_yield": {"name": "Maximum Yield", "flags": ["--max_yield"], "description": "Maximum yield value in output.", "parameter_type": "Float", "default_value": "99999.9", "optional": true}}}} \ No newline at end of file +{"AccumulationCurvature": {"name": "AccumulationCurvature", "tool_name": "accumulation_curvature", "category": "Geomorphometric Analysis", "label": "Accumulation Curvature", "description": "This tool calculates accumulation curvature from an input DEM.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#AccumulationCurvature", "parameters": {"dem": {"name": "Input Raster DEM", "flags": ["-i", "--dem"], "description": "Name of the input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster Image", "flags": ["-o", "--output"], "description": "Name of the output raster image file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "log": {"name": "Log-transform the output?", "flags": ["--log"], "description": "Display output values using a log-scale.", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "zfactor": {"name": "Z-factor", "flags": ["--zfactor"], "description": "Z conversion factor.", "parameter_type": "Float", "default_value": "1.0", "optional": true}}}, "AssessRoute": {"name": "AssessRoute", "tool_name": "assess_route", "category": "Geomorphometric Analysis", "label": "Assess Route", "description": "This tool assesses a route for slope, elevation, and visibility variation.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#AssessRoute", "parameters": {"routes": {"name": "Input Routes Vector", "flags": ["--routes"], "description": "Name of the input routes vector file.", "parameter_type": {"ExistingFile": {"Vector": "Line"}}, "default_value": null, "optional": false}, "dem": {"name": "Input DEM Raster", "flags": ["--dem"], "description": "Name of the input DEM raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Lines", "flags": ["-o", "--output"], "description": "Name of the output lines shapefile.", "parameter_type": {"NewFile": {"Vector": "Line"}}, "default_value": null, "optional": false}, "length": {"name": "Max Segment Length", "flags": ["--length"], "description": "Maximum segment length (m).", "parameter_type": "Float", "default_value": "", "optional": true}, "dist": {"name": "Search Distance (grid cells)", "flags": ["--dist"], "description": "Search distance, in grid cells, used in visibility analysis.", "parameter_type": "Integer", "default_value": "20", "optional": true}}}, "AverageHorizonDistance": {"name": "AverageHorizonDistance", "tool_name": "average_horizon_distance", "category": "Geomorphometric Analysis", "label": "Average Horizon Distance", "description": "This tool calculates accumulation curvature from an input DEM.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#AverageHorizonDistance", "parameters": {"dem": {"name": "Input Raster DEM", "flags": ["-i", "--dem"], "description": "Name of the input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster Image", "flags": ["-o", "--output"], "description": "Name of the output raster image file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "az_fraction": {"name": "Azimuth Fraction", "flags": ["--az_fraction"], "description": "Azimuth fraction.", "parameter_type": "Float", "default_value": "5.0", "optional": true}, "max_dist": {"name": "Maximum Distance", "flags": ["--max_dist"], "description": "Maximum distance (xy units).", "parameter_type": "Float", "default_value": "9999.0", "optional": true}, "observer_hgt_offset": {"name": "Oberserver Height Offset", "flags": ["--observer_hgt_offset"], "description": "Oberserver height offset (z units).", "parameter_type": "Float", "default_value": "0.05", "optional": true}}}, "BreaklineMapping": {"name": "BreaklineMapping", "tool_name": "breakline_mapping", "category": "Geomorphometric Analysis", "label": "Breakline Mapping", "description": "This tool maps breaklines from an input DEM.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#BreaklineMapping", "parameters": {"dem": {"name": "Input Raster DEM", "flags": ["-i", "--input", "--dem"], "description": "Name of the input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Vector Lines File", "flags": ["-o", "--output"], "description": "Name of the output vector lines file.", "parameter_type": {"NewFile": {"Vector": "Line"}}, "default_value": null, "optional": false}, "threshold": {"name": "Threshold Value", "flags": ["--threshold"], "description": "Threshold value (0 - infinity but typcially 1 to 5 works well).", "parameter_type": "Float", "default_value": "2.0", "optional": true}, "min_length": {"name": "Min. Line Length (In Grid Cells)", "flags": ["--min_length"], "description": "Minimum line length, in grid cells.", "parameter_type": "Integer", "default_value": "3", "optional": true}}}, "CannyEdgeDetection": {"name": "CannyEdgeDetection", "tool_name": "canny_edge_detection", "category": "Image Processing Tools", "label": "Canny Edge Detection", "description": "This tool performs a Canny edge-detection filter on an input image.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools/filters.html#CannyEdgeDetection", "parameters": {"i": {"name": "Input Raster Image", "flags": ["-i", "--input"], "description": "Name of the input raster image file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster Image", "flags": ["-o", "--output"], "description": "Name of the output raster image file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "sigma": {"name": "Sigma Value", "flags": ["-s", "--sigma"], "description": "Sigma value used in Gaussian filtering, default = 0.5", "parameter_type": "Float", "default_value": "0.5", "optional": true}, "low": {"name": "Low Threshold", "flags": ["-l", "--low"], "description": "Low threshold, default = 0.05", "parameter_type": "Float", "default_value": "0.05", "optional": true}, "high": {"name": "High Threshold", "flags": ["-h", "--high"], "description": "High threshold, default = 0.15", "parameter_type": "Float", "default_value": "0.15", "optional": true}, "add_back": {"name": "Add edge back to the image?", "flags": ["-a", "--add_back"], "description": "Add the edge cells back to the input image", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "ClassifyLidar": {"name": "ClassifyLidar", "tool_name": "classify_lidar", "category": "LiDAR Tools", "label": "Classify Lidar", "description": "Classify points within a LiDAR point cloud based on point properties.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#ClassifyLidar", "parameters": {"i": {"name": "Input LiDAR Points", "flags": ["-i", "--input"], "description": "Name of the input LiDAR points.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": true}, "output": {"name": "Output LiDAR Points", "flags": ["-o", "--output"], "description": "Name of the output LiDAR points.", "parameter_type": {"NewFile": "Lidar"}, "default_value": null, "optional": true}, "radius": {"name": "Search Distance:", "flags": ["--radius"], "description": "Search distance used in neighbourhood search (metres).", "parameter_type": "Float", "default_value": "1.5", "optional": true}, "grd_threshold": {"name": "Ground Threshold:", "flags": ["--grd_threshold"], "description": "Ground threshold (metres).", "parameter_type": "Float", "default_value": "0.1", "optional": true}, "oto_threshold": {"name": "Off-Terrain Object Threshold:", "flags": ["--oto_threshold"], "description": "Off-terrain object threshold (metres).", "parameter_type": "Float", "default_value": "2.0", "optional": true}, "planarity_threshold": {"name": "Planarity Threshold:", "flags": ["--planarity_threshold"], "description": "Planarity threshold (0-1).", "parameter_type": "Float", "default_value": "0.85", "optional": true}, "linearity_threshold": {"name": "Linearity Threshold:", "flags": ["--linearity_threshold"], "description": "Linearity threshold (0-1).", "parameter_type": "Float", "default_value": "0.70", "optional": true}, "iterations": {"name": "Number of Iterations:", "flags": ["--iterations"], "description": "Number of iterations.", "parameter_type": "Integer", "default_value": "30", "optional": true}, "facade_threshold": {"name": "Facade Threshold:", "flags": ["--facade_threshold"], "description": "Facade threshold (metres).", "parameter_type": "Float", "default_value": "0.5", "optional": true}}}, "ColourizeBasedOnClass": {"name": "ColourizeBasedOnClass", "tool_name": "colourize_based_on_class", "category": "LiDAR Tools", "label": "Colourize Based On Class", "description": "Sets the RGB values of a LiDAR point cloud based on the point classification values.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#ColourizeBasedOnClass", "parameters": {"i": {"name": "Input LiDAR Points", "flags": ["-i", "--input"], "description": "Name of the input LiDAR points.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": true}, "output": {"name": "Output LiDAR Points", "flags": ["-o", "--output"], "description": "Name of the output LiDAR points.", "parameter_type": {"NewFile": "Lidar"}, "default_value": null, "optional": true}, "intensity_blending": {"name": "Intensity Blending Amount (0-100%):", "flags": ["--intensity_blending"], "description": "Intensity blending amount (0-100%).", "parameter_type": "Float", "default_value": "50.0", "optional": true}, "clr_str": {"name": "Colour values:", "flags": ["--clr_str"], "description": "Colour values, e.g. 2: (184, 167, 108); 5: #9ab86c", "parameter_type": "String", "default_value": "", "optional": true}, "use_unique_clrs_for_buildings": {"name": "Use unique colours for each building?", "flags": ["--use_unique_clrs_for_buildings"], "description": "Use unique colours for each building?", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "radius": {"name": "Search Distance:", "flags": ["--radius"], "description": "Search distance used in neighbourhood search.", "parameter_type": "Float", "default_value": "", "optional": true}}}, "ColourizeBasedOnPointReturns": {"name": "ColourizeBasedOnPointReturns", "tool_name": "colourize_based_on_point_returns", "category": "LiDAR Tools", "label": "Colourize Based On Point Returns", "description": "Sets the RGB values of a LiDAR point cloud based on the point returns.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#ColourizeBasedOnPointReturns", "parameters": {"i": {"name": "Input LiDAR Points", "flags": ["-i", "--input"], "description": "Name of the input LiDAR points.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": true}, "output": {"name": "Output LiDAR Points", "flags": ["-o", "--output"], "description": "Name of the output LiDAR points.", "parameter_type": {"NewFile": "Lidar"}, "default_value": null, "optional": true}, "intensity_blending": {"name": "Intensity Blending Amount (0-100%):", "flags": ["--intensity_blending"], "description": "Intensity blending amount (0-100%).", "parameter_type": "Float", "default_value": "50.0", "optional": true}, "only": {"name": "Only Return Colour", "flags": ["--only"], "description": "Only return colour, e.g. (230,214,170), #e6d6aa, or 0xe6d6aa.", "parameter_type": "String", "default_value": "(230,214,170)", "optional": true}, "first": {"name": "First Return Colour", "flags": ["--first"], "description": "First return colour, e.g. (230,214,170), #e6d6aa, or 0xe6d6aa.", "parameter_type": "String", "default_value": "(0,140,0)", "optional": true}, "intermediate": {"name": "Intermediate Return Colour", "flags": ["--intermediate"], "description": "Intermediate return colour, e.g. (230,214,170), #e6d6aa, or 0xe6d6aa.", "parameter_type": "String", "default_value": "(255,0,255)", "optional": true}, "last": {"name": "Last Return Colour", "flags": ["--last"], "description": "Last return colour, e.g. (230,214,170), #e6d6aa, or 0xe6d6aa.", "parameter_type": "String", "default_value": "(0,0,255)", "optional": true}}}, "Curvedness": {"name": "Curvedness", "tool_name": "curvedness", "category": "Geomorphometric Analysis", "label": "Curvedness", "description": "This tool calculates curvedness from an input DEM.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#Curvedness", "parameters": {"dem": {"name": "Input Raster DEM", "flags": ["-i", "--dem"], "description": "Name of the input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster Image", "flags": ["-o", "--output"], "description": "Name of the output raster image file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "log": {"name": "Log-transform the output?", "flags": ["--log"], "description": "Display output values using a log-scale.", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "zfactor": {"name": "Z-factor", "flags": ["--zfactor"], "description": "Z conversion factor.", "parameter_type": "Float", "default_value": "1.0", "optional": true}}}, "Dbscan": {"name": "Dbscan", "tool_name": "dbscan", "category": "Machine Learning", "label": "Dbscan", "description": "Performs a DBSCAN-based unsupervised clustering operation.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/machine_learning.html#Dbscan", "parameters": {"inputs": {"name": "Input Rasters", "flags": ["-i", "--inputs"], "description": "Names of the input rasters.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "scaling": {"name": "Scaling Method", "flags": ["--scaling"], "description": "Scaling method for predictors. Options include 'None', 'Normalize', and 'Standardize'", "parameter_type": {"OptionList": ["None", "Normalize", "Standardize"]}, "default_value": "Normalize", "optional": true}, "output": {"name": "Output Raster File", "flags": ["-o", "--output"], "description": "Name of the output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "search_dist": {"name": "Search distance", "flags": ["--search_dist"], "description": "Search-distance parameter.", "parameter_type": "Float", "default_value": "0.01", "optional": true}, "min_points": {"name": "Minimum Points", "flags": ["--min_points"], "description": "Minimum point density needed to define 'core' point in cluster.", "parameter_type": "Integer", "default_value": "5", "optional": true}}}, "DemVoidFilling": {"name": "DemVoidFilling", "tool_name": "dem_void_filling", "category": "Geomorphometric Analysis", "label": "Dem Void Filling", "description": "This tool can be used to fill the void areas of a DEM using another fill DEM data set.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#DemVoidFilling", "parameters": {"dem": {"name": "Input DEM", "flags": ["--dem"], "description": "Name of the input raster DEM file, containing the void areas.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "fill": {"name": "Input Fill DEM", "flags": ["--fill"], "description": "Name of the input fill DEM file, containing the values used to fill the void areas in the other DEM.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output DEM", "flags": ["-o", "--output"], "description": "Name of the output void-filled DEM file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "mean_plane_dist": {"name": "Mean-Plane Distance (in grid cells)", "flags": ["--mean_plane_dist"], "description": "Distance to void edge at which the mean-plane value is used as an offset, measured in grid cells.", "parameter_type": "Integer", "default_value": "20", "optional": true}, "edge_treatment": {"name": "Void-Edge Treatment", "flags": ["--edge_treatment"], "description": "How should void-edge cells be treated? Options include 'use DEM' (default), 'use Fill', 'average'.", "parameter_type": {"OptionList": ["use DEM", "use fill", "average"]}, "default_value": "use DEM", "optional": true}, "weight_value": {"name": "Interpolation Weight", "flags": ["--weight_value"], "description": "Weight value used for IDW interpolation (default is 2.0).", "parameter_type": "Float", "default_value": "2.0", "optional": true}}}, "DepthToWater": {"name": "DepthToWater", "tool_name": "depth_to_water", "category": "Hydrological Analysis", "label": "Depth To Water", "description": "This tool calculates cartographic depth-to-water (DTW) index.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#DepthToWater", "parameters": {"dem": {"name": "Input Raster DEM", "flags": ["--dem"], "description": "Name of the input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "streams": {"name": "Input Streams Vector", "flags": ["--streams"], "description": "Name of the input streams vector (optional).", "parameter_type": {"ExistingFile": {"Vector": "Line"}}, "default_value": null, "optional": true}, "lakes": {"name": "Input Lakes Vector", "flags": ["--lakes"], "description": "Name of the input lakes vector (optional).", "parameter_type": {"ExistingFile": {"Vector": "Polygon"}}, "default_value": null, "optional": true}, "output": {"name": "Output Raster Image", "flags": ["-o", "--output"], "description": "Name of the output raster image file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "DifferenceCurvature": {"name": "DifferenceCurvature", "tool_name": "difference_curvature", "category": "Geomorphometric Analysis", "label": "Difference Curvature", "description": "This tool calculates difference curvature from an input DEM.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#DifferenceCurvature", "parameters": {"dem": {"name": "Input Raster DEM", "flags": ["-i", "--dem"], "description": "Name of the input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster Image", "flags": ["-o", "--output"], "description": "Name of the output raster image file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "log": {"name": "Log-transform the output?", "flags": ["--log"], "description": "Display output values using a log-scale.", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "zfactor": {"name": "Z-factor", "flags": ["--zfactor"], "description": "Z conversion factor.", "parameter_type": "Float", "default_value": "1.0", "optional": true}}}, "EvaluateTrainingSites": {"name": "EvaluateTrainingSites", "tool_name": "evaluate_training_sites", "category": "Image Processing Tools", "label": "Evaluate Training Sites", "description": "This tool can be used to inspect the overlap in spectral signatures of training sites for various classes.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools/classification.html#EvaluateTrainingSites", "parameters": {"inputs": {"name": "Input Band Images", "flags": ["-i", "--inputs"], "description": "Name of the input band images.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "polys": {"name": "Input Training Polygons", "flags": ["-p", "--polys"], "description": "Name of the input training site polygons shapefile.", "parameter_type": {"ExistingFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}, "field": {"name": "Class Name Field", "flags": ["-f", "--field"], "description": "Name of the attribute containing class name data.", "parameter_type": {"VectorAttributeField": ["Any", "--polys"]}, "default_value": null, "optional": false}, "output": {"name": "Output File (*.html)", "flags": ["-o", "--output"], "description": "Name of the output report file (*.html).", "parameter_type": {"NewFile": "Html"}, "default_value": null, "optional": false}}}, "FilterLidar": {"name": "FilterLidar", "tool_name": "filter_lidar", "category": "LiDAR Tools", "label": "Filter Lidar", "description": "Filters points within a LiDAR point cloud based on point properties.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#FilterLidar", "parameters": {"i": {"name": "Input LiDAR Points", "flags": ["-i", "--input"], "description": "Name of the input LiDAR points.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": true}, "output": {"name": "Output LiDAR Points", "flags": ["-o", "--output"], "description": "Name of the output LiDAR points.", "parameter_type": {"NewFile": "Lidar"}, "default_value": null, "optional": true}, "statement": {"name": "Statement:", "flags": ["-s", "--statement"], "description": "Filter statement e.g. x < 5000.0 && y > 100.0 && is_late && !is_noise. This statement must be a valid Rust statement.", "parameter_type": "String", "default_value": "", "optional": false}}}, "FilterLidarByPercentile": {"name": "FilterLidarByPercentile", "tool_name": "filter_lidar_by_percentile", "category": "LiDAR Tools", "label": "Filter Lidar By Percentile", "description": "Filters points within a LiDAR point cloud based on local elevation percentile.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#FilterLidarByPercentile", "parameters": {"i": {"name": "Input LiDAR Points", "flags": ["-i", "--input"], "description": "Name of the input LiDAR points.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": true}, "output": {"name": "Output LiDAR Points", "flags": ["-o", "--output"], "description": "Name of the output LiDAR points.", "parameter_type": {"NewFile": "Lidar"}, "default_value": null, "optional": true}, "percentile": {"name": "Percentile", "flags": ["--percentile"], "description": "Percentile (0.0 - 100.0).", "parameter_type": "Float", "default_value": "0.0", "optional": true}, "block_size": {"name": "Block size (xy units)", "flags": ["--block_size"], "description": "Block size (xy units).", "parameter_type": "Float", "default_value": "1.0", "optional": true}}}, "FilterLidarByReferenceSurface": {"name": "FilterLidarByReferenceSurface", "tool_name": "filter_lidar_by_reference_surface", "category": "LiDAR Tools", "label": "Filter Lidar By Reference Surface", "description": "Filters points within a LiDAR point cloud based on a reference surface.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#FilterLidarByReferenceSurface", "parameters": {"i": {"name": "Input LiDAR Points", "flags": ["-i", "--input"], "description": "Name of the input LiDAR points.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": true}, "ref_surface": {"name": "Input Reference Surface Raster", "flags": ["--ref_surface"], "description": "Name of the input reference surface raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output LiDAR Points", "flags": ["-o", "--output"], "description": "Name of the output LiDAR points.", "parameter_type": {"NewFile": "Lidar"}, "default_value": null, "optional": true}, "query": {"name": "Query type", "flags": ["--query"], "description": "Query type; options are 'within', '<', '<=', '>', and '>='.", "parameter_type": {"OptionList": ["within", "<", "<=", ">", ">="]}, "default_value": "within", "optional": true}, "threshold": {"name": "Threshold value", "flags": ["--threshold"], "description": "Threshold value, only used for 'within' query type.", "parameter_type": "Float", "default_value": "0.0", "optional": true}, "classify": {"name": "Should the point cloud be classified rather than filtered?", "flags": ["--classify"], "description": "Classify the point cloud; --classify=True for classify and --classify=False for filter.", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "true_class_value": {"name": "True-Class Value", "flags": ["--true_class_value"], "description": "Value to assign when query is True (only used when --classify=True).", "parameter_type": "Integer", "default_value": "2", "optional": true}, "false_class_value": {"name": "False-Class Value", "flags": ["--false_class_value"], "description": "Value to assign when query is False (only used when --classify=True).", "parameter_type": "Integer", "default_value": "1", "optional": true}, "preserve_classes": {"name": "Should the input class values be preserved?", "flags": ["--preserve_classes"], "description": "Should the input class values be preserved where query=False (only used when --classify=True).", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "FixDanglingArcs": {"name": "FixDanglingArcs", "tool_name": "fix_dangling_arcs", "category": "Data Tools", "label": "Fix Dangling Arcs", "description": "This tool fixes undershot and overshot arcs, two common topological errors, in an input vector lines file.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/data_tools.html#FixDanglingArcs", "parameters": {"i": {"name": "Input Vector Lines", "flags": ["-i", "--input"], "description": "Name of the input lines vector file.", "parameter_type": {"ExistingFile": {"Vector": "Line"}}, "default_value": null, "optional": false}, "output": {"name": "Output Lines", "flags": ["-o", "--output"], "description": "Name of the output lines vector file.", "parameter_type": {"NewFile": {"Vector": "Line"}}, "default_value": null, "optional": false}, "dist": {"name": "Snap Distance", "flags": ["--snap", "--dist"], "description": "Snap distance, in xy units (metres).", "parameter_type": "Float", "default_value": "", "optional": false}}}, "GeneralizeClassifiedRaster": {"name": "GeneralizeClassifiedRaster", "tool_name": "generalize_classified_raster", "category": "Image Processing Tools", "label": "Generalize Classified Raster", "description": "Generalizes a raster containing class or object features by removing small features.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools/classification.html#GeneralizeClassifiedRaster", "parameters": {"i": {"name": "Input Raster Image", "flags": ["-i", "--input"], "description": "Name of the input raster image file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster File", "flags": ["-o", "--output"], "description": "Name of the output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "min_size": {"name": "Min. Feature Size (in grid cells)", "flags": ["--min_size"], "description": "Minimum feature size, in grid cells.", "parameter_type": "Integer", "default_value": "4", "optional": true}, "method": {"name": "Method", "flags": ["--method"], "description": "Grouping method; one of 'longest' (default), 'largest', and 'nearest'.", "parameter_type": {"OptionList": ["longest", "largest", "nearest"]}, "default_value": "longest", "optional": true}}}, "GeneralizeWithSimilarity": {"name": "GeneralizeWithSimilarity", "tool_name": "generalize_with_similarity", "category": "Image Processing Tools", "label": "Generalize With Similarity", "description": "Generalizes a raster containing class or object features by removing small features using similarity criteria of neighbouring features.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools/classification.html#GeneralizeWithSimilarity", "parameters": {"i": {"name": "Input Raster Image", "flags": ["-i", "--input"], "description": "Name of the input raster image file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "similarity": {"name": "Input Similarity Images", "flags": ["--similarity"], "description": "Names of the input similarity images.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster File", "flags": ["-o", "--output"], "description": "Name of the output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "min_size": {"name": "Min. Feature Size (in grid cells)", "flags": ["--min_size"], "description": "Minimum feature size, in grid cells.", "parameter_type": "Integer", "default_value": "4", "optional": true}}}, "GeneratingFunction": {"name": "GeneratingFunction", "tool_name": "generating_function", "category": "Geomorphometric Analysis", "label": "Generating Function", "description": "This tool calculates generating function from an input DEM.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#GeneratingFunction", "parameters": {"dem": {"name": "Input Raster DEM", "flags": ["-i", "--dem"], "description": "Name of the input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster Image", "flags": ["-o", "--output"], "description": "Name of the output raster image file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "log": {"name": "Log-transform the output?", "flags": ["--log"], "description": "Display output values using a log-scale.", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "zfactor": {"name": "Z-factor", "flags": ["--zfactor"], "description": "Z conversion factor.", "parameter_type": "Float", "default_value": "1.0", "optional": true}}}, "HorizonArea": {"name": "HorizonArea", "tool_name": "horizon_area", "category": "Geomorphometric Analysis", "label": "Horizon Area", "description": "Calculates horizon area, i.e., the area of the horizon polygon centered on each point in a DEM.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#HorizonArea", "parameters": {"dem": {"name": "Input Raster DEM", "flags": ["-i", "--dem"], "description": "Name of the input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster Image", "flags": ["-o", "--output"], "description": "Name of the output raster image file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "az_fraction": {"name": "Azimuth Fraction", "flags": ["--az_fraction"], "description": "Azimuth fraction.", "parameter_type": "Float", "default_value": "5.0", "optional": true}, "max_dist": {"name": "Maximum Distance", "flags": ["--max_dist"], "description": "Maximum distance (xy units).", "parameter_type": "Float", "default_value": "9999.0", "optional": true}, "observer_hgt_offset": {"name": "Oberserver Height Offset", "flags": ["--observer_hgt_offset"], "description": "Oberserver height offset (z units).", "parameter_type": "Float", "default_value": "0.05", "optional": true}}}, "HorizontalExcessCurvature": {"name": "HorizontalExcessCurvature", "tool_name": "horizontal_excess_curvature", "category": "Geomorphometric Analysis", "label": "Horizontal Excess Curvature", "description": "This tool calculates horizontal excess curvature from an input DEM.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#HorizontalExcessCurvature", "parameters": {"dem": {"name": "Input Raster DEM", "flags": ["-i", "--dem"], "description": "Name of the input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster Image", "flags": ["-o", "--output"], "description": "Name of the output raster image file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "log": {"name": "Log-transform the output?", "flags": ["--log"], "description": "Display output values using a log-scale.", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "zfactor": {"name": "Z-factor", "flags": ["--zfactor"], "description": "Z conversion factor.", "parameter_type": "Float", "default_value": "1.0", "optional": true}}}, "HydrologicConnectivity": {"name": "HydrologicConnectivity", "tool_name": "hydrologic_connectivity", "category": "Hydrological Analysis", "label": "Hydrologic Connectivity", "description": "This tool evaluates hydrologic connectivity within a DEM", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#HydrologicConnectivity", "parameters": {"dem": {"name": "Input DEM Raster", "flags": ["-d", "--dem"], "description": "Name of the input DEM raster file; must be depressionless.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output1": {"name": "Output Downslope Unsaturated Length File", "flags": ["--output1"], "description": "Name of the output downslope unsaturated length (DUL) file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "output2": {"name": "Output Upslope Disconnected Saturated Area File", "flags": ["--output2"], "description": "Name of the output upslope disconnected saturated area (UDSA) file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "exponent": {"name": "Exponent Parameter", "flags": ["--exponent"], "description": "Optional exponent parameter; default is 1.0.", "parameter_type": "Float", "default_value": "1.0", "optional": true}, "threshold": {"name": "Convergence Threshold (grid cells; blank for none)", "flags": ["--threshold"], "description": "Optional convergence threshold parameter, in grid cells; default is infinity.", "parameter_type": "Float", "default_value": null, "optional": true}}}, "ImageSegmentation": {"name": "ImageSegmentation", "tool_name": "image_segmentation", "category": "Image Processing Tools", "label": "Image Segmentation", "description": "Performs a region-growing based segmentation on a set of multi-spectral images.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools/classification.html#ImageSegmentation", "parameters": {"inputs": {"name": "Input Band Images", "flags": ["-i", "--inputs"], "description": "Names of the input band images.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster File", "flags": ["-o", "--output"], "description": "Name of the output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "threshold": {"name": "Distance Threshold (z-scores)", "flags": ["--threshold"], "description": "Distance threshold, in z-scores.", "parameter_type": "Float", "default_value": "0.5", "optional": true}, "steps": {"name": "Number of Steps", "flags": ["--steps"], "description": "Number of steps.", "parameter_type": "Integer", "default_value": "10", "optional": true}, "min_area": {"name": "Min. Object Area (in grid cells)", "flags": ["--min_area"], "description": "Minimum object area, in grid cells (1-8).", "parameter_type": "Integer", "default_value": "4", "optional": true}}}, "ImageSlider": {"name": "ImageSlider", "tool_name": "image_slider", "category": "Image Processing Tools", "label": "Image Slider", "description": "This tool creates an image slider from two input images.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#ImageSlider", "parameters": {"input1": {"name": "Left Input Raster Image", "flags": ["--i1", "--input1"], "description": "Name of the left input image file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "palette1": {"name": "Left Image Palette", "flags": ["--p1", "--palette1"], "description": "Left image palette; options are 'grey', 'atlas', 'high_relief', 'arid', 'soft', 'muted', 'purple', 'viridi', 'gn_yl', 'pi_y_g', 'bl_yl_rd', 'deep', and 'rgb'.", "parameter_type": {"OptionList": ["grey", "atlas", "high_relief", "arid", "soft", "muted", "purple", "viridi", "gn_yl", "pi_y_g", "bl_yl_rd", "deep", "rgb"]}, "default_value": "grey", "optional": true}, "reverse1": {"name": "Reverse left image palette?", "flags": ["--r1", "--reverse1"], "description": "Reverse left image palette?", "parameter_type": "Boolean", "default_value": "false", "optional": false}, "label1": {"name": "Left Image Label (blank for none)", "flags": ["--l1", "--label1"], "description": "Left image label (leave blank for none)", "parameter_type": "String", "default_value": "", "optional": true}, "input2": {"name": "Right Input Raster Image", "flags": ["--i2", "--input2"], "description": "Name of the right input image file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "palette2": {"name": "Right Image Palette", "flags": ["--p2", "--palette2"], "description": "Right image palette; options are 'grey', 'atlas', 'high_relief', 'arid', 'soft', 'muted', 'purple', 'viridi', 'gn_yl', 'pi_y_g', 'bl_yl_rd', 'deep', and 'rgb'.", "parameter_type": {"OptionList": ["grey", "atlas", "high_relief", "arid", "soft", "muted", "purple", "viridi", "gn_yl", "pi_y_g", "bl_yl_rd", "deep", "rgb"]}, "default_value": "grey", "optional": true}, "reverse2": {"name": "Reverse right image palette?", "flags": ["--r2", "--reverse2"], "description": "Reverse right image palette?", "parameter_type": "Boolean", "default_value": "false", "optional": false}, "label2": {"name": "Right Image Label (blank for none)", "flags": ["--l2", "--label2"], "description": "Right image label (leave blank for none)", "parameter_type": "String", "default_value": "", "optional": true}, "output": {"name": "Output File (*.html)", "flags": ["-o", "--output"], "description": "Name of the output HTML file (*.html).", "parameter_type": {"NewFile": "Html"}, "default_value": null, "optional": false}, "height": {"name": "Image Height (in pixels)", "flags": ["-h", "--height"], "description": "Image height, in pixels.", "parameter_type": "Integer", "default_value": "600", "optional": true}}}, "ImprovedGroundPointFilter": {"name": "ImprovedGroundPointFilter", "tool_name": "improved_ground_point_filter", "category": "LiDAR Tools", "label": "Improved Ground Point Filter", "description": "Filters points within a LiDAR point cloud based on a reference surface.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#ImprovedGroundPointFilter", "parameters": {"i": {"name": "Input LiDAR Points", "flags": ["-i", "--input"], "description": "Name of the input LiDAR points.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": true}, "output": {"name": "Output LiDAR Points", "flags": ["-o", "--output"], "description": "Name of the output LiDAR points.", "parameter_type": {"NewFile": "Lidar"}, "default_value": null, "optional": true}, "block_size": {"name": "Block size (xy units)", "flags": ["--block_size"], "description": "Block size (xy units).", "parameter_type": "Float", "default_value": "1.0", "optional": true}, "max_building_size": {"name": "Maximum Building Size (xy units)", "flags": ["--max_building_size"], "description": "Maximum building size, in xy units.", "parameter_type": "Float", "default_value": "150.0", "optional": true}, "slope_threshold": {"name": "Slope Threshold (degrees)", "flags": ["--slope_threshold"], "description": "Slope threshold, in degrees.", "parameter_type": "Float", "default_value": "15.0", "optional": true}, "elev_threshold": {"name": "Elevation Threshold (z units)", "flags": ["--elev_threshold"], "description": "Elevation threshold, in z units.", "parameter_type": "Float", "default_value": "0.15", "optional": true}, "classify": {"name": "Should the point cloud be classified rather than filtered?", "flags": ["--classify"], "description": "Classify the point cloud; --classify=True for classify and --classify=False for filter.", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "preserve_classes": {"name": "Should the input class values be preserved?", "flags": ["--preserve_classes"], "description": "Should the input class values be preserved where query=False (only used when --classify=True).", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "InversePrincipalComponentAnalysis": {"name": "InversePrincipalComponentAnalysis", "tool_name": "inverse_pca", "category": "Math and Stats Tools", "label": "Inverse Pca", "description": "This tool performs an inverse principal component analysis on a series of input component images.", "github": "https://github.com/jblindsay/whitebox-tools/tree/master/whitebox-tools-app/src/tools", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#InversePca", "parameters": {"inputs": {"name": "Input PCA Component Images", "flags": ["-i", "--inputs"], "description": "Name of the input PCA component images.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "report": {"name": "Input PCA Report File", "flags": ["-r", "--report"], "description": "Name of the PCA report file (*.html).", "parameter_type": {"ExistingFile": "Html"}, "default_value": null, "optional": false}}}, "KnnClassification": {"name": "KnnClassification", "tool_name": "knn_classification", "category": "Machine Learning", "label": "Knn Classification", "description": "Performs a supervised k-nearest neighbour classification using training site polygons/points and predictor rasters.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/machine_learning.html#KnnClassification", "parameters": {"inputs": {"name": "Input Predictor Rasters", "flags": ["-i", "--inputs"], "description": "Names of the input predictor rasters.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "training": {"name": "Input Training Polygons/Points", "flags": ["-t", "--training"], "description": "Name of the input training site polygons/points shapefile.", "parameter_type": {"ExistingFile": {"Vector": "Any"}}, "default_value": null, "optional": false}, "field": {"name": "Class Name Field", "flags": ["-f", "--field"], "description": "Name of the attribute containing class name data.", "parameter_type": {"VectorAttributeField": ["Any", "--training"]}, "default_value": null, "optional": false}, "test_proportion": {"name": "Test Proportion", "flags": ["--test_proportion"], "description": "The proportion of the dataset to include in the test split; default is 0.2.", "parameter_type": "Float", "default_value": "0.2", "optional": false}, "output": {"name": "Output Raster File", "flags": ["-o", "--output"], "description": "Name of the output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": true}, "scaling": {"name": "Scaling Method", "flags": ["--scaling"], "description": "Scaling method for predictors. Options include 'None', 'Normalize', and 'Standardize'", "parameter_type": {"OptionList": ["None", "Normalize", "Standardize"]}, "default_value": "Normalize", "optional": true}, "k": {"name": "Number of Nearest Neighbours, k", "flags": ["-k"], "description": "k-parameter, which determines the number of nearest neighbours used.", "parameter_type": "Integer", "default_value": "5", "optional": true}, "clip": {"name": "Perform training data clipping?", "flags": ["--clip"], "description": "Perform training data clipping to remove outlier pixels?", "parameter_type": "Boolean", "default_value": "true", "optional": true}}}, "KnnRegression": {"name": "KnnRegression", "tool_name": "knn_regression", "category": "Machine Learning", "label": "Knn Regression", "description": "Performs a supervised k-nearest neighbour regression using training site points and predictor rasters.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/machine_learning.html#KnnRegression", "parameters": {"inputs": {"name": "Input Predictor Rasters", "flags": ["-i", "--inputs"], "description": "Names of the input predictor rasters.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "scaling": {"name": "Scaling Method", "flags": ["--scaling"], "description": "Scaling method for predictors. Options include 'None', 'Normalize', and 'Standardize'", "parameter_type": {"OptionList": ["None", "Normalize", "Standardize"]}, "default_value": "Normalize", "optional": true}, "training": {"name": "Input Training Points", "flags": ["-t", "--training"], "description": "Name of the input training site points Shapefile.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "field": {"name": "Response Variable Field Name", "flags": ["-f", "--field"], "description": "Name of the attribute containing response variable name data.", "parameter_type": {"VectorAttributeField": ["Any", "--training"]}, "default_value": null, "optional": false}, "output": {"name": "Output Raster File", "flags": ["-o", "--output"], "description": "Name of the output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": true}, "k": {"name": "Number of Nearest Neighbours, k", "flags": ["-k"], "description": "k-parameter, which determines the number of nearest neighbours used.", "parameter_type": "Integer", "default_value": "5", "optional": true}, "weight": {"name": "Use distance weighting?", "flags": ["--weight"], "description": "Use distance weighting?", "parameter_type": "Boolean", "default_value": "true", "optional": true}, "test_proportion": {"name": "Test Proportion", "flags": ["--test_proportion"], "description": "The proportion of the dataset to include in the test split; default is 0.2.", "parameter_type": "Float", "default_value": "0.2", "optional": false}}}, "LasToLaz": {"name": "LasToLaz", "tool_name": "las_to_laz", "category": "LiDAR Tools", "label": "Las To Laz", "description": "This tool converts one or more LAS files into the LAZ format", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#LasToLaz", "parameters": {"i": {"name": "Input LAS File", "flags": ["-i", "--input"], "description": "Name of the input LAS files (leave blank to use all LAS files in WorkingDirectory.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": true}, "output": {"name": "Output LAZ File", "flags": ["-o", "--output"], "description": "Output LAZ file (including extension).", "parameter_type": {"NewFile": "Lidar"}, "default_value": null, "optional": true}}}, "LazToLas": {"name": "LazToLas", "tool_name": "laz_to_las", "category": "LiDAR Tools", "label": "Laz To Las", "description": "This tool converts one or more LAZ files into the LAS format", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#LazToLas", "parameters": {"i": {"name": "Input LAZ File", "flags": ["-i", "--input"], "description": "Name of the input LAZ files (leave blank to use all LAZ files in WorkingDirectory.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": true}, "output": {"name": "Output LAS File", "flags": ["-o", "--output"], "description": "Output LAS file (including extension).", "parameter_type": {"NewFile": "Lidar"}, "default_value": null, "optional": true}}}, "LidarContour": {"name": "LidarContour", "tool_name": "lidar_contour", "category": "LiDAR Tools", "label": "Lidar Contour", "description": "This tool creates a vector contour coverage from an input LiDAR point file.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#LidarContour", "parameters": {"i": {"name": "Input LiDAR Points", "flags": ["-i", "--input"], "description": "Name of the input LiDAR points.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": true}, "output": {"name": "Output Vector Lines", "flags": ["-o", "--output"], "description": "Name of the output vector lines file.", "parameter_type": {"NewFile": {"Vector": "Line"}}, "default_value": null, "optional": true}, "interval": {"name": "Contour Interval", "flags": ["--interval"], "description": "Contour interval.", "parameter_type": "Float", "default_value": "10.0", "optional": false}, "base": {"name": "Base Contour", "flags": ["--base"], "description": "Base contour.", "parameter_type": "Float", "default_value": "0.0", "optional": false}, "smooth": {"name": "Smoothing Filter Size", "flags": ["--smooth"], "description": "Smoothing filter size (in num. points), e.g. 3, 5, 7, 9, 11...", "parameter_type": "Integer", "default_value": "5", "optional": true}, "parameter": {"name": "Interpolation Parameter", "flags": ["-p", "--parameter"], "description": "Interpolation parameter; options are 'elevation' (default), 'intensity', 'user_data'.", "parameter_type": {"OptionList": ["elevation", "intensity", "user_data"]}, "default_value": "elevation", "optional": true}, "returns": {"name": "Point Returns Included", "flags": ["--returns"], "description": "Point return types to include; options are 'all' (default), 'last', 'first'.", "parameter_type": {"OptionList": ["all", "last", "first"]}, "default_value": "all", "optional": true}, "exclude_cls": {"name": "Exclusion Classes (0-18, based on LAS spec; e.g. 3,4,5,6,7)", "flags": ["--exclude_cls"], "description": "Optional exclude classes from interpolation; Valid class values range from 0 to 18, based on LAS specifications. Example, --exclude_cls='3,4,5,6,7,18'.", "parameter_type": "String", "default_value": null, "optional": true}, "minz": {"name": "Minimum Elevation Value (optional)", "flags": ["--minz"], "description": "Optional minimum elevation for inclusion in interpolation.", "parameter_type": "Float", "default_value": null, "optional": true}, "maxz": {"name": "Maximum Elevation Value (optional)", "flags": ["--maxz"], "description": "Optional maximum elevation for inclusion in interpolation.", "parameter_type": "Float", "default_value": null, "optional": true}, "max_triangle_edge_length": {"name": "Maximum Triangle Length (optional)", "flags": ["--max_triangle_edge_length"], "description": "Optional maximum triangle edge length; triangles larger than this size will not be gridded.", "parameter_type": "Float", "default_value": null, "optional": true}}}, "LidarEigenvalueFeatures": {"name": "LidarEigenvalueFeatures", "tool_name": "lidar_eigenvalue_features", "category": "LiDAR Tools", "label": "Lidar Eigenvalue Features", "description": "Calculate eigenvalue-based metrics from a LiDAR point cloud.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#LidarEigenvalueFeatures", "parameters": {"i": {"name": "Input LiDAR Points", "flags": ["-i", "--input"], "description": "Name of the input LiDAR points.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": true}, "num_neighbours": {"name": "Number of Neighbours:", "flags": ["--num_neighbours"], "description": "Number of neighbours used in search.", "parameter_type": "Integer", "default_value": null, "optional": true}, "radius": {"name": "Search Distance:", "flags": ["--radius"], "description": "Search distance used in neighbourhood search.", "parameter_type": "Float", "default_value": null, "optional": true}}}, "LidarPointReturnAnalysis": {"name": "LidarPointReturnAnalysis", "tool_name": "lidar_point_return_analysis", "category": "LiDAR Tools", "label": "Lidar Point Return Analysis", "description": "This tool performs a quality control check on the return values of points in a LiDAR file.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#LidarPointReturnAnalysis", "parameters": {"i": {"name": "Input LiDAR Points", "flags": ["-i", "--input"], "description": "Name of the input LiDAR points.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": false}, "output": {"name": "Output LiDAR Points", "flags": ["-o", "--output"], "description": "Name of the output LiDAR points.", "parameter_type": {"NewFile": "Lidar"}, "default_value": null, "optional": true}}}, "LidarSibsonInterpolation": {"name": "LidarSibsonInterpolation", "tool_name": "lidar_sibson_interpolation", "category": "LiDAR Tools", "label": "Lidar Sibson Interpolation", "description": "This tool interpolates one or more LiDAR tiles using Sibson's natural neighbour method.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#LidarSibsonInterpolation", "parameters": {"i": {"name": "Input LiDAR Points", "flags": ["-i", "--input"], "description": "Name of the input LiDAR points (leave blank to use all files in WorkingDirectory.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": true}, "output": {"name": "Output Raster", "flags": ["-o", "--output"], "description": "Output raster file (including extension).", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": true}, "parameter": {"name": "Interpolation Parameter", "flags": ["-p", "--parameter"], "description": "Interpolation parameter; options are 'elevation' (default), 'intensity', 'class', 'return_number', 'number_of_returns', 'scan angle', 'user_data'.", "parameter_type": {"OptionList": ["elevation", "intensity", "class", "return_number", "number_of_returns", "scan_angle", "user_data"]}, "default_value": "elevation", "optional": true}, "returns": {"name": "Point Returns Included", "flags": ["--returns"], "description": "Point return types to include; options are 'all' (default), 'last', 'first'.", "parameter_type": {"OptionList": ["all", "last", "first"]}, "default_value": "all", "optional": true}, "resolution": {"name": "Output Grid Resolution", "flags": ["--resolution"], "description": "Output raster's grid resolution.", "parameter_type": "Float", "default_value": "1.0", "optional": true}, "exclude_cls": {"name": "Exclusion Classes (0-18, based on LAS spec; e.g. 3,4,5,6,7)", "flags": ["--exclude_cls"], "description": "Optional exclude classes from interpolation; Valid class values range from 0 to 18, based on LAS specifications. Example, --exclude_cls='3,4,5,6,7,18'.", "parameter_type": "String", "default_value": null, "optional": true}, "minz": {"name": "Minimum Elevation Value (optional)", "flags": ["--minz"], "description": "Optional minimum elevation for inclusion in interpolation.", "parameter_type": "Float", "default_value": null, "optional": true}, "maxz": {"name": "Maximum Elevation Value (optional)", "flags": ["--maxz"], "description": "Optional maximum elevation for inclusion in interpolation.", "parameter_type": "Float", "default_value": null, "optional": true}}}, "LocalHypsometricAnalysis": {"name": "LocalHypsometricAnalysis", "tool_name": "local_hypsometric_analysis", "category": "Geomorphometric Analysis", "label": "Local Hypsometric Analysis", "description": "This tool calculates a local, neighbourhood-based hypsometric integral raster.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#LocalHypsometricAnalysis", "parameters": {"i": {"name": "Input Raster DEM", "flags": ["-i", "--input"], "description": "Name of the input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "out_mag": {"name": "Output Magnitude Raster", "flags": ["--out_mag"], "description": "Name of the openness output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "out_scale": {"name": "Output Scale Raster", "flags": ["--out_scale"], "description": "Name of the openness output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "min_scale": {"name": "Minimum Search Neighbourhood Radius (grid cells)", "flags": ["--min_scale"], "description": "Minimum search neighbourhood radius in grid cells.", "parameter_type": "Integer", "default_value": "4", "optional": true}, "step": {"name": "Base Step Size", "flags": ["--step"], "description": "Step size as any positive non-zero integer.", "parameter_type": "Integer", "default_value": "1", "optional": true}, "num_steps": {"name": "Number of Steps", "flags": ["--num_steps"], "description": "Number of steps.", "parameter_type": "Integer", "default_value": "10", "optional": true}, "step_nonlinearity": {"name": "Step Nonlinearity", "flags": ["--step_nonlinearity"], "description": "Step nonlinearity factor (1.0-2.0 is typical)", "parameter_type": "Float", "default_value": "1.0", "optional": true}}}, "LogisticRegression": {"name": "LogisticRegression", "tool_name": "logistic_regression", "category": "Machine Learning", "label": "Logistic Regression", "description": "Performs a logistic regression analysis using training site polygons/points and predictor rasters.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/machine_learning.html#LogisticRegression", "parameters": {"inputs": {"name": "Input Predictor Rasters", "flags": ["-i", "--inputs"], "description": "Names of the input predictor rasters.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "scaling": {"name": "Scaling Method", "flags": ["--scaling"], "description": "Scaling method for predictors. Options include 'None', 'Normalize', and 'Standardize'", "parameter_type": {"OptionList": ["None", "Normalize", "Standardize"]}, "default_value": "Normalize", "optional": true}, "training": {"name": "Input Training Polygons/Points", "flags": ["-t", "--training"], "description": "Name of the input training site polygons/points shapefile.", "parameter_type": {"ExistingFile": {"Vector": "Any"}}, "default_value": null, "optional": false}, "field": {"name": "Class Field Name", "flags": ["-f", "--field"], "description": "Name of the attribute containing class data.", "parameter_type": {"VectorAttributeField": ["Any", "--training"]}, "default_value": null, "optional": false}, "output": {"name": "Output Raster File", "flags": ["-o", "--output"], "description": "Name of the output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": true}, "test_proportion": {"name": "Test Proportion", "flags": ["--test_proportion"], "description": "The proportion of the dataset to include in the test split; default is 0.2.", "parameter_type": "Float", "default_value": "0.2", "optional": true}}}, "LowPointsOnHeadwaterDivides": {"name": "LowPointsOnHeadwaterDivides", "tool_name": "low_points_on_headwater_divides", "category": "Hydrological Analysis", "label": "Low Points On Headwater Divides", "description": "This tool locates saddle points along ridges within a digital elevation model (DEM)", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#LowPointsOnHeadwaterDivides", "parameters": {"dem": {"name": "Input DEM Raster", "flags": ["-d", "--dem"], "description": "Name of the input DEM raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "streams": {"name": "Input Streams Raster", "flags": ["--streams"], "description": "Name of the input stream channel raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Vector File", "flags": ["-o", "--output"], "description": "Name of the output vector file.", "parameter_type": {"NewFile": {"Vector": "Point"}}, "default_value": null, "optional": false}}}, "MinDistClassification": {"name": "MinDistClassification", "tool_name": "min_dist_classification", "category": "Image Processing Tools", "label": "Min Dist Classification", "description": "Performs a supervised minimum-distance classification using training site polygons and multi-spectral images.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools/classification.html#MinDistClassification", "parameters": {"inputs": {"name": "Input Band Images", "flags": ["-i", "--inputs"], "description": "Names of the input band images.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "polys": {"name": "Input Training Polygons", "flags": ["-p", "--polys"], "description": "Name of the input training site polygons shapefile.", "parameter_type": {"ExistingFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}, "field": {"name": "Class Name Field", "flags": ["-f", "--field"], "description": "Name of the attribute containing class name data.", "parameter_type": {"VectorAttributeField": ["Any", "--polys"]}, "default_value": null, "optional": false}, "output": {"name": "Output Raster File", "flags": ["-o", "--output"], "description": "Name of the output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "threshold": {"name": "Distance Threshold (z-scores; blank for none)", "flags": ["--threshold"], "description": "Distance threshold, in z-scores; blank for none.", "parameter_type": "Float", "default_value": null, "optional": true}}}, "ModifyLidar": {"name": "ModifyLidar", "tool_name": "modify_lidar", "category": "LiDAR Tools", "label": "Modify Lidar", "description": "Modify points within a LiDAR point cloud based on point properties.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#ModifyLidar", "parameters": {"i": {"name": "Input LiDAR Points", "flags": ["-i", "--input"], "description": "Name of the input LiDAR points.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": true}, "output": {"name": "Output LiDAR Points", "flags": ["-o", "--output"], "description": "Name of the output LiDAR points.", "parameter_type": {"NewFile": "Lidar"}, "default_value": null, "optional": true}, "statement": {"name": "Statement:", "flags": ["-s", "--statement"], "description": "Modify statement e.g. x += 5000.0.", "parameter_type": "String", "default_value": "", "optional": false}}}, "MultiscaleCurvatures": {"name": "MultiscaleCurvatures", "tool_name": "multiscale_curvatures", "category": "Geomorphometric Analysis", "label": "Multiscale Curvatures", "description": "This tool calculates several multiscale curvatures and curvature-based indices from an input DEM.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#MultiscaleCurvatures", "parameters": {"dem": {"name": "Input Raster DEM", "flags": ["-i", "--input", "--dem"], "description": "Name of the input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "curv_type": {"name": "Curvature Type", "flags": ["--curv_type"], "description": "Curvature type", "parameter_type": {"OptionList": ["AccumulationCurv", "Curvedness", "DifferenceCurv", "GaussianCurv", "GeneratingFunction", "HorizontalExcessCurv", "MaximalCurv", "MeanCurv", "MinimalCurv", "PlanCurv", "ProfileCurv", "RingCurv", "Rotor", "ShapeIndex", "TangentialCurv", "TotalCurv", "Unsphericity", "VerticalExcessCurv"]}, "default_value": "ProfileCurv", "optional": true}, "out_mag": {"name": "Output Magnitude File", "flags": ["--out_mag"], "description": "Output raster magnitude file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "out_scale": {"name": "Output Scale File", "flags": ["--out_scale"], "description": "Output raster scale file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": true}, "min_scale": {"name": "Minimum Search Neighbourhood Radius (grid cells)", "flags": ["--min_scale"], "description": "Minimum search neighbourhood radius in grid cells.", "parameter_type": "Integer", "default_value": "0", "optional": true}, "step": {"name": "Base Step Size", "flags": ["--step"], "description": "Step size as any positive non-zero integer.", "parameter_type": "Integer", "default_value": "1", "optional": true}, "num_steps": {"name": "Number of Steps", "flags": ["--num_steps"], "description": "Number of steps.", "parameter_type": "Integer", "default_value": "1", "optional": false}, "step_nonlinearity": {"name": "Step Nonlinearity", "flags": ["--step_nonlinearity"], "description": "Step nonlinearity factor (1.0-2.0 is typical).", "parameter_type": "Float", "default_value": "1.0", "optional": false}, "log": {"name": "Log-transform the output?", "flags": ["--log"], "description": "Display output values using a log-scale.", "parameter_type": "Boolean", "default_value": "true", "optional": true}, "standardize": {"name": "Standardize Each Scale?", "flags": ["--standardize"], "description": "Should each scale be standardized to z-scores?", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "Openness": {"name": "Openness", "tool_name": "openness", "category": "Geomorphometric Analysis", "label": "Openness", "description": "This tool calculates the topographic openness index from an input DEM.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#Openness", "parameters": {"i": {"name": "Input Raster DEM", "flags": ["-i", "--input"], "description": "Name of the input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "pos_output": {"name": "Positive Openness Output Raster", "flags": ["--pos_output"], "description": "Name of the positive openness output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "neg_output": {"name": "Negative Openness Output Raster", "flags": ["--neg_output"], "description": "Name of the negative openness output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "dist": {"name": "Search Distance (grid cells)", "flags": ["--dist"], "description": "Search distance, in grid cells.", "parameter_type": "Integer", "default_value": "20", "optional": true}}}, "ParallelepipedClassification": {"name": "ParallelepipedClassification", "tool_name": "parallelepiped_classification", "category": "Image Processing Tools", "label": "Parallelepiped Classification", "description": "Performs a supervised parallelepiped classification using training site polygons and multi-spectral images.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools/classification.html#ParallelepipedClassification", "parameters": {"inputs": {"name": "Input Band Images", "flags": ["-i", "--inputs"], "description": "Name of the input band images.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "polys": {"name": "Input Training Polygons", "flags": ["-p", "--polys"], "description": "Name of the input training site polygons shapefile.", "parameter_type": {"ExistingFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}, "field": {"name": "Class Name Field", "flags": ["-f", "--field"], "description": "Name of the attribute containing class name data.", "parameter_type": {"VectorAttributeField": ["Any", "--polys"]}, "default_value": null, "optional": false}, "output": {"name": "Output Raster File", "flags": ["-o", "--output"], "description": "Name of the output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "PhiCoefficient": {"name": "PhiCoefficient", "tool_name": "phi_coefficient", "category": "Math and Stats Tools", "label": "Phi Coefficient", "description": "This tool performs a binary classification accuracy assessment.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#PhiCoefficient", "parameters": {"input1": {"name": "Input Raster Image 1", "flags": ["--input1"], "description": "Name of the first input raster image file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "input2": {"name": "Input Raster Image 2", "flags": ["--input2"], "description": "Name of the second input raster image file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output HTML File", "flags": ["-o", "--output"], "description": "Name of the output HTML file.", "parameter_type": {"NewFile": "Html"}, "default_value": null, "optional": false}}}, "PiecewiseContrastStretch": {"name": "PiecewiseContrastStretch", "tool_name": "piecewise_contrast_stretch", "category": "Image Processing Tools", "label": "Piecewise Contrast Stretch", "description": "Performs a piecewise contrast stretch on an input image.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools/image_enhancement.html#PiecewiseContrastStretch", "parameters": {"i": {"name": "Input Raster Image", "flags": ["-i", "--input"], "description": "Name of the input raster image file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster Image", "flags": ["-o", "--output"], "description": "Name of the output raster image file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "function": {"name": "Piecewise Function Break-points:", "flags": ["-f", "--function"], "description": "Piecewise function break-points e.g. '(50, 0.1); (150, 0.8); (255; 1.0)", "parameter_type": "String", "default_value": "", "optional": false}, "greytones": {"name": "Number of Output Greytones:", "flags": ["-g", "--greytones"], "description": "Number of greytones in the output image.", "parameter_type": "Integer", "default_value": "1024", "optional": true}}}, "PruneVectorStreams": {"name": "PruneVectorStreams", "tool_name": "prune_vector_streams", "category": "Stream Network Analysis", "label": "Prune Vector Streams", "description": "This tool performs common stream network analysis operations on an input vector stream file.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/stream_network_analysis.html#PruneVectorStreams", "parameters": {"streams": {"name": "Input Streams Vector", "flags": ["--streams"], "description": "Name of the input streams vector file.", "parameter_type": {"ExistingFile": {"Vector": "Line"}}, "default_value": null, "optional": false}, "dem": {"name": "Input DEM Raster", "flags": ["--dem"], "description": "Name of the input DEM raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Lines", "flags": ["-o", "--output"], "description": "Name of the output lines shapefile.", "parameter_type": {"NewFile": {"Vector": "Line"}}, "default_value": null, "optional": false}, "threshold": {"name": "Upstream Channel Length Threshold", "flags": ["--threshold"], "description": "Tributary upstream channel length threshold, in xy units (metres).", "parameter_type": "Float", "default_value": "", "optional": false}, "snap": {"name": "Snap Distance", "flags": ["--snap"], "description": "Snap distance, in xy units (metres).", "parameter_type": "Float", "default_value": "0.1", "optional": true}}}, "RandomForestClassificationFit": {"name": "RandomForestClassificationFit", "tool_name": "random_forest_classification_fit", "category": "Machine Learning", "label": "Random Forest Classification Fit", "description": "Performs a supervised random forest classification using training site polygons/points and predictor rasters.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/machine_learning.html#RandomForestClassificationFit", "parameters": {"inputs": {"name": "Input Predictor Rasters", "flags": ["-i", "--inputs"], "description": "Names of the input predictor rasters.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "training": {"name": "Input Training Polygons/Points", "flags": ["-t", "--training"], "description": "Name of the input training site polygons/points shapefile.", "parameter_type": {"ExistingFile": {"Vector": "Any"}}, "default_value": null, "optional": false}, "field": {"name": "Class Field Name", "flags": ["-f", "--field"], "description": "Name of the attribute containing class data.", "parameter_type": {"VectorAttributeField": ["Any", "--training"]}, "default_value": null, "optional": false}, "output": {"name": "Output Model File (*.dat)", "flags": ["-o", "--output"], "description": "Name of the output model file (*.dat).", "parameter_type": {"NewFile": "Dat"}, "default_value": null, "optional": false}, "split_criterion": {"name": "Split Criterion", "flags": ["--split_criterion"], "description": "Split criterion to use when building a tree. Options include 'Gini', 'Entropy', and 'ClassificationError'", "parameter_type": {"OptionList": ["Gini", "Entropy", "ClassificationError"]}, "default_value": "Gini", "optional": true}, "n_trees": {"name": "Number of Trees in Forest", "flags": ["--n_trees"], "description": "The number of trees in the forest.", "parameter_type": "Integer", "default_value": "100", "optional": true}, "min_samples_leaf": {"name": "Min Number of Samples to be a Leaf", "flags": ["--min_samples_leaf"], "description": "The minimum number of samples required to be at a leaf node.", "parameter_type": "Integer", "default_value": "1", "optional": true}, "min_samples_split": {"name": "Min Number of Samples Needed to Split Node", "flags": ["--min_samples_split"], "description": "The minimum number of samples required to split an internal node.", "parameter_type": "Integer", "default_value": "2", "optional": true}, "test_proportion": {"name": "Test Proportion", "flags": ["--test_proportion"], "description": "The proportion of the dataset to include in the test split; default is 0.2.", "parameter_type": "Float", "default_value": "0.2", "optional": true}}}, "RandomForestClassificationPredict": {"name": "RandomForestClassificationPredict", "tool_name": "random_forest_classification_predict", "category": "Machine Learning", "label": "Random Forest Classification Predict", "description": "Uses a pre-trained random forest classification model and predictor rasters to create an output raster.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/machine_learning.html#RandomForestClassificationPredict", "parameters": {"inputs": {"name": "Input Predictor Rasters", "flags": ["-i", "--inputs"], "description": "Names of the input predictor rasters. Raster order is important and must follow that used to fit the model.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "model": {"name": "Input Random Forest Model (*.dat)", "flags": ["-m", "--model"], "description": "Name of the previously trained random forest model (*.dat).", "parameter_type": {"ExistingFile": "Dat"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster File", "flags": ["-o", "--output"], "description": "Name of the output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "RandomForestRegressionFit": {"name": "RandomForestRegressionFit", "tool_name": "random_forest_regression_fit", "category": "Machine Learning", "label": "Random Forest Regression Fit", "description": "Trains a random forest regression model using training site data and predictor rasters.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/machine_learning.html#RandomForestRegressionFit", "parameters": {"inputs": {"name": "Input Predictor Rasters", "flags": ["-i", "--inputs"], "description": "Names of the input predictor rasters.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "training": {"name": "Input Training Points", "flags": ["-t", "--training"], "description": "Name of the input training site points Shapefile.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "field": {"name": "Response Variable Field Name", "flags": ["-f", "--field"], "description": "Name of the attribute containing response variable name data.", "parameter_type": {"VectorAttributeField": ["Any", "--training"]}, "default_value": null, "optional": false}, "output": {"name": "Output Model File (*.dat)", "flags": ["-o", "--output"], "description": "Name of the output model file (*.dat).", "parameter_type": {"NewFile": "Dat"}, "default_value": null, "optional": false}, "n_trees": {"name": "Number of Trees in Forest", "flags": ["--n_trees"], "description": "The number of trees in the forest.", "parameter_type": "Integer", "default_value": "100", "optional": true}, "min_samples_leaf": {"name": "Min Number of Samples to be a Leaf", "flags": ["--min_samples_leaf"], "description": "The minimum number of samples required to be at a leaf node.", "parameter_type": "Integer", "default_value": "1", "optional": true}, "min_samples_split": {"name": "Min Number of Samples Needed to Split Node", "flags": ["--min_samples_split"], "description": "The minimum number of samples required to split an internal node.", "parameter_type": "Integer", "default_value": "2", "optional": true}, "test_proportion": {"name": "Test Proportion", "flags": ["--test_proportion"], "description": "The proportion of the dataset to include in the test split; default is 0.2.", "parameter_type": "Float", "default_value": "0.2", "optional": true}}}, "RandomForestRegressionPredict": {"name": "RandomForestRegressionPredict", "tool_name": "random_forest_regression_predict", "category": "Machine Learning", "label": "Random Forest Regression Predict", "description": "Uses a pre-trained random forest regression model and predictor rasters to create an output raster.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/machine_learning.html#RandomForestRegressionPredict", "parameters": {"inputs": {"name": "Input Predictor Rasters", "flags": ["-i", "--inputs"], "description": "Names of the input predictor rasters. Raster order is important and must follow that used to fit the model.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "model": {"name": "Input Random Forest Model (*.dat)", "flags": ["-m", "--model"], "description": "Name of the previously trained random forest model (*.dat).", "parameter_type": {"ExistingFile": "Dat"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster File", "flags": ["-o", "--output"], "description": "Name of the output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "ReconcileMultipleHeaders": {"name": "ReconcileMultipleHeaders", "tool_name": "reconcile_multiple_headers", "category": "Precision Agriculture", "label": "Reconcile Multiple Headers", "description": "This tool adjusts the crop yield values for data sets collected with multiple headers or combines.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/precision_agriculture.html#ReconcileMultipleHeaders", "parameters": {"i": {"name": "Input Points", "flags": ["-i", "--input"], "description": "Name of the input points shapefile.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "region_field": {"name": "Region Field Name", "flags": ["--region_field"], "description": "Name of the attribute containing region data.", "parameter_type": {"VectorAttributeField": ["Any", "--input"]}, "default_value": null, "optional": false}, "yield_field": {"name": "Yield Field Name", "flags": ["-y", "--yield_field"], "description": "Name of the attribute containing yield data.", "parameter_type": {"VectorAttributeField": ["Any", "--input"]}, "default_value": null, "optional": false}, "output": {"name": "Output Points", "flags": ["-o", "--output"], "description": "Name of the output points shapefile.", "parameter_type": {"NewFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "radius": {"name": "Search Radius (m)", "flags": ["--radius"], "description": "Optional search radius, in metres. Only specify this value if you want to calculate locally normalized yield.", "parameter_type": "Float", "default_value": null, "optional": true}, "min_yield": {"name": "Minimum Yield", "flags": ["--min_yield"], "description": "Minimum yield value in output.", "parameter_type": "Float", "default_value": null, "optional": true}, "max_yield": {"name": "Maximum Yield", "flags": ["--max_yield"], "description": "Maximum yield value in output.", "parameter_type": "Float", "default_value": null, "optional": true}, "mean_tonnage": {"name": "Overall Average Tonnage (Optional)", "flags": ["--mean_tonnage"], "description": "Use this optional parameter to force the output to have a certain overall average tonnage.", "parameter_type": "Float", "default_value": null, "optional": true}}}, "RecoverFlightlineInfo": {"name": "RecoverFlightlineInfo", "tool_name": "recover_flightline_info", "category": "LiDAR Tools", "label": "Recover Flightline Info", "description": "Associates LiDAR points by their flightlines.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#RecoverFlightlineInfo", "parameters": {"i": {"name": "Input LiDAR Points", "flags": ["-i", "--input"], "description": "Name of the input LiDAR points.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": false}, "output": {"name": "Output LiDAR Points", "flags": ["-o", "--output"], "description": "Name of the output LiDAR points.", "parameter_type": {"NewFile": "Lidar"}, "default_value": null, "optional": false}, "max_time_diff": {"name": "Maximum In-Flightline Time Difference (seconds)", "flags": ["--max_time_diff"], "description": "Maximum in-flightline time difference (seconds)", "parameter_type": "Float", "default_value": "5.0", "optional": true}, "pt_src_id": {"name": "Add flightline info to the Point Source ID?", "flags": ["--pt_src_id"], "description": "Add flightline information to the point source ID", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "user_data": {"name": "Add flightline info to the User Data?", "flags": ["--user_data"], "description": "Add flightline information to the user data", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "rgb": {"name": "Add flightline info to the RGB colour data?", "flags": ["--rgb"], "description": "Add flightline information to the RGB colour data", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "RecreatePassLines": {"name": "RecreatePassLines", "tool_name": "recreate_pass_lines", "category": "Precision Agriculture", "label": "Recreate Pass Lines", "description": "This tool can be used to approximate the harvester pass lines from yield points.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/precision_agriculture.html#RecreatePassLines", "parameters": {"i": {"name": "Input Points", "flags": ["-i", "--input"], "description": "Name of the input points shapefile.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "yield_field_name": {"name": "Yield Field Name", "flags": ["-y", "--yield_field_name"], "description": "Name of the attribute containing yield data.", "parameter_type": {"VectorAttributeField": ["Any", "--input"]}, "default_value": null, "optional": false}, "output_lines": {"name": "Output Pass Line", "flags": ["--output_lines"], "description": "Name of the output pass lines shapefile.", "parameter_type": {"NewFile": {"Vector": "Line"}}, "default_value": null, "optional": false}, "output_points": {"name": "Output Points", "flags": ["--output_points"], "description": "Name of the output points shapefile.", "parameter_type": {"NewFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "max_change_in_heading": {"name": "Max Change In Heading (degrees)", "flags": ["-m", "--max_change_in_heading"], "description": "Max change in heading.", "parameter_type": "Float", "default_value": "25.0", "optional": true}, "ignore_zeros": {"name": "Ignore zero-valued yield points?", "flags": ["--ignore_zeros"], "description": "Ignore zero-valued yield points?", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "RemoveFieldEdgePoints": {"name": "RemoveFieldEdgePoints", "tool_name": "remove_field_edge_points", "category": "Precision Agriculture", "label": "Remove Field Edge Points", "description": "This tool can be used to remove, or flag, most of the points along the edges from a crop yield data set.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/precision_agriculture.html#RemoveFieldEdgePoints", "parameters": {"i": {"name": "Input Points", "flags": ["-i", "--input"], "description": "Name of the input points shapefile.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "output": {"name": "Output Points", "flags": ["-o", "--output"], "description": "Name of the output points shapefile.", "parameter_type": {"NewFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "dist": {"name": "Average Distance Between Passes (m)", "flags": ["-d", "--dist"], "description": "Average distance between passes, in meters.", "parameter_type": "Float", "default_value": null, "optional": true}, "max_change_in_heading": {"name": "Max Change In Heading (degrees)", "flags": ["-m", "--max_change_in_heading"], "description": "Max change in heading.", "parameter_type": "Float", "default_value": "25.0", "optional": true}, "flag_edges": {"name": "Don't remove edge points, just flag them?", "flags": ["--flag_edges"], "description": "Don't remove edge points, just flag them in the attribute table?", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "RemoveRasterPolygonHoles": {"name": "RemoveRasterPolygonHoles", "tool_name": "remove_raster_polygon_holes", "category": "Data Tools", "label": "Remove Raster Polygon Holes", "description": "Removes polygon holes, or 'donut-holes', from raster polygons.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/data_tools.html#RemoveRasterPolygonHoles", "parameters": {"i": {"name": "Input Raster Image", "flags": ["-i", "--input"], "description": "Name of the input raster image file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster File", "flags": ["-o", "--output"], "description": "Name of the output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "threshold": {"name": "Threshold Size (Grid Cells):", "flags": ["--threshold"], "description": "Maximum size of removed holes, in grid cells. Blank for no threshold, i.e. remove all holes.", "parameter_type": "Integer", "default_value": "3", "optional": true}, "use_diagonals": {"name": "Use diagonal neighbours during clumping?", "flags": ["--use_diagonals"], "description": "Use diagonal neighbours during clumping operation.", "parameter_type": "Boolean", "default_value": "true", "optional": true}}}, "RingCurvature": {"name": "RingCurvature", "tool_name": "ring_curvature", "category": "Geomorphometric Analysis", "label": "Ring Curvature", "description": "This tool calculates ring curvature from an input DEM.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#RingCurvature", "parameters": {"dem": {"name": "Input Raster DEM", "flags": ["-i", "--dem"], "description": "Name of the input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster Image", "flags": ["-o", "--output"], "description": "Name of the output raster image file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "log": {"name": "Log-transform the output?", "flags": ["--log"], "description": "Display output values using a log-scale.", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "zfactor": {"name": "Z-factor", "flags": ["--zfactor"], "description": "Z conversion factor.", "parameter_type": "Float", "default_value": "1.0", "optional": true}}}, "RiverCenterlines": {"name": "RiverCenterlines", "tool_name": "river_centerlines", "category": "Hydrological Analysis", "label": "River Centerlines", "description": "Maps river centerlines from an input water raster.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#RiverCenterlines", "parameters": {"i": {"name": "Input Raster Image", "flags": ["-i", "--input"], "description": "Name of the input raster image file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Vector Lines File", "flags": ["-o", "--output"], "description": "Name of the output vector lines file.", "parameter_type": {"NewFile": {"Vector": "Line"}}, "default_value": null, "optional": false}, "min_length": {"name": "Min. Line Length (In Grid Cells)", "flags": ["--min_length"], "description": "Minimum line length, in grid cells.", "parameter_type": "Integer", "default_value": "3", "optional": true}, "radius": {"name": "Search Radius (In Grid Cells)", "flags": ["--radius"], "description": "Search radius for joining distant endnodes, in grid cells.", "parameter_type": "Integer", "default_value": "4", "optional": true}}}, "Rotor": {"name": "Rotor", "tool_name": "rotor", "category": "Geomorphometric Analysis", "label": "Rotor", "description": "This tool calculates rotor from an input DEM.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#Rotor", "parameters": {"dem": {"name": "Input Raster DEM", "flags": ["-i", "--dem"], "description": "Name of the input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster Image", "flags": ["-o", "--output"], "description": "Name of the output raster image file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "log": {"name": "Log-transform the output?", "flags": ["--log"], "description": "Display output values using a log-scale.", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "zfactor": {"name": "Z-factor", "flags": ["--zfactor"], "description": "Z conversion factor.", "parameter_type": "Float", "default_value": "1.0", "optional": true}}}, "ShadowAnimation": {"name": "ShadowAnimation", "tool_name": "shadow_animation", "category": "Geomorphometric Analysis", "label": "Shadow Animation", "description": "This tool creates an animated GIF of shadows based on an input DEM.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#ShadowAnimation", "parameters": {"i": {"name": "Input Digital Surface Model (DSM) Raster", "flags": ["-i", "--input"], "description": "Name of the input digital surface model (DSM) raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "palette": {"name": "DSM Palette", "flags": ["-p", "--palette"], "description": "DSM image palette; options are 'atlas', 'high_relief', 'arid', 'soft', 'muted', 'light_quant', 'purple', 'viridis', 'gn_yl', 'pi_y_g', 'bl_yl_rd', 'deep', and 'none'.", "parameter_type": {"OptionList": ["atlas", "high_relief", "arid", "soft", "muted", "light_quant", "purple", "viridi", "gn_yl", "pi_y_g", "bl_yl_rd", "deep", "none"]}, "default_value": "atlas", "optional": true}, "output": {"name": "Output File (*.html)", "flags": ["-o", "--output"], "description": "Name of the output HTML file (*.html).", "parameter_type": {"NewFile": "Html"}, "default_value": null, "optional": false}, "max_dist": {"name": "Maximum Search Distance (xy units)", "flags": ["--max_dist"], "description": "Optional maximum search distance, in xy units. Minimum value is 5 x cell size.", "parameter_type": "Float", "default_value": "", "optional": true}, "date": {"name": "Date (DD/MM/YYYY)", "flags": ["-d", "--date"], "description": "Date in format DD/MM/YYYY.", "parameter_type": "String", "default_value": "21/06/2021", "optional": true}, "interval": {"name": "Time Interval (in minutes)", "flags": ["--interval"], "description": "Time interval, in minutes (1-60).", "parameter_type": "Integer", "default_value": "15", "optional": true}, "location": {"name": "Lat/Long/UTC-offset (e.g. 43.5448/-80.2482/-4)", "flags": ["--location"], "description": "Location, defined as Lat/Long/UTC-offset (e.g. 43.5448/-80.2482/-4).", "parameter_type": "String", "default_value": "43.5448/-80.2482/-4", "optional": true}, "height": {"name": "Image Height (in pixels)", "flags": ["-h", "--height"], "description": "Image height, in pixels.", "parameter_type": "Integer", "default_value": "600", "optional": true}, "delay": {"name": "Delay (in milliseconds)", "flags": ["--delay"], "description": "GIF time delay in milliseconds.", "parameter_type": "Integer", "default_value": "250", "optional": true}, "label": {"name": "Label text (blank for none)", "flags": ["-l", "--label"], "description": "Label text (leave blank for none)", "parameter_type": "String", "default_value": "", "optional": true}}}, "ShadowImage": {"name": "ShadowImage", "tool_name": "shadow_image", "category": "Geomorphometric Analysis", "label": "Shadow Image", "description": "This tool creates a raster of shadow areas based on an input DEM.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#ShadowImage", "parameters": {"i": {"name": "Input Digital Surface Model (DSM) Raster", "flags": ["-i", "--input"], "description": "Name of the input digital surface model (DSM) raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Name of the output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "palette": {"name": "DSM Palette", "flags": ["-p", "--palette"], "description": "DSM image palette; options are 'atlas', 'high_relief', 'arid', 'soft', 'muted', 'light_quant', 'purple', 'viridi', 'gn_yl', 'pi_y_g', 'bl_yl_rd', 'deep', and 'none'.", "parameter_type": {"OptionList": ["atlas", "high_relief", "arid", "soft", "muted", "light_quant", "purple", "viridis", "gn_yl", "pi_y_g", "bl_yl_rd", "deep", "none"]}, "default_value": "soft", "optional": true}, "max_dist": {"name": "Maximum Search Distance (xy units)", "flags": ["--max_dist"], "description": "Optional maximum search distance, in xy unites. Minimum value is 5 x cell size.", "parameter_type": "Float", "default_value": "", "optional": true}, "date": {"name": "Date (DD/MM/YYYY)", "flags": ["-d", "--date"], "description": "Date in format DD/MM/YYYY.", "parameter_type": "String", "default_value": "21/06/2021", "optional": true}, "time": {"name": "Time (HH:MM, e.g. 03:15AM or 14:30)", "flags": ["-t", "--time"], "description": "Time in format HH::MM, e.g. 03:15AM or 14:30", "parameter_type": "String", "default_value": "13:00", "optional": true}, "location": {"name": "Lat/Long/UTC-offset (e.g. 43.5448/-80.2482/-4)", "flags": ["--location"], "description": "Location, defined as Lat/Long/UTC-offset (e.g. 43.5448/-80.2482/-4).", "parameter_type": "String", "default_value": "43.5448/-80.2482/-4", "optional": true}}}, "ShapeIndex": {"name": "ShapeIndex", "tool_name": "shape_index", "category": "Geomorphometric Analysis", "label": "Shape Index", "description": "This tool calculates the shape index from an input DEM.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#ShapeIndex", "parameters": {"dem": {"name": "Input Raster DEM", "flags": ["-i", "--dem"], "description": "Name of the input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster Image", "flags": ["-o", "--output"], "description": "Name of the output raster image file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "zfactor": {"name": "Z-factor", "flags": ["--zfactor"], "description": "Z conversion factor.", "parameter_type": "Float", "default_value": "1.0", "optional": true}}}, "SkyViewFactor": {"name": "SkyViewFactor", "tool_name": "sky_view_factor", "category": "Geomorphometric Analysis", "label": "Sky View Factor", "description": "Calculates the sky-view factor (SVF) from an input digital elevation model or digital surface model.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#SkyViewFactor", "parameters": {"dem": {"name": "Input Raster DEM", "flags": ["-i", "--dem"], "description": "Name of the input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster Image", "flags": ["-o", "--output"], "description": "Name of the output raster image file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "az_fraction": {"name": "Azimuth Fraction", "flags": ["--az_fraction"], "description": "Azimuth fraction.", "parameter_type": "Float", "default_value": "5.0", "optional": true}, "max_dist": {"name": "Maximum Distance", "flags": ["--max_dist"], "description": "Maximum distance (xy units).", "parameter_type": "Float", "default_value": "9999.0", "optional": true}, "observer_hgt_offset": {"name": "Oberserver Height Offset", "flags": ["--observer_hgt_offset"], "description": "Oberserver height offset (z units).", "parameter_type": "Float", "default_value": "0.05", "optional": true}}}, "SkylineAnalysis": {"name": "SkylineAnalysis", "tool_name": "skyline_analysis", "category": "Geomorphometric Analysis", "label": "Skyline Analysis", "description": "Performs a skyline analysis for one or more observation points based on the terrain of an underlying DEM.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#SkylineAnalysis", "parameters": {"dem": {"name": "Input Raster DEM", "flags": ["-i", "--dem"], "description": "Name of the input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "points": {"name": "Input Vector Points", "flags": ["--points"], "description": "Name of the input points vector file.", "parameter_type": {"ExistingFile": "Vector"}, "default_value": null, "optional": false}, "output": {"name": "Output Vector", "flags": ["-o", "--output"], "description": "Name of the output vector file.", "parameter_type": {"NewFile": "Vector"}, "default_value": null, "optional": false}, "output_html": {"name": "Output HTML File (*.html)", "flags": ["--output_html"], "description": "Name of the output report file (*.html).", "parameter_type": {"NewFile": "Html"}, "default_value": null, "optional": false}, "max_dist": {"name": "Maximum Distance", "flags": ["--max_dist"], "description": "Maximum distance (xy units).", "parameter_type": "Float", "default_value": "9999.0", "optional": true}, "observer_hgt_offset": {"name": "Oberserver Height Offset", "flags": ["--observer_hgt_offset"], "description": "Oberserver height offset (z units).", "parameter_type": "Float", "default_value": "0.05", "optional": true}, "output_as_polygons": {"name": "Output vectors are polygons?", "flags": ["--output_as_polygons"], "description": "Are the output vectors polygons or lines.", "parameter_type": "Boolean", "default_value": "true", "optional": true}, "az_fraction": {"name": "Azimuth Fraction", "flags": ["--az_fraction"], "description": "Azimuth fraction.", "parameter_type": "Float", "default_value": "1.0", "optional": true}}}, "SlopeVsAspectPlot": {"name": "SlopeVsAspectPlot", "tool_name": "slope_vs_aspect_plot", "category": "Geomorphometric Analysis", "label": "Slope Vs Aspect Plot", "description": "This tool creates a slope-aspect relation plot from an input DEM.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#SlopeVsAspectPlot", "parameters": {"i": {"name": "Input Raster Image", "flags": ["-i", "--input"], "description": "Name of the input raster image file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File (*.html)", "flags": ["-o", "--output"], "description": "Name of the output report file (*.html).", "parameter_type": {"NewFile": "Html"}, "default_value": null, "optional": false}, "bin_size": {"name": "Aspect Bin Size (degrees)", "flags": ["--bin_size"], "description": "Aspect bin size, in degrees.", "parameter_type": "Float", "default_value": "2.0", "optional": true}, "min_slope": {"name": "Minimum Slope (degrees)", "flags": ["--min_slope"], "description": "Minimum slope, in degrees.", "parameter_type": "Float", "default_value": "0.1", "optional": true}, "zfactor": {"name": "Z-factor", "flags": ["--zfactor"], "description": "Z conversion factor.", "parameter_type": "Float", "default_value": "1.0", "optional": true}}}, "SmoothVegetationResidual": {"name": "SmoothVegetationResidual", "tool_name": "smooth_vegetation_residual", "category": "Geomorphometric Analysis", "label": "Smooth Vegetation Residual", "description": "This tool can smooth the residual roughness due to vegetation cover in LiDAR DEMs.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#SmoothVegetationResidual", "parameters": {"i": {"name": "Input Digital Elevation Model (DEM) Raster", "flags": ["-i", "--input"], "description": "Name of the input digital elevation model (DEM) raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster File", "flags": ["-o", "--output"], "description": "Name of the output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "max_scale": {"name": "Maximum Search Neighbourhood Radius (grid cells)", "flags": ["--max_scale"], "description": "Maximum search neighbourhood radius in grid cells.", "parameter_type": "Integer", "default_value": "30", "optional": true}, "dev_threshold": {"name": "DEVmax Threshold", "flags": ["--dev_threshold"], "description": "DEVmax Threshold.", "parameter_type": "Float", "default_value": "1.0", "optional": true}, "scale_threshold": {"name": "DEVmax Scale Threshold", "flags": ["--scale_threshold"], "description": "DEVmax scale threshold", "parameter_type": "Integer", "default_value": "5", "optional": true}}}, "SortLidar": {"name": "SortLidar", "tool_name": "sort_lidar", "category": "LiDAR Tools", "label": "Sort Lidar", "description": "Sorts LiDAR points based on their properties.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#SortLidar", "parameters": {"i": {"name": "Input LiDAR Points", "flags": ["-i", "--input"], "description": "Name of the input LiDAR points.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": true}, "output": {"name": "Output LiDAR Points", "flags": ["-o", "--output"], "description": "Name of the output LiDAR points.", "parameter_type": {"NewFile": "Lidar"}, "default_value": null, "optional": true}, "criteria": {"name": "Sort Criteria:", "flags": ["-c", "--criteria"], "description": "Sort criteria e.g. 'x 50.0, y 50.0, z'; criteria may include x, y, z, intensity, class, user_data, point_source_id, and scan_angle", "parameter_type": "String", "default_value": "", "optional": false}}}, "SplitLidar": {"name": "SplitLidar", "tool_name": "split_lidar", "category": "LiDAR Tools", "label": "Split Lidar", "description": "Splits LiDAR points up into a series of new files based on their properties.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#SplitLidar", "parameters": {"i": {"name": "Input LiDAR Points", "flags": ["-i", "--input"], "description": "Name of the input LiDAR points.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": true}, "criterion": {"name": "Split Criterion", "flags": ["--criterion"], "description": "Criterion on which to base the split of the input file. Options include 'num_pts, 'x', 'y', 'z', intensity, 'class', 'user_data', 'point_source_id', 'scan_angle', 'time'", "parameter_type": {"OptionList": ["num_pts", "x", "y", "z", "intensity", "class", "user_data", "point_source_id", "scan_angle", "time"]}, "default_value": "num_pts", "optional": false}, "interval": {"name": "Interval", "flags": ["--interval"], "description": "Interval", "parameter_type": "Float", "default_value": "", "optional": true}, "min_pts": {"name": "Minimum Number of Points", "flags": ["--min_pts"], "description": "Minimum number of points in an output file", "parameter_type": "Integer", "default_value": "5", "optional": true}}}, "SvmClassification": {"name": "SvmClassification", "tool_name": "svm_classification", "category": "Machine Learning", "label": "Svm Classification", "description": "Performs an SVM binary classification using training site polygons/points and multiple input images.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/machine_learning.html#SvmClassification", "parameters": {"inputs": {"name": "Input Predictor Rasters", "flags": ["-i", "--inputs"], "description": "Names of the input predictor rasters.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "scaling": {"name": "Scaling Method", "flags": ["--scaling"], "description": "Scaling method for predictors. Options include 'None', 'Normalize', and 'Standardize'", "parameter_type": {"OptionList": ["None", "Normalize", "Standardize"]}, "default_value": "Normalize", "optional": true}, "training": {"name": "Input Training Polygons/Points", "flags": ["-t", "--training"], "description": "Name of the input training site polygons/points Shapefile.", "parameter_type": {"ExistingFile": {"Vector": "Any"}}, "default_value": null, "optional": false}, "field": {"name": "Class Field Name", "flags": ["-f", "--field"], "description": "Name of the attribute containing class data.", "parameter_type": {"VectorAttributeField": ["Any", "--training"]}, "default_value": null, "optional": false}, "output": {"name": "Output Raster File", "flags": ["-o", "--output"], "description": "Name of the output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": true}, "c": {"name": "c-Value", "flags": ["-c"], "description": "c-value, the regularization parameter.", "parameter_type": "Float", "default_value": "200.0", "optional": true}, "gamma": {"name": "Kernel Gamma", "flags": ["--gamma"], "description": "Gamma parameter used in setting the RBF (Gaussian) kernel function.", "parameter_type": "Float", "default_value": "50.0", "optional": true}, "tolerance": {"name": "Tolerance", "flags": ["--tolerance"], "description": "The tolerance parameter used in determining the stopping condition.", "parameter_type": "Float", "default_value": "0.1", "optional": true}, "test_proportion": {"name": "Test Proportion", "flags": ["--test_proportion"], "description": "The proportion of the dataset to include in the test split; default is 0.2.", "parameter_type": "Float", "default_value": "0.2", "optional": true}}}, "SvmRegression": {"name": "SvmRegression", "tool_name": "svm_regression", "category": "Machine Learning", "label": "Svm Regression", "description": "Performs a supervised SVM regression analysis using training site points and predictor rasters.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/machine_learning.html#SvmRegression", "parameters": {"inputs": {"name": "Input Predictor Rasters", "flags": ["-i", "--inputs"], "description": "Names of the input predictor rasters.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "scaling": {"name": "Scaling Method", "flags": ["--scaling"], "description": "Scaling method for predictors. Options include 'None', 'Normalize', and 'Standardize'", "parameter_type": {"OptionList": ["None", "Normalize", "Standardize"]}, "default_value": "Normalize", "optional": true}, "training": {"name": "Input Training Polygons/Points", "flags": ["-t", "--training"], "description": "Name of the input training site points Shapefile.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "field": {"name": "Class Field Name", "flags": ["-f", "--field"], "description": "Name of the attribute containing class data.", "parameter_type": {"VectorAttributeField": ["Any", "--training"]}, "default_value": null, "optional": false}, "output": {"name": "Output Raster File", "flags": ["-o", "--output"], "description": "Name of the output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": true}, "c": {"name": "c-Value", "flags": ["-c"], "description": "c-value, the regularization parameter.", "parameter_type": "Float", "default_value": "50.0", "optional": true}, "eps": {"name": "Epsilon Value", "flags": ["--eps"], "description": "Epsilon in the epsilon-SVR model.", "parameter_type": "Float", "default_value": "10.0", "optional": true}, "gamma": {"name": "Kernel Gamma", "flags": ["--gamma"], "description": "Gamma parameter used in setting the RBF (Gaussian) kernel function.", "parameter_type": "Float", "default_value": "0.5", "optional": true}, "test_proportion": {"name": "Test Proportion", "flags": ["--test_proportion"], "description": "The proportion of the dataset to include in the test split; default is 0.2.", "parameter_type": "Float", "default_value": "0.2", "optional": true}}}, "TopoRender": {"name": "TopoRender", "tool_name": "topo_render", "category": "Geomorphometric Analysis", "label": "Topo Render", "description": "This tool creates a pseudo-3D rendering from an input DEM, for the purpose of effective topographic visualization.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#TopoRender", "parameters": {"dem": {"name": "Input Digital Elevation Model (DEM) Raster", "flags": ["-i", "--input", "--dem"], "description": "Name of the input digital elevation model (DEM) raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Name of the output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "palette": {"name": "Palette", "flags": ["-p", "--palette"], "description": "Palette name; options are 'atlas', 'high_relief', 'arid', 'soft', 'earthtones', 'muted', 'light_quant', 'purple', 'viridi', 'gn_yl', 'pi_y_g', 'bl_yl_rd', 'deep', 'imhof', and 'white'.", "parameter_type": {"OptionList": ["atlas", "high_relief", "arid", "soft", "earthtones", "muted", "light_quant", "purple", "viridis", "gn_yl", "pi_y_g", "bl_yl_rd", "deep", "imhof", "white"]}, "default_value": "soft", "optional": true}, "rev_palette": {"name": "Reverse the palette?", "flags": ["--rev_palette"], "description": "Reverse the palette?", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "az": {"name": "Light Source Direction (degrees)", "flags": ["--az"], "description": "Light source azimuth direction (degrees, 0-360).", "parameter_type": "Float", "default_value": "315.0", "optional": true}, "alt": {"name": "Light Source Altitude (degrees)", "flags": ["--alt"], "description": "Light source altitude (degrees, 0-90).", "parameter_type": "Float", "default_value": "30.0", "optional": true}, "background_hgt_offset": {"name": "Offset Height of Background (z-units)", "flags": ["--background_hgt_offset"], "description": "Offset height of background, in z-units.", "parameter_type": "Float", "default_value": "10.0", "optional": true}, "polygon": {"name": "Clipping Polygon", "flags": ["--polygon"], "description": "Clipping polygon vector file (optional).", "parameter_type": {"ExistingFile": {"Vector": "Polygon"}}, "default_value": null, "optional": true}, "background_clr": {"name": "Background RGB colour", "flags": ["--background_clr"], "description": "Background red-green-blue (RGB) or red-green-blue-alpha (RGBA) colour, e.g. '[255, 255, 245]', '[255, 255, 245, 200]'", "parameter_type": "String", "default_value": "[255, 255, 255]", "optional": true}, "attenuation": {"name": "Attenuation Parameter", "flags": ["--attenuation"], "description": "Attenuation parameter. Range is 0-4. Zero means no attenuation.", "parameter_type": "Float", "default_value": "0.3", "optional": true}, "ambient_light": {"name": "Ambient Light", "flags": ["--ambient_light"], "description": "Ambient light parameter. Range is 0.0-0.7. Zero means no ambient light.", "parameter_type": "Float", "default_value": "0.2", "optional": true}, "z_factor": {"name": "Elevation Multiplier", "flags": ["--z_factor"], "description": "Elevation multiplier, or a vertical exageration.", "parameter_type": "Float", "default_value": "1.0", "optional": true}}}, "TopographicPositionAnimation": {"name": "TopographicPositionAnimation", "tool_name": "topographic_position_animation", "category": "Geomorphometric Analysis", "label": "Topographic Position Animation", "description": "This tool creates an animated GIF of multi-scale local topographic position (elevation deviation).", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#TopographicPositionAnimation", "parameters": {"i": {"name": "Input Digital Elevation Model (DEM) Raster", "flags": ["-i", "--input"], "description": "Name of the input digital elevation model (DEM) raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "palette": {"name": "Palette", "flags": ["-p", "--palette"], "description": "Image palette; options are 'bl_yl_rd', 'bl_w_rd', 'purple', 'gn_yl', 'pi_y_g', and 'viridis'.", "parameter_type": {"OptionList": ["bl_yl_rd", "bl_w_rd", "purple", "gn_yl", "pi_y_g", "viridis"]}, "default_value": "bl_yl_rd", "optional": true}, "output": {"name": "Output File (*.html)", "flags": ["-o", "--output"], "description": "Name of the output HTML file (*.html).", "parameter_type": {"NewFile": "Html"}, "default_value": null, "optional": false}, "min_scale": {"name": "Minimum Search Neighbourhood Radius (grid cells)", "flags": ["--min_scale"], "description": "Minimum search neighbourhood radius in grid cells.", "parameter_type": "Integer", "default_value": "1", "optional": true}, "num_steps": {"name": "Number of Steps", "flags": ["--num_steps"], "description": "Number of steps.", "parameter_type": "Integer", "default_value": "100", "optional": true}, "step_nonlinearity": {"name": "Step Nonlinearity", "flags": ["--step_nonlinearity"], "description": "Step nonlinearity factor (1.0-2.0 is typical)", "parameter_type": "Float", "default_value": "1.5", "optional": true}, "height": {"name": "Image Height (in pixels)", "flags": ["--height"], "description": "Image height, in pixels.", "parameter_type": "Integer", "default_value": "600", "optional": true}, "delay": {"name": "Delay (in milliseconds)", "flags": ["--delay"], "description": "GIF time delay in milliseconds.", "parameter_type": "Integer", "default_value": "250", "optional": true}, "label": {"name": "Label text (blank for none)", "flags": ["-l", "--label"], "description": "Label text (leave blank for none)", "parameter_type": "String", "default_value": "", "optional": true}, "dev_max": {"name": "Use DEVmax for topo position?", "flags": ["--dev_max"], "description": "Do you want to use DEVmax instead of DEV for measuring local topographic position?", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "TopologicalBreachBurn": {"name": "TopologicalBreachBurn", "tool_name": "topological_breach_burn", "category": "Hydrological Analysis", "label": "Topological Breach Burn", "description": "This tool burns streams into a DEM using the topological breach-burn method of Lindsay (2016).", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#TopologicalBreachBurn", "parameters": {"streams": {"name": "Input Streams Vector", "flags": ["--streams"], "description": "Name of the input streams vector file.", "parameter_type": {"ExistingFile": {"Vector": "Line"}}, "default_value": null, "optional": false}, "dem": {"name": "Input DEM Raster", "flags": ["--dem"], "description": "Name of the input DEM raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "out_streams": {"name": "Output Streams Raster", "flags": ["--out_streams"], "description": "Name of the output pruned streams raster.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "out_dem": {"name": "Output DEM Raster", "flags": ["--out_dem"], "description": "Name of the output lines shapefile.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "out_dir": {"name": "Output D8 Flow Direction Raster", "flags": ["--out_dir"], "description": "Name of the output flow direction raster.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "out_accum": {"name": "Output D8 Flow Accumulation Raster", "flags": ["--out_accum"], "description": "Name of the output lines shapefile.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": true}, "snap": {"name": "Snap Distance", "flags": ["--snap"], "description": "Snap distance, in xy units (metres).", "parameter_type": "Float", "default_value": "1.0", "optional": true}}}, "Unsphericity": {"name": "Unsphericity", "tool_name": "unsphericity", "category": "Geomorphometric Analysis", "label": "Unsphericity", "description": "This tool calculates the unsphericity curvature from an input DEM.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#Unsphericity", "parameters": {"dem": {"name": "Input Raster DEM", "flags": ["-i", "--dem"], "description": "Name of the input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster Image", "flags": ["-o", "--output"], "description": "Name of the output raster image file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "log": {"name": "Log-transform the output?", "flags": ["--log"], "description": "Display output values using a log-scale.", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "zfactor": {"name": "Z-factor", "flags": ["--zfactor"], "description": "Z conversion factor.", "parameter_type": "Float", "default_value": "1.0", "optional": true}}}, "VerticalExcessCurvature": {"name": "VerticalExcessCurvature", "tool_name": "vertical_excess_curvature", "category": "Geomorphometric Analysis", "label": "Vertical Excess Curvature", "description": "This tool calculates vertical excess curvature from an input DEM.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#VerticalExcessCurvature", "parameters": {"dem": {"name": "Input Raster DEM", "flags": ["-i", "--dem"], "description": "Name of the input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster Image", "flags": ["-o", "--output"], "description": "Name of the output raster image file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "log": {"name": "Log-transform the output?", "flags": ["--log"], "description": "Display output values using a log-scale.", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "zfactor": {"name": "Z-factor", "flags": ["--zfactor"], "description": "Z conversion factor.", "parameter_type": "Float", "default_value": "1.0", "optional": true}}}, "YieldFilter": {"name": "YieldFilter", "tool_name": "yield_filter", "category": "Precision Agriculture", "label": "Yield Filter", "description": "Filters crop yield values of point data derived from combine harvester yield monitors.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/precision_agriculture.html#YieldFilter", "parameters": {"i": {"name": "Input Points", "flags": ["-i", "--input"], "description": "Name of the input points shapefile.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "yield_field": {"name": "Yield Field Name", "flags": ["-y", "--yield_field"], "description": "Name of the attribute containing yield data.", "parameter_type": {"VectorAttributeField": ["Any", "--input"]}, "default_value": null, "optional": false}, "pass_field": {"name": "Pass Field Name", "flags": ["-p", "--pass_field"], "description": "Name of the attribute containing pass line ID.", "parameter_type": {"VectorAttributeField": ["Any", "--input"]}, "default_value": null, "optional": false}, "output": {"name": "Output Points", "flags": ["-o", "--output"], "description": "Name of the output points shapefile.", "parameter_type": {"NewFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "width": {"name": "Swath Width", "flags": ["-w", "--width"], "description": "Pass swath width (m).", "parameter_type": "Float", "default_value": "6.096", "optional": true}, "z_score_threshold": {"name": "Z-score Threshold Value", "flags": ["-z", "--z_score_threshold"], "description": "Z-score threshold value (default=2.5).", "parameter_type": "Float", "default_value": "2.5", "optional": true}, "min_yield": {"name": "Minimum Yield", "flags": ["--min_yield"], "description": "Minimum yield value in output.", "parameter_type": "Float", "default_value": "0.0", "optional": true}, "max_yield": {"name": "Maximum Yield", "flags": ["--max_yield"], "description": "Maximum yield value in output.", "parameter_type": "Float", "default_value": "99999.9", "optional": true}}}, "YieldMap": {"name": "YieldMap", "tool_name": "yield_map", "category": "Precision Agriculture", "label": "Yield Map", "description": "This tool can be used to create a segmented-vector polygon yield map from a set of harvester points.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/precision_agriculture.html#YieldMap", "parameters": {"i": {"name": "Input Points", "flags": ["-i", "--input"], "description": "Name of the input points shapefile.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "pass_field_name": {"name": "Pass Field Name", "flags": ["-p", "--pass_field_name"], "description": "Name of the attribute containing pass line ID.", "parameter_type": {"VectorAttributeField": ["Any", "--input"]}, "default_value": null, "optional": false}, "output": {"name": "Output Vector Polygons", "flags": ["-o", "--output"], "description": "Name of the output polygon shapefile.", "parameter_type": {"NewFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}, "width": {"name": "Swath Width", "flags": ["-w", "--width"], "description": "Pass swath width (m).", "parameter_type": "Float", "default_value": "6.096", "optional": true}, "max_change_in_heading": {"name": "Max Change In Heading (degrees)", "flags": ["-m", "--max_change_in_heading"], "description": "Max change in heading.", "parameter_type": "Float", "default_value": "25.0", "optional": true}}}, "YieldNormalization": {"name": "YieldNormalization", "tool_name": "yield_normalization", "category": "Precision Agriculture", "label": "Yield Normalization", "description": "This tool can be used to normalize the yield points for a field.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/precision_agriculture.html#YieldNormalization", "parameters": {"i": {"name": "Input Points", "flags": ["-i", "--input"], "description": "Name of the input points shapefile.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "yield_field": {"name": "Yield Field Name", "flags": ["-y", "--yield_field"], "description": "Name of the attribute containing yield data.", "parameter_type": {"VectorAttributeField": ["Any", "--input"]}, "default_value": null, "optional": false}, "output": {"name": "Output Points", "flags": ["-o", "--output"], "description": "Name of the output points shapefile.", "parameter_type": {"NewFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "standardize": {"name": "Standardize rather than normalize?", "flags": ["--standardize"], "description": "Should the yield values be standardized (converted to z-scores) rather than normalized?", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "radius": {"name": "Search Radius (m)", "flags": ["--radius"], "description": "Optional search radius, in metres. Only specify this value if you want to calculate locally normalized yield.", "parameter_type": "Float", "default_value": null, "optional": true}, "min_yield": {"name": "Minimum Yield", "flags": ["--min_yield"], "description": "Minimum yield value in output.", "parameter_type": "Float", "default_value": "0.0", "optional": true}, "max_yield": {"name": "Maximum Yield", "flags": ["--max_yield"], "description": "Maximum yield value in output.", "parameter_type": "Float", "default_value": "99999.9", "optional": true}}}} \ No newline at end of file diff --git a/data-raw/whitebox_tools.json b/data-raw/whitebox_tools.json index ab3da502a..5cefd9677 100644 --- a/data-raw/whitebox_tools.json +++ b/data-raw/whitebox_tools.json @@ -1 +1 @@ -{"AbsoluteValue": {"name": "AbsoluteValue", "tool_name": "absolute_value", "category": "Math and Stats Tools", "label": "Absolute Value", "description": "Calculates the absolute value of every cell in a raster.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/abs.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#AbsoluteValue", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "AccumulationCurvature": {"name": "AccumulationCurvature", "tool_name": "accumulation_curvature", "category": "Geomorphometric Analysis", "label": "Accumulation Curvature", "description": "This tool calculates accumulation curvature from an input DEM.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#AccumulationCurvature", "parameters": {"dem": {"name": "Input Raster DEM", "flags": ["-i", "--dem"], "description": "Name of the input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster Image", "flags": ["-o", "--output"], "description": "Name of the output raster image file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "log": {"name": "Log-transform the output?", "flags": ["--log"], "description": "Display output values using a log-scale.", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "zfactor": {"name": "Z-factor", "flags": ["--zfactor"], "description": "Z conversion factor.", "parameter_type": "Float", "default_value": "1.0", "optional": true}}}, "AdaptiveFilter": {"name": "AdaptiveFilter", "tool_name": "adaptive_filter", "category": "Image Processing Tools", "label": "Adaptive Filter", "description": "Performs an adaptive filter on an image.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/adaptive_filter.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#AdaptiveFilter", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "filterx": {"name": "Filter X-Dimension", "flags": ["--filterx"], "description": "Size of the filter kernel in the x-direction.", "parameter_type": "Integer", "default_value": "11", "optional": true}, "filtery": {"name": "Filter Y-Dimension", "flags": ["--filtery"], "description": "Size of the filter kernel in the y-direction.", "parameter_type": "Integer", "default_value": "11", "optional": true}, "threshold": {"name": "Difference From Mean Threshold (# Std. Dev.)", "flags": ["--threshold"], "description": "Difference from mean threshold, in standard deviations.", "parameter_type": "Float", "default_value": "2.0", "optional": true}}}, "Add": {"name": "Add", "tool_name": "add", "category": "Math and Stats Tools", "label": "Add", "description": "Performs an addition operation on two rasters or a raster and a constant value.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/add.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#Add", "parameters": {"input1": {"name": "Input File Or Constant Value", "flags": ["--input1"], "description": "Input raster file or constant value.", "parameter_type": {"ExistingFileOrFloat": "Raster"}, "default_value": null, "optional": false}, "input2": {"name": "Input File Or Constant Value", "flags": ["--input2"], "description": "Input raster file or constant value.", "parameter_type": {"ExistingFileOrFloat": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "AddPointCoordinatesToTable": {"name": "AddPointCoordinatesToTable", "tool_name": "add_point_coordinates_to_table", "category": "Data Tools", "label": "Add Point Coordinates To Table", "description": "Modifies the attribute table of a point vector by adding fields containing each point's X and Y coordinates.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/data_tools/add_point_coordinates_to_table.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/data_tools.html#AddPointCoordinatesToTable", "parameters": {"i": {"name": "Input Vector Points File", "flags": ["-i", "--input"], "description": "Input vector Points file.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}}}, "AggregateRaster": {"name": "AggregateRaster", "tool_name": "aggregate_raster", "category": "GIS Analysis", "label": "Aggregate Raster", "description": "Aggregates a raster to a lower resolution.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/aggregate_raster.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#AggregateRaster", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "agg_factor": {"name": "Aggregation Factor (pixels)", "flags": ["--agg_factor"], "description": "Aggregation factor, in pixels.", "parameter_type": "Integer", "default_value": "2", "optional": true}, "type": {"name": "Aggregation Type", "flags": ["--type"], "description": "Statistic used to fill output pixels.", "parameter_type": {"OptionList": ["mean", "sum", "maximum", "minimum", "range"]}, "default_value": "mean", "optional": true}}}, "And": {"name": "And", "tool_name": "and", "category": "Math and Stats Tools", "label": "And", "description": "Performs a logical AND operator on two Boolean raster images.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/and.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#And", "parameters": {"input1": {"name": "Input File", "flags": ["--input1"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "input2": {"name": "Input File", "flags": ["--input2"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "Anova": {"name": "Anova", "tool_name": "anova", "category": "Math and Stats Tools", "label": "Anova", "description": "Performs an analysis of variance (ANOVA) test on a raster dataset.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/anova.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#Anova", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "features": {"name": "Feature Definition (Class) File", "flags": ["--features"], "description": "Feature definition (or class) raster.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output HTML File", "flags": ["-o", "--output"], "description": "Output HTML file.", "parameter_type": {"NewFile": "Html"}, "default_value": null, "optional": false}}}, "ArcCos": {"name": "ArcCos", "tool_name": "arc_cos", "category": "Math and Stats Tools", "label": "Arc Cos", "description": "Returns the inverse cosine (arccos) of each values in a raster.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/arccos.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#ArcCos", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "ArcSin": {"name": "ArcSin", "tool_name": "arc_sin", "category": "Math and Stats Tools", "label": "Arc Sin", "description": "Returns the inverse sine (arcsin) of each values in a raster.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/arcsin.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#ArcSin", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "ArcTan": {"name": "ArcTan", "tool_name": "arc_tan", "category": "Math and Stats Tools", "label": "Arc Tan", "description": "Returns the inverse tangent (arctan) of each values in a raster.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/arctan.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#ArcTan", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "Arcosh": {"name": "Arcosh", "tool_name": "arcosh", "category": "Math and Stats Tools", "label": "Arcosh", "description": "Returns the inverse hyperbolic cosine (arcosh) of each values in a raster.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/arcosh.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#Arcosh", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "Arsinh": {"name": "Arsinh", "tool_name": "arsinh", "category": "Math and Stats Tools", "label": "Arsinh", "description": "Returns the inverse hyperbolic sine (arsinh) of each values in a raster.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/arsinh.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#Arsinh", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "Artanh": {"name": "Artanh", "tool_name": "artanh", "category": "Math and Stats Tools", "label": "Artanh", "description": "Returns the inverse hyperbolic tangent (arctanh) of each values in a raster.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/artanh.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#Artanh", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "AsciiToLas": {"name": "AsciiToLas", "tool_name": "ascii_to_las", "category": "LiDAR Tools", "label": "Ascii To Las", "description": "Converts one or more ASCII files containing LiDAR points into LAS files.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/lidar_analysis/ascii_to_las.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#AsciiToLas", "parameters": {"inputs": {"name": "Input LiDAR point ASCII Files (.csv)", "flags": ["-i", "--inputs"], "description": "Input LiDAR ASCII files (.csv).", "parameter_type": {"FileList": "Csv"}, "default_value": null, "optional": false}, "pattern": {"name": "Pattern", "flags": ["--pattern"], "description": "Input field pattern.", "parameter_type": "String", "default_value": null, "optional": false}, "proj": {"name": "Well-known-text (WKT) string or EPSG code", "flags": ["--proj"], "description": "Well-known-text string or EPSG code describing projection.", "parameter_type": "String", "default_value": null, "optional": true}}}, "Aspect": {"name": "Aspect", "tool_name": "aspect", "category": "Geomorphometric Analysis", "label": "Aspect", "description": "Calculates an aspect raster from an input DEM.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/aspect.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#Aspect", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "zfactor": {"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}}}, "AssessRoute": {"name": "AssessRoute", "tool_name": "assess_route", "category": "Geomorphometric Analysis", "label": "Assess Route", "description": "This tool assesses a route for slope, elevation, and visibility variation.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#AssessRoute", "parameters": {"routes": {"name": "Input Routes Vector", "flags": ["--routes"], "description": "Name of the input routes vector file.", "parameter_type": {"ExistingFile": {"Vector": "Line"}}, "default_value": null, "optional": false}, "dem": {"name": "Input DEM Raster", "flags": ["--dem"], "description": "Name of the input DEM raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Lines", "flags": ["-o", "--output"], "description": "Name of the output lines shapefile.", "parameter_type": {"NewFile": {"Vector": "Line"}}, "default_value": null, "optional": false}, "length": {"name": "Max Segment Length", "flags": ["--length"], "description": "Maximum segment length (m).", "parameter_type": "Float", "default_value": "", "optional": true}, "dist": {"name": "Search Distance (grid cells)", "flags": ["--dist"], "description": "Search distance, in grid cells, used in visibility analysis.", "parameter_type": "Integer", "default_value": "20", "optional": true}}}, "Atan2": {"name": "Atan2", "tool_name": "atan2", "category": "Math and Stats Tools", "label": "Atan2", "description": "Returns the 2-argument inverse tangent (atan2).", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/atan2.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#Atan2", "parameters": {"input_y": {"name": "Input Y File Or Constant Value", "flags": ["--input_y"], "description": "Input y raster file or constant value (rise).", "parameter_type": {"ExistingFileOrFloat": "Raster"}, "default_value": null, "optional": false}, "input_x": {"name": "Input X File Or Constant Value", "flags": ["--input_x"], "description": "Input x raster file or constant value (run).", "parameter_type": {"ExistingFileOrFloat": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "AttributeCorrelation": {"name": "AttributeCorrelation", "tool_name": "attribute_correlation", "category": "Math and Stats Tools", "label": "Attribute Correlation", "description": "Performs a correlation analysis on attribute fields from a vector database.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/attribute_correlation.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#AttributeCorrelation", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input vector file.", "parameter_type": {"ExistingFile": {"Vector": "Any"}}, "default_value": null, "optional": false}, "output": {"name": "Output HTML File", "flags": ["-o", "--output"], "description": "Output HTML file (default name will be based on input file if unspecified).", "parameter_type": {"NewFile": "Html"}, "default_value": null, "optional": true}}}, "AttributeCorrelationNeighbourhoodAnalysis": {"name": "AttributeCorrelationNeighbourhoodAnalysis", "tool_name": "attribute_correlation_neighbourhood_analysis", "category": "Math and Stats Tools", "label": "Attribute Correlation Neighbourhood Analysis", "description": "Performs a correlation on two input vector attributes within a neighbourhood search windows.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/attribute_correlation_neighbourhood_analysis.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#AttributeCorrelationNeighbourhoodAnalysis", "parameters": {"i": {"name": "Input Vector File", "flags": ["-i", "--input"], "description": "Input vector file.", "parameter_type": {"ExistingFile": {"Vector": "Any"}}, "default_value": null, "optional": false}, "field1": {"name": "Field Name 1", "flags": ["--field1"], "description": "First input field name (dependent variable) in attribute table.", "parameter_type": {"VectorAttributeField": ["Number", "--input"]}, "default_value": null, "optional": false}, "field2": {"name": "Field Name 2", "flags": ["--field2"], "description": "Second input field name (independent variable) in attribute table.", "parameter_type": {"VectorAttributeField": ["Number", "--input"]}, "default_value": null, "optional": false}, "radius": {"name": "Search Radius (map units)", "flags": ["--radius"], "description": "Search Radius (in map units).", "parameter_type": "Float", "default_value": null, "optional": true}, "min_points": {"name": "Min. Number of Points", "flags": ["--min_points"], "description": "Minimum number of points.", "parameter_type": "Integer", "default_value": null, "optional": true}, "stat": {"name": "Correlation Statistic Type", "flags": ["--stat"], "description": "Correlation type; one of 'pearson' (default) and 'spearman'.", "parameter_type": {"OptionList": ["pearson", "kendall", "spearman"]}, "default_value": "pearson", "optional": true}}}, "AttributeHistogram": {"name": "AttributeHistogram", "tool_name": "attribute_histogram", "category": "Math and Stats Tools", "label": "Attribute Histogram", "description": "Creates a histogram for the field values of a vector's attribute table.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/attribute_histogram.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#AttributeHistogram", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input vector file.", "parameter_type": {"ExistingFile": {"Vector": "Any"}}, "default_value": null, "optional": false}, "field": {"name": "Field Name", "flags": ["--field"], "description": "Input field name in attribute table.", "parameter_type": {"VectorAttributeField": ["Number", "--input"]}, "default_value": null, "optional": false}, "output": {"name": "Output HTML File", "flags": ["-o", "--output"], "description": "Output HTML file (default name will be based on input file if unspecified).", "parameter_type": {"NewFile": "Html"}, "default_value": null, "optional": false}}}, "AttributeScattergram": {"name": "AttributeScattergram", "tool_name": "attribute_scattergram", "category": "Math and Stats Tools", "label": "Attribute Scattergram", "description": "Creates a scattergram for two field values of a vector's attribute table.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/attribute_scattergram.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#AttributeScattergram", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": {"Vector": "Any"}}, "default_value": null, "optional": false}, "fieldx": {"name": "Field Name X", "flags": ["--fieldx"], "description": "Input field name in attribute table for the x-axis.", "parameter_type": {"VectorAttributeField": ["Number", "--input"]}, "default_value": null, "optional": false}, "fieldy": {"name": "Field Name Y", "flags": ["--fieldy"], "description": "Input field name in attribute table for the y-axis.", "parameter_type": {"VectorAttributeField": ["Number", "--input"]}, "default_value": null, "optional": false}, "output": {"name": "Output HTML File", "flags": ["-o", "--output"], "description": "Output HTML file (default name will be based on input file if unspecified).", "parameter_type": {"NewFile": "Html"}, "default_value": null, "optional": false}, "trendline": {"name": "Draw the trendline?", "flags": ["--trendline"], "description": "Draw the trendline.", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "AverageFlowpathSlope": {"name": "AverageFlowpathSlope", "tool_name": "average_flowpath_slope", "category": "Hydrological Analysis", "label": "Average Flowpath Slope", "description": "Measures the average slope gradient from each grid cell to all upslope divide cells.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/average_flowpath_slope.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#AverageFlowpathSlope", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "AverageNormalVectorAngularDeviation": {"name": "AverageNormalVectorAngularDeviation", "tool_name": "average_normal_vector_angular_deviation", "category": "Geomorphometric Analysis", "label": "Average Normal Vector Angular Deviation", "description": "Calculates the circular variance of aspect at a scale for a DEM.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/average_normal_vector_angular_deviation.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#AverageNormalVectorAngularDeviation", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster File", "flags": ["--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "filter": {"name": "Filter Dimension", "flags": ["--filter"], "description": "Size of the filter kernel.", "parameter_type": "Integer", "default_value": "11", "optional": true}}}, "AverageOverlay": {"name": "AverageOverlay", "tool_name": "average_overlay", "category": "GIS Analysis", "label": "Average Overlay", "description": "Calculates the average for each grid cell from a group of raster images.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/average_overlay.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#AverageOverlay", "parameters": {"inputs": {"name": "Input Files", "flags": ["-i", "--inputs"], "description": "Input raster files.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "AverageUpslopeFlowpathLength": {"name": "AverageUpslopeFlowpathLength", "tool_name": "average_upslope_flowpath_length", "category": "Hydrological Analysis", "label": "Average Upslope Flowpath Length", "description": "Measures the average length of all upslope flowpaths draining each grid cell.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/average_upslope_flowpath_length.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#AverageUpslopeFlowpathLength", "parameters": {"dem": {"name": "Input File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "BalanceContrastEnhancement": {"name": "BalanceContrastEnhancement", "tool_name": "balance_contrast_enhancement", "category": "Image Processing Tools", "label": "Balance Contrast Enhancement", "description": "Performs a balance contrast enhancement on a colour-composite image of multispectral data.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/balance_contrast_enhancement.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#BalanceContrastEnhancement", "parameters": {"i": {"name": "Input Colour Composite Image File", "flags": ["-i", "--input"], "description": "Input colour composite image file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "band_mean": {"name": "Band Mean Value", "flags": ["--band_mean"], "description": "Band mean value.", "parameter_type": "Float", "default_value": "100.0", "optional": true}}}, "Basins": {"name": "Basins", "tool_name": "basins", "category": "Hydrological Analysis", "label": "Basins", "description": "Identifies drainage basins that drain to the DEM edge.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/basins.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#Basins", "parameters": {"d8_pntr": {"name": "Input D8 Pointer File", "flags": ["--d8_pntr"], "description": "Input raster D8 pointer file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "esri_pntr": {"name": "Does the pointer file use the ESRI pointer scheme?", "flags": ["--esri_pntr"], "description": "D8 pointer uses the ESRI style scheme.", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "BilateralFilter": {"name": "BilateralFilter", "tool_name": "bilateral_filter", "category": "Image Processing Tools", "label": "Bilateral Filter", "description": "A bilateral filter is an edge-preserving smoothing filter introduced by Tomasi and Manduchi (1998).", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/bilateral_filter.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#BilateralFilter", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "sigma_dist": {"name": "Distance Standard Deviation (pixels)", "flags": ["--sigma_dist"], "description": "Standard deviation in distance in pixels.", "parameter_type": "Float", "default_value": "0.75", "optional": true}, "sigma_int": {"name": "Intensity Standard Deviation (intensity units)", "flags": ["--sigma_int"], "description": "Standard deviation in intensity in pixels.", "parameter_type": "Float", "default_value": "1.0", "optional": true}}}, "BlockMaximumGridding": {"name": "BlockMaximumGridding", "tool_name": "block_maximum_gridding", "category": "GIS Analysis", "label": "Block Maximum Gridding", "description": "Creates a raster grid based on a set of vector points and assigns grid values using a block maximum scheme.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/block_maximum.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#BlockMaximumGridding", "parameters": {"i": {"name": "Input Vector Points File", "flags": ["-i", "--input"], "description": "Input vector Points file.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "field": {"name": "Field Name", "flags": ["--field"], "description": "Input field name in attribute table.", "parameter_type": {"VectorAttributeField": ["Number", "--input"]}, "default_value": null, "optional": false}, "use_z": {"name": "Use z-coordinate instead of field?", "flags": ["--use_z"], "description": "Use z-coordinate instead of field?", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "cell_size": {"name": "Cell Size (optional)", "flags": ["--cell_size"], "description": "Optionally specified cell size of output raster. Not used when base raster is specified.", "parameter_type": "Float", "default_value": null, "optional": true}, "base": {"name": "Base Raster File (optional)", "flags": ["--base"], "description": "Optionally specified input base raster file. Not used when a cell size is specified.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": true}}}, "BlockMinimumGridding": {"name": "BlockMinimumGridding", "tool_name": "block_minimum_gridding", "category": "GIS Analysis", "label": "Block Minimum Gridding", "description": "Creates a raster grid based on a set of vector points and assigns grid values using a block minimum scheme.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/block_minimum.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#BlockMinimumGridding", "parameters": {"i": {"name": "Input Vector Points File", "flags": ["-i", "--input"], "description": "Input vector Points file.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "field": {"name": "Field Name", "flags": ["--field"], "description": "Input field name in attribute table.", "parameter_type": {"VectorAttributeField": ["Number", "--input"]}, "default_value": null, "optional": false}, "use_z": {"name": "Use z-coordinate instead of field?", "flags": ["--use_z"], "description": "Use z-coordinate instead of field?", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "cell_size": {"name": "Cell Size (optional)", "flags": ["--cell_size"], "description": "Optionally specified cell size of output raster. Not used when base raster is specified.", "parameter_type": "Float", "default_value": null, "optional": true}, "base": {"name": "Base Raster File (optional)", "flags": ["--base"], "description": "Optionally specified input base raster file. Not used when a cell size is specified.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": true}}}, "BoundaryShapeComplexity": {"name": "BoundaryShapeComplexity", "tool_name": "boundary_shape_complexity", "category": "GIS Analysis", "label": "Boundary Shape Complexity", "description": "Calculates the complexity of the boundaries of raster polygons.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/boundary_shape_complexity.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#BoundaryShapeComplexity", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "BreachDepressions": {"name": "BreachDepressions", "tool_name": "breach_depressions", "category": "Hydrological Analysis", "label": "Breach Depressions", "description": "Breaches all of the depressions in a DEM using Lindsay's (2016) algorithm. This should be preferred over depression filling in most cases.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/breach_depressions.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#BreachDepressions", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "max_depth": {"name": "Maximum Breach Depth (z units)", "flags": ["--max_depth"], "description": "Optional maximum breach depth (default is Inf).", "parameter_type": "Float", "default_value": null, "optional": true}, "max_length": {"name": "Maximum Breach Channel Length (grid cells)", "flags": ["--max_length"], "description": "Optional maximum breach channel length (in grid cells; default is Inf).", "parameter_type": "Float", "default_value": null, "optional": true}, "flat_increment": {"name": "Flat increment value (z units)", "flags": ["--flat_increment"], "description": "Optional elevation increment applied to flat areas.", "parameter_type": "Float", "default_value": null, "optional": true}, "fill_pits": {"name": "Fill single-cell pits?", "flags": ["--fill_pits"], "description": "Optional flag indicating whether to fill single-cell pits.", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "BreachDepressionsLeastCost": {"name": "BreachDepressionsLeastCost", "tool_name": "breach_depressions_least_cost", "category": "Hydrological Analysis", "label": "Breach Depressions Least Cost", "description": "Breaches the depressions in a DEM using a least-cost pathway method.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/breach_depressions_least_cost.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#BreachDepressionsLeastCost", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "dist": {"name": "Maximum Search Distance (cells)", "flags": ["--dist"], "description": "Maximum search distance for breach paths in cells.", "parameter_type": "Integer", "default_value": null, "optional": false}, "max_cost": {"name": "Maximum Breach Cost (z units)", "flags": ["--max_cost"], "description": "Optional maximum breach cost (default is Inf).", "parameter_type": "Float", "default_value": null, "optional": true}, "min_dist": {"name": "Minimize breach distances?", "flags": ["--min_dist"], "description": "Optional flag indicating whether to minimize breach distances.", "parameter_type": "Boolean", "default_value": "true", "optional": true}, "flat_increment": {"name": "Flat increment value (z units)", "flags": ["--flat_increment"], "description": "Optional elevation increment applied to flat areas.", "parameter_type": "Float", "default_value": null, "optional": true}, "fill": {"name": "Fill unbreached depressions?", "flags": ["--fill"], "description": "Optional flag indicating whether to fill any remaining unbreached depressions.", "parameter_type": "Boolean", "default_value": "true", "optional": true}}}, "BreachSingleCellPits": {"name": "BreachSingleCellPits", "tool_name": "breach_single_cell_pits", "category": "Hydrological Analysis", "label": "Breach Single Cell Pits", "description": "Removes single-cell pits from an input DEM by breaching.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/breach_pits.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#BreachSingleCellPits", "parameters": {"dem": {"name": "Input File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "BreaklineMapping": {"name": "BreaklineMapping", "tool_name": "breakline_mapping", "category": "Geomorphometric Analysis", "label": "Breakline Mapping", "description": "This tool maps breaklines from an input DEM.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#BreaklineMapping", "parameters": {"dem": {"name": "Input Raster DEM", "flags": ["-i", "--input", "--dem"], "description": "Name of the input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Vector Lines File", "flags": ["-o", "--output"], "description": "Name of the output vector lines file.", "parameter_type": {"NewFile": {"Vector": "Line"}}, "default_value": null, "optional": false}, "threshold": {"name": "Threshold Value", "flags": ["--threshold"], "description": "Threshold value (0 - infinity but typcially 1 to 5 works well).", "parameter_type": "Float", "default_value": "2.0", "optional": true}, "min_length": {"name": "Min. Line Length (In Grid Cells)", "flags": ["--min_length"], "description": "Minimum line length, in grid cells.", "parameter_type": "Integer", "default_value": "3", "optional": true}}}, "BufferRaster": {"name": "BufferRaster", "tool_name": "buffer_raster", "category": "GIS Analysis", "label": "Buffer Raster", "description": "Maps a distance-based buffer around each non-background (non-zero/non-nodata) grid cell in an input image.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/buffer_raster.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#BufferRaster", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "size": {"name": "Buffer Size", "flags": ["--size"], "description": "Buffer size.", "parameter_type": "Float", "default_value": null, "optional": false}, "gridcells": {"name": "Buffer size measured in grid cells?", "flags": ["--gridcells"], "description": "Optional flag to indicate that the 'size' threshold should be measured in grid cells instead of the default map units.", "parameter_type": "Boolean", "default_value": null, "optional": true}}}, "BurnStreamsAtRoads": {"name": "BurnStreamsAtRoads", "tool_name": "burn_streams_at_roads", "category": "Hydrological Analysis", "label": "Burn Streams At Roads", "description": "Burns-in streams at the sites of road embankments.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/burn_streams_at_roads.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#BurnStreamsAtRoads", "parameters": {"dem": {"name": "Input DEM File", "flags": ["--dem"], "description": "Input raster digital elevation model (DEM) file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "streams": {"name": "Input Vector Streams File", "flags": ["--streams"], "description": "Input vector streams file.", "parameter_type": {"ExistingFile": {"Vector": "Line"}}, "default_value": null, "optional": false}, "roads": {"name": "Input Vector Roads File", "flags": ["--roads"], "description": "Input vector roads file.", "parameter_type": {"ExistingFile": {"Vector": "Line"}}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "width": {"name": "Road Embankment Width", "flags": ["--width"], "description": "Maximum road embankment width, in map units", "parameter_type": "Float", "default_value": null, "optional": true}}}, "CannyEdgeDetection": {"name": "CannyEdgeDetection", "tool_name": "canny_edge_detection", "category": "Image Processing Tools", "label": "Canny Edge Detection", "description": "This tool performs a Canny edge-detection filter on an input image.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools/filters.html#CannyEdgeDetection", "parameters": {"i": {"name": "Input Raster Image", "flags": ["-i", "--input"], "description": "Name of the input raster image file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster Image", "flags": ["-o", "--output"], "description": "Name of the output raster image file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "sigma": {"name": "Sigma Value", "flags": ["-s", "--sigma"], "description": "Sigma value used in Gaussian filtering, default = 0.5", "parameter_type": "Float", "default_value": "0.5", "optional": true}, "low": {"name": "Low Threshold", "flags": ["-l", "--low"], "description": "Low threshold, default = 0.05", "parameter_type": "Float", "default_value": "0.05", "optional": true}, "high": {"name": "High Threshold", "flags": ["-h", "--high"], "description": "High threshold, default = 0.15", "parameter_type": "Float", "default_value": "0.15", "optional": true}, "add_back": {"name": "Add edge back to the image?", "flags": ["-a", "--add_back"], "description": "Add the edge cells back to the input image", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "Ceil": {"name": "Ceil", "tool_name": "ceil", "category": "Math and Stats Tools", "label": "Ceil", "description": "Returns the smallest (closest to negative infinity) value that is greater than or equal to the values in a raster.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/ceil.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#Ceil", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "Centroid": {"name": "Centroid", "tool_name": "centroid", "category": "GIS Analysis", "label": "Centroid", "description": "Calculates the centroid, or average location, of raster polygon objects.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/centroid.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#Centroid", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "text_output": {"name": "Output text?", "flags": ["--text_output"], "description": "Optional text output.", "parameter_type": "Boolean", "default_value": null, "optional": false}}}, "CentroidVector": {"name": "CentroidVector", "tool_name": "centroid_vector", "category": "GIS Analysis", "label": "Centroid Vector", "description": "Identifies the centroid point of a vector polyline or polygon feature or a group of vector points.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/centroid_vector.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#CentroidVector", "parameters": {"i": {"name": "Input Vector File", "flags": ["-i", "--input"], "description": "Input vector file.", "parameter_type": {"ExistingFile": {"Vector": "Any"}}, "default_value": null, "optional": false}, "output": {"name": "Output Vector File", "flags": ["-o", "--output"], "description": "Output vector file.", "parameter_type": {"NewFile": {"Vector": "Any"}}, "default_value": null, "optional": false}}}, "ChangeVectorAnalysis": {"name": "ChangeVectorAnalysis", "tool_name": "change_vector_analysis", "category": "Image Processing Tools", "label": "Change Vector Analysis", "description": "Performs a change vector analysis on a two-date multi-spectral dataset.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/change_vector_analysis.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#ChangeVectorAnalysis", "parameters": {"date1": {"name": "Earlier Date Input Files", "flags": ["--date1"], "description": "Input raster files for the earlier date.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "date2": {"name": "Later Date Input Files", "flags": ["--date2"], "description": "Input raster files for the later date.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "magnitude": {"name": "Output Vector Magnitude File", "flags": ["--magnitude"], "description": "Output vector magnitude raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "direction": {"name": "Output Vector Direction File", "flags": ["--direction"], "description": "Output vector Direction raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "CircularVarianceOfAspect": {"name": "CircularVarianceOfAspect", "tool_name": "circular_variance_of_aspect", "category": "Geomorphometric Analysis", "label": "Circular Variance Of Aspect", "description": "Calculates the circular variance of aspect at a scale for a DEM.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/circular_variance_of_aspect.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#CircularVarianceOfAspect", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster File", "flags": ["--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "filter": {"name": "Filter Dimension", "flags": ["--filter"], "description": "Size of the filter kernel.", "parameter_type": "Integer", "default_value": "11", "optional": true}}}, "ClassifyBuildingsInLidar": {"name": "ClassifyBuildingsInLidar", "tool_name": "classify_buildings_in_lidar", "category": "LiDAR Tools", "label": "Classify Buildings In Lidar", "description": "Reclassifies a LiDAR points that lie within vector building footprints.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/lidar_analysis/classify_buildings.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#ClassifyBuildingsInLidar", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input LiDAR file.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": false}, "buildings": {"name": "Input Building Polygon File", "flags": ["--buildings"], "description": "Input vector polygons file.", "parameter_type": {"ExistingFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output LiDAR file.", "parameter_type": {"NewFile": "Lidar"}, "default_value": null, "optional": false}}}, "ClassifyLidar": {"name": "ClassifyLidar", "tool_name": "classify_lidar", "category": "LiDAR Tools", "label": "Classify Lidar", "description": "Classify points within a LiDAR point cloud based on point properties.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#ClassifyLidar", "parameters": {"i": {"name": "Input LiDAR Points", "flags": ["-i", "--input"], "description": "Name of the input LiDAR points.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": true}, "output": {"name": "Output LiDAR Points", "flags": ["-o", "--output"], "description": "Name of the output LiDAR points.", "parameter_type": {"NewFile": "Lidar"}, "default_value": null, "optional": true}, "radius": {"name": "Search Distance:", "flags": ["--radius"], "description": "Search distance used in neighbourhood search (metres).", "parameter_type": "Float", "default_value": "1.5", "optional": true}, "grd_threshold": {"name": "Ground Threshold:", "flags": ["--grd_threshold"], "description": "Ground threshold (metres).", "parameter_type": "Float", "default_value": "0.1", "optional": true}, "oto_threshold": {"name": "Off-Terrain Object Threshold:", "flags": ["--oto_threshold"], "description": "Off-terrain object threshold (metres).", "parameter_type": "Float", "default_value": "2.0", "optional": true}, "planarity_threshold": {"name": "Planarity Threshold:", "flags": ["--planarity_threshold"], "description": "Planarity threshold (0-1).", "parameter_type": "Float", "default_value": "0.85", "optional": true}, "linearity_threshold": {"name": "Linearity Threshold:", "flags": ["--linearity_threshold"], "description": "Linearity threshold (0-1).", "parameter_type": "Float", "default_value": "0.70", "optional": true}, "iterations": {"name": "Number of Iterations:", "flags": ["--iterations"], "description": "Number of iterations.", "parameter_type": "Integer", "default_value": "30", "optional": true}, "facade_threshold": {"name": "Facade Threshold:", "flags": ["--facade_threshold"], "description": "Facade threshold (metres).", "parameter_type": "Float", "default_value": "0.5", "optional": true}}}, "ClassifyOverlapPoints": {"name": "ClassifyOverlapPoints", "tool_name": "classify_overlap_points", "category": "LiDAR Tools", "label": "Classify Overlap Points", "description": "Classifies or filters LAS points in regions of overlapping flight lines.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/lidar_analysis/classify_overlap_points.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#ClassifyOverlapPoints", "parameters": {"i": {"name": "Input LiDAR File", "flags": ["-i", "--input"], "description": "Input LiDAR file.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output LiDAR file.", "parameter_type": {"NewFile": "Lidar"}, "default_value": null, "optional": false}, "resolution": {"name": "Sample Resolution", "flags": ["--resolution"], "description": "The size of the square area used to evaluate nearby points in the LiDAR data.", "parameter_type": "Float", "default_value": "2.0", "optional": true}, "criterion": {"name": "Overlap Criterion", "flags": ["-c", "--criterion"], "description": "Criterion used to identify overlapping points; options are 'max scan angle', 'not min point source ID', 'not min time', 'multiple point source IDs'.", "parameter_type": {"OptionList": ["max scan angle", "not min point source ID", "not min time", "multiple point source IDs"]}, "default_value": "max scan angle", "optional": true}, "filter": {"name": "Filter out points from overlapping flightlines?", "flags": ["--filter"], "description": "Filter out points from overlapping flightlines? If false, overlaps will simply be classified.", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "CleanVector": {"name": "CleanVector", "tool_name": "clean_vector", "category": "Data Tools", "label": "Clean Vector", "description": "Removes null features and lines/polygons with fewer than the required number of vertices.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/data_tools/clean_vector.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/data_tools.html#CleanVector", "parameters": {"i": {"name": "Input Vector File", "flags": ["-i", "--input"], "description": "Input vector file.", "parameter_type": {"ExistingFile": {"Vector": "Any"}}, "default_value": null, "optional": false}, "output": {"name": "Output Vector File", "flags": ["-o", "--output"], "description": "Output vector file.", "parameter_type": {"NewFile": {"Vector": "Any"}}, "default_value": null, "optional": false}}}, "Clip": {"name": "Clip", "tool_name": "clip", "category": "GIS Analysis", "label": "Clip", "description": "Extract all the features, or parts of features, that overlap with the features of the clip vector.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/clip.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#Clip", "parameters": {"i": {"name": "Input Vector File", "flags": ["-i", "--input"], "description": "Input vector file.", "parameter_type": {"ExistingFile": {"Vector": "Any"}}, "default_value": null, "optional": false}, "clip": {"name": "Input Clip Polygon Vector File", "flags": ["--clip"], "description": "Input clip polygon vector file.", "parameter_type": {"ExistingFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}, "output": {"name": "Output Vector File", "flags": ["-o", "--output"], "description": "Output vector file.", "parameter_type": {"NewFile": {"Vector": "Any"}}, "default_value": null, "optional": false}}}, "ClipLidarToPolygon": {"name": "ClipLidarToPolygon", "tool_name": "clip_lidar_to_polygon", "category": "LiDAR Tools", "label": "Clip Lidar To Polygon", "description": "Clips a LiDAR point cloud to a vector polygon or polygons.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/lidar_analysis/clip_lidar_to_polygon.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#ClipLidarToPolygon", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input LiDAR file.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": false}, "polygons": {"name": "Input Vector Polygon File", "flags": ["--polygons"], "description": "Input vector polygons file.", "parameter_type": {"ExistingFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output LiDAR file.", "parameter_type": {"NewFile": "Lidar"}, "default_value": null, "optional": false}}}, "ClipRasterToPolygon": {"name": "ClipRasterToPolygon", "tool_name": "clip_raster_to_polygon", "category": "GIS Analysis", "label": "Clip Raster To Polygon", "description": "Clips a raster to a vector polygon.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/clip_raster_to_polygon.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#ClipRasterToPolygon", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "polygons": {"name": "Input Vector Polygon File", "flags": ["--polygons"], "description": "Input vector polygons file.", "parameter_type": {"ExistingFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "maintain_dimensions": {"name": "Maintain input raster dimensions?", "flags": ["--maintain_dimensions"], "description": "Maintain input raster dimensions?", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "Closing": {"name": "Closing", "tool_name": "closing", "category": "Image Processing Tools", "label": "Closing", "description": "A closing is a mathematical morphology operation involving an erosion (min filter) of a dilation (max filter) set.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/closing.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#Closing", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "filterx": {"name": "Filter X-Dimension", "flags": ["--filterx"], "description": "Size of the filter kernel in the x-direction.", "parameter_type": "Integer", "default_value": "11", "optional": true}, "filtery": {"name": "Filter Y-Dimension", "flags": ["--filtery"], "description": "Size of the filter kernel in the y-direction.", "parameter_type": "Integer", "default_value": "11", "optional": true}}}, "Clump": {"name": "Clump", "tool_name": "clump", "category": "GIS Analysis", "label": "Clump", "description": "Groups cells that form discrete areas, assigning them unique identifiers.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/clump.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#Clump", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "diag": {"name": "Include diagonal connections?", "flags": ["--diag"], "description": "Flag indicating whether diagonal connections should be considered.", "parameter_type": "Boolean", "default_value": "true", "optional": false}, "zero_back": {"name": "Treat zero values as background?", "flags": ["--zero_back"], "description": "Flag indicating whether zero values should be treated as a background.", "parameter_type": "Boolean", "default_value": null, "optional": false}}}, "ColourizeBasedOnClass": {"name": "ColourizeBasedOnClass", "tool_name": "colourize_based_on_class", "category": "LiDAR Tools", "label": "Colourize Based On Class", "description": "Sets the RGB values of a LiDAR point cloud based on the point classification values.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#ColourizeBasedOnClass", "parameters": {"i": {"name": "Input LiDAR Points", "flags": ["-i", "--input"], "description": "Name of the input LiDAR points.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": true}, "output": {"name": "Output LiDAR Points", "flags": ["-o", "--output"], "description": "Name of the output LiDAR points.", "parameter_type": {"NewFile": "Lidar"}, "default_value": null, "optional": true}, "intensity_blending": {"name": "Intensity Blending Amount (0-100%):", "flags": ["--intensity_blending"], "description": "Intensity blending amount (0-100%).", "parameter_type": "Float", "default_value": "50.0", "optional": true}, "clr_str": {"name": "Colour values:", "flags": ["--clr_str"], "description": "Colour values, e.g. 2: (184, 167, 108); 5: #9ab86c", "parameter_type": "String", "default_value": "", "optional": true}, "use_unique_clrs_for_buildings": {"name": "Use unique colours for each building?", "flags": ["--use_unique_clrs_for_buildings"], "description": "Use unique colours for each building?", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "radius": {"name": "Search Distance:", "flags": ["--radius"], "description": "Search distance used in neighbourhood search.", "parameter_type": "Float", "default_value": "", "optional": true}}}, "ColourizeBasedOnPointReturns": {"name": "ColourizeBasedOnPointReturns", "tool_name": "colourize_based_on_point_returns", "category": "LiDAR Tools", "label": "Colourize Based On Point Returns", "description": "Sets the RGB values of a LiDAR point cloud based on the point returns.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#ColourizeBasedOnPointReturns", "parameters": {"i": {"name": "Input LiDAR Points", "flags": ["-i", "--input"], "description": "Name of the input LiDAR points.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": true}, "output": {"name": "Output LiDAR Points", "flags": ["-o", "--output"], "description": "Name of the output LiDAR points.", "parameter_type": {"NewFile": "Lidar"}, "default_value": null, "optional": true}, "intensity_blending": {"name": "Intensity Blending Amount (0-100%):", "flags": ["--intensity_blending"], "description": "Intensity blending amount (0-100%).", "parameter_type": "Float", "default_value": "50.0", "optional": true}, "only": {"name": "Only Return Colour", "flags": ["--only"], "description": "Only return colour, e.g. (230,214,170), #e6d6aa, or 0xe6d6aa.", "parameter_type": "String", "default_value": "(230,214,170)", "optional": true}, "first": {"name": "First Return Colour", "flags": ["--first"], "description": "First return colour, e.g. (230,214,170), #e6d6aa, or 0xe6d6aa.", "parameter_type": "String", "default_value": "(0,140,0)", "optional": true}, "intermediate": {"name": "Intermediate Return Colour", "flags": ["--intermediate"], "description": "Intermediate return colour, e.g. (230,214,170), #e6d6aa, or 0xe6d6aa.", "parameter_type": "String", "default_value": "(255,0,255)", "optional": true}, "last": {"name": "Last Return Colour", "flags": ["--last"], "description": "Last return colour, e.g. (230,214,170), #e6d6aa, or 0xe6d6aa.", "parameter_type": "String", "default_value": "(0,0,255)", "optional": true}}}, "CompactnessRatio": {"name": "CompactnessRatio", "tool_name": "compactness_ratio", "category": "GIS Analysis", "label": "Compactness Ratio", "description": "Calculates the compactness ratio (A/P), a measure of shape complexity, for vector polygons.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/compactness_ratio.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#CompactnessRatio", "parameters": {"i": {"name": "Input Vector Polygon File", "flags": ["-i", "--input"], "description": "Input vector polygon file.", "parameter_type": {"ExistingFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}}}, "ConditionalEvaluation": {"name": "ConditionalEvaluation", "tool_name": "conditional_evaluation", "category": "Math and Stats Tools", "label": "Conditional Evaluation", "description": "Performs a conditional evaluation (if-then-else) operation on a raster.", "github": "https://github.com/jblindsay/whitebox-tools/tree/master/whitebox-plugins/src/ConditionalEvaluation/main.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#ConditionalEvaluation", "parameters": {"i": {"name": "Input Raster", "flags": ["-i", "--input"], "description": "Name of the input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "statement": {"name": "Conditional Statement e.g. value > 35.0:", "flags": ["--statement"], "description": "Conditional statement e.g. value > 35.0. This statement must be a valid Rust statement.", "parameter_type": "String", "default_value": "", "optional": false}, "true": {"name": "Value Where TRUE (Raster File Or Constant Value)", "flags": ["--true"], "description": "Value where condition evaluates TRUE (input raster or constant value).", "parameter_type": {"ExistingFileOrFloat": "Raster"}, "default_value": null, "optional": true}, "false": {"name": "Value Where FALSE (Raster File Or Constant Value)", "flags": ["--false"], "description": "Value where condition evaluates FALSE (input raster or constant value).", "parameter_type": {"ExistingFileOrFloat": "Raster"}, "default_value": null, "optional": true}, "output": {"name": "Output Raster File", "flags": ["--output"], "description": "Name of the output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "ConditionedLatinHypercube": {"name": "ConditionedLatinHypercube", "tool_name": "conditioned_latin_hypercube", "category": "Math and Stats Tools", "label": "Conditioned Latin Hypercube", "description": "Implements conditioned Latin Hypercube sampling.", "github": "https://github.com/jblindsay/whitebox-tools/tree/master/whitebox-plugins/src/ConditionedLatinHypercube/main.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#ConditionedLatinHypercube", "parameters": {"inputs": {"name": "Input Raster", "flags": ["-i", "--inputs"], "description": "Name of the input raster file", "parameter_type": {"FileList": {"ExistingFile": "Raster"}}, "default_value": null, "optional": false}, "output": {"name": "Output shapefile", "flags": ["-o", "--output"], "description": "Output shapefile", "parameter_type": {"NewFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "samples": {"name": "Number of sample sites", "flags": ["--samples"], "description": "Number of sample sites returned", "parameter_type": "Integer", "default_value": "500", "optional": true}, "iterations": {"name": "Number of resampling iterations", "flags": ["--iterations"], "description": "Maximum iterations (if stopping criteria not reached).", "parameter_type": "Integer", "default_value": "25000", "optional": true}, "seed": {"name": "RNG seed", "flags": ["--seed"], "description": "Seed for RNG consistency", "parameter_type": "Integer", "default_value": null, "optional": true}, "prob": {"name": "Random resample probability", "flags": ["--prob"], "description": "Probability of random resample or resampling worst strata between [0,1].", "parameter_type": "Float", "default_value": "0.5", "optional": true}, "threshold": {"name": "Objective function threshold.", "flags": ["--threshold"], "description": "Objective function values below the theshold stop the resampling iterations.", "parameter_type": "Float", "default_value": null, "optional": true}, "temp": {"name": "Initial annealing temperature", "flags": ["--temp"], "description": "Initial annealing temperature between [0,1].", "parameter_type": "Float", "default_value": "1.0", "optional": true}, "temp_decay": {"name": "Temperature decay factor", "flags": ["--temp_decay"], "description": "Annealing temperature decay proportion between [0,1]. Reduce temperature by this proportion each annealing cycle.", "parameter_type": "Float", "default_value": "0.05", "optional": true}, "cycle": {"name": "Annealing cycle duration", "flags": ["--cycle"], "description": "Number of iterations before decaying annealing temperature.", "parameter_type": "Integer", "default_value": "10", "optional": true}, "average": {"name": "Average the continuous Obj. Func.", "flags": ["--average"], "description": "Weight the continuous objective funtion by the 1/N contributing strata.", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "ConservativeSmoothingFilter": {"name": "ConservativeSmoothingFilter", "tool_name": "conservative_smoothing_filter", "category": "Image Processing Tools", "label": "Conservative Smoothing Filter", "description": "Performs a conservative-smoothing filter on an image.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/conservative_smoothing_filter.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#ConservativeSmoothingFilter", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "filterx": {"name": "Filter X-Dimension", "flags": ["--filterx"], "description": "Size of the filter kernel in the x-direction.", "parameter_type": "Integer", "default_value": "3", "optional": true}, "filtery": {"name": "Filter Y-Dimension", "flags": ["--filtery"], "description": "Size of the filter kernel in the y-direction.", "parameter_type": "Integer", "default_value": "3", "optional": true}}}, "ConstructVectorTin": {"name": "ConstructVectorTin", "tool_name": "construct_vector_tin", "category": "GIS Analysis", "label": "Construct Vector Tin", "description": "Creates a vector triangular irregular network (TIN) for a set of vector points.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/construct_vector_tin.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#ConstructVectorTin", "parameters": {"i": {"name": "Input Vector Points File", "flags": ["-i", "--input"], "description": "Input vector points file.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "field": {"name": "Field Name", "flags": ["--field"], "description": "Input field name in attribute table.", "parameter_type": {"VectorAttributeField": ["Number", "--input"]}, "default_value": null, "optional": true}, "use_z": {"name": "Use Shapefile 'z' values?", "flags": ["--use_z"], "description": "Use the 'z' dimension of the Shapefile's geometry instead of an attribute field?", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "output": {"name": "Output Polygon File", "flags": ["-o", "--output"], "description": "Output vector polygon file.", "parameter_type": {"NewFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}, "max_triangle_edge_length": {"name": "Maximum Triangle Edge Length (optional)", "flags": ["--max_triangle_edge_length"], "description": "Optional maximum triangle edge length; triangles larger than this size will not be gridded.", "parameter_type": "Float", "default_value": null, "optional": true}}}, "ContoursFromPoints": {"name": "ContoursFromPoints", "tool_name": "contours_from_points", "category": "Geomorphometric Analysis", "label": "Contours From Points", "description": "Creates a contour coverage from a set of input points.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/contours_from_points.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#ContoursFromPoints", "parameters": {"i": {"name": "Input Vector Points File", "flags": ["-i", "--input"], "description": "Input vector points file.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "field": {"name": "Field Name", "flags": ["--field"], "description": "Input field name in attribute table.", "parameter_type": {"VectorAttributeField": ["Number", "--input"]}, "default_value": null, "optional": true}, "use_z": {"name": "Use Shapefile 'z' values?", "flags": ["--use_z"], "description": "Use the 'z' dimension of the Shapefile's geometry instead of an attribute field?", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "output": {"name": "Output Vector Lines File", "flags": ["-o", "--output"], "description": "Output vector lines file.", "parameter_type": {"NewFile": {"Vector": "Line"}}, "default_value": null, "optional": false}, "max_triangle_edge_length": {"name": "Maximum Triangle Edge Length (optional)", "flags": ["--max_triangle_edge_length"], "description": "Optional maximum triangle edge length; triangles larger than this size will not be gridded.", "parameter_type": "Float", "default_value": null, "optional": true}, "interval": {"name": "Contour Interval", "flags": ["--interval"], "description": "Contour interval.", "parameter_type": "Float", "default_value": "10.0", "optional": false}, "base": {"name": "Base Contour", "flags": ["--base"], "description": "Base contour height.", "parameter_type": "Float", "default_value": "0.0", "optional": true}, "smooth": {"name": "Smoothing Filter Size", "flags": ["--smooth"], "description": "Smoothing filter size (in num. points), e.g. 3, 5, 7, 9, 11...", "parameter_type": "Integer", "default_value": "5", "optional": true}}}, "ContoursFromRaster": {"name": "ContoursFromRaster", "tool_name": "contours_from_raster", "category": "Geomorphometric Analysis", "label": "Contours From Raster", "description": "Derives a vector contour coverage from a raster surface.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/contours_from_raster.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#ContoursFromRaster", "parameters": {"i": {"name": "Input Raster Surface File", "flags": ["-i", "--input"], "description": "Input surface raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Contour File", "flags": ["-o", "--output"], "description": "Output vector contour file.", "parameter_type": {"NewFile": {"Vector": "Line"}}, "default_value": null, "optional": false}, "interval": {"name": "Contour Interval", "flags": ["--interval"], "description": "Contour interval.", "parameter_type": "Float", "default_value": "10.0", "optional": false}, "base": {"name": "Base Contour", "flags": ["--base"], "description": "Base contour height.", "parameter_type": "Float", "default_value": "0.0", "optional": true}, "smooth": {"name": "Smoothing Filter Size", "flags": ["--smooth"], "description": "Smoothing filter size (in num. points), e.g. 3, 5, 7, 9, 11...", "parameter_type": "Integer", "default_value": "9", "optional": true}, "tolerance": {"name": "Tolerance", "flags": ["--tolerance"], "description": "Tolerance factor, in degrees (0-45); determines generalization level.", "parameter_type": "Float", "default_value": "10.0", "optional": true}}}, "ConvertNodataToZero": {"name": "ConvertNodataToZero", "tool_name": "convert_nodata_to_zero", "category": "Data Tools", "label": "Convert Nodata To Zero", "description": "Converts nodata values in a raster to zero.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/data_tools/convert_nodata_to_zero.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/data_tools.html#ConvertNodataToZero", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "ConvertRasterFormat": {"name": "ConvertRasterFormat", "tool_name": "convert_raster_format", "category": "Data Tools", "label": "Convert Raster Format", "description": "Converts raster data from one format to another.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/data_tools/convert_raster_format.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/data_tools.html#ConvertRasterFormat", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "CornerDetection": {"name": "CornerDetection", "tool_name": "corner_detection", "category": "Image Processing Tools", "label": "Corner Detection", "description": "Identifies corner patterns in boolean images using hit-and-miss pattern matching.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/corner_detection.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#CornerDetection", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input boolean image.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "CorrectVignetting": {"name": "CorrectVignetting", "tool_name": "correct_vignetting", "category": "Image Processing Tools", "label": "Correct Vignetting", "description": "Corrects the darkening of images towards corners.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/correct_vignetting.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#CorrectVignetting", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "pp": {"name": "Input Principal Point File", "flags": ["--pp"], "description": "Input principal point file.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "focal_length": {"name": "Camera Focal Length (mm)", "flags": ["--focal_length"], "description": "Camera focal length, in millimeters.", "parameter_type": "Float", "default_value": "304.8", "optional": true}, "image_width": {"name": "Distance Between Left-Right Edges (mm)", "flags": ["--image_width"], "description": "Distance between photograph edges, in millimeters.", "parameter_type": "Float", "default_value": "228.6", "optional": true}, "n": {"name": "n Parameter", "flags": ["-n"], "description": "The 'n' parameter.", "parameter_type": "Float", "default_value": "4.0", "optional": true}}}, "Cos": {"name": "Cos", "tool_name": "cos", "category": "Math and Stats Tools", "label": "Cos", "description": "Returns the cosine (cos) of each values in a raster.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/cos.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#Cos", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "Cosh": {"name": "Cosh", "tool_name": "cosh", "category": "Math and Stats Tools", "label": "Cosh", "description": "Returns the hyperbolic cosine (cosh) of each values in a raster.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/cosh.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#Cosh", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "CostAllocation": {"name": "CostAllocation", "tool_name": "cost_allocation", "category": "GIS Analysis", "label": "Cost Allocation", "description": "Identifies the source cell to which each grid cell is connected by a least-cost pathway in a cost-distance analysis.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/cost_allocation.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#CostAllocation", "parameters": {"source": {"name": "Input Source File", "flags": ["--source"], "description": "Input source raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "backlink": {"name": "Input Backlink File", "flags": ["--backlink"], "description": "Input backlink raster file generated by the cost-distance tool.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "CostDistance": {"name": "CostDistance", "tool_name": "cost_distance", "category": "GIS Analysis", "label": "Cost Distance", "description": "Performs cost-distance accumulation on a cost surface and a group of source cells.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/cost_distance.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#CostDistance", "parameters": {"source": {"name": "Input Source File", "flags": ["--source"], "description": "Input source raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "cost": {"name": "Input Cost (Friction) File", "flags": ["--cost"], "description": "Input cost (friction) raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "out_accum": {"name": "Output Cost Accumulation File", "flags": ["--out_accum"], "description": "Output cost accumulation raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "out_backlink": {"name": "Output Backlink File", "flags": ["--out_backlink"], "description": "Output backlink raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "CostPathway": {"name": "CostPathway", "tool_name": "cost_pathway", "category": "GIS Analysis", "label": "Cost Pathway", "description": "Performs cost-distance pathway analysis using a series of destination grid cells.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/cost_pathway.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#CostPathway", "parameters": {"destination": {"name": "Input Destination File", "flags": ["--destination"], "description": "Input destination raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "backlink": {"name": "Input Backlink File", "flags": ["--backlink"], "description": "Input backlink raster file generated by the cost-distance tool.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output cost pathway raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "zero_background": {"name": "Treat zero values as background?", "flags": ["--zero_background"], "description": "Flag indicating whether zero values should be treated as a background.", "parameter_type": "Boolean", "default_value": null, "optional": false}}}, "CountIf": {"name": "CountIf", "tool_name": "count_if", "category": "GIS Analysis", "label": "Count If", "description": "Counts the number of occurrences of a specified value in a cell-stack of rasters.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/count_if.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#CountIf", "parameters": {"inputs": {"name": "Input Files", "flags": ["-i", "--inputs"], "description": "Input raster files.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "value": {"name": "Value", "flags": ["--value"], "description": "Search value (e.g. countif value = 5.0).", "parameter_type": "Float", "default_value": null, "optional": false}}}, "CreateColourComposite": {"name": "CreateColourComposite", "tool_name": "create_colour_composite", "category": "Image Processing Tools", "label": "Create Colour Composite", "description": "Creates a colour-composite image from three bands of multispectral imagery.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/create_colour_composite.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#CreateColourComposite", "parameters": {"red": {"name": "Input Red Band Image File", "flags": ["--red"], "description": "Input red band image file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "green": {"name": "Input Green Band Image File", "flags": ["--green"], "description": "Input green band image file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "blue": {"name": "Input Blue Band Image File", "flags": ["--blue"], "description": "Input blue band image file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "opacity": {"name": "Input Opacity Band Image File (Optional)", "flags": ["--opacity"], "description": "Input opacity band image file (optional).", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": true}, "output": {"name": "Output Colour Composite File", "flags": ["-o", "--output"], "description": "Output colour composite file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "enhance": {"name": "Perform balance contrast enhancement?", "flags": ["--enhance"], "description": "Optional flag indicating whether a balance contrast enhancement is performed.", "parameter_type": "Boolean", "default_value": "true", "optional": true}, "zeros": {"name": "Treat zeros as nodata?", "flags": ["--zeros"], "description": "Optional flag to indicate if zeros are nodata values.", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "CreateHexagonalVectorGrid": {"name": "CreateHexagonalVectorGrid", "tool_name": "create_hexagonal_vector_grid", "category": "GIS Analysis", "label": "Create Hexagonal Vector Grid", "description": "Creates a hexagonal vector grid.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/create_hexagonal_vector_grid.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#CreateHexagonalVectorGrid", "parameters": {"input": {"name": "Input Base File", "flags": ["-i", "--base", "--input"], "description": "Input base file.", "parameter_type": {"ExistingFile": {"RasterAndVector": "Any"}}, "default_value": null, "optional": false}, "output": {"name": "Output Polygon File", "flags": ["-o", "--output"], "description": "Output vector polygon file.", "parameter_type": {"NewFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}, "width": {"name": "Hexagon Width", "flags": ["--width"], "description": "The grid cell width.", "parameter_type": "Float", "default_value": null, "optional": false}, "orientation": {"name": "Grid Orientation", "flags": ["--orientation"], "description": "Grid Orientation, 'horizontal' or 'vertical'.", "parameter_type": {"OptionList": ["horizontal", "vertical"]}, "default_value": "horizontal", "optional": true}}}, "CreatePlane": {"name": "CreatePlane", "tool_name": "create_plane", "category": "GIS Analysis", "label": "Create Plane", "description": "Creates a raster image based on the equation for a simple plane.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/create_plane.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#CreatePlane", "parameters": {"base": {"name": "Input Base File", "flags": ["--base"], "description": "Input base raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "gradient": {"name": "Gradient", "flags": ["--gradient"], "description": "Slope gradient in degrees (-85.0 to 85.0).", "parameter_type": "Float", "default_value": "15.0", "optional": false}, "aspect": {"name": "Aspect", "flags": ["--aspect"], "description": "Aspect (direction) in degrees clockwise from north (0.0-360.0).", "parameter_type": "Float", "default_value": "90.0", "optional": false}, "constant": {"name": "Constant", "flags": ["--constant"], "description": "Constant value.", "parameter_type": "Float", "default_value": "0.0", "optional": false}}}, "CreateRectangularVectorGrid": {"name": "CreateRectangularVectorGrid", "tool_name": "create_rectangular_vector_grid", "category": "GIS Analysis", "label": "Create Rectangular Vector Grid", "description": "Creates a rectangular vector grid.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/create_rectangular_vector_grid.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#CreateRectangularVectorGrid", "parameters": {"input": {"name": "Input Base File", "flags": ["-i", "--base", "--input"], "description": "Input base file.", "parameter_type": {"ExistingFile": {"RasterAndVector": "Any"}}, "default_value": null, "optional": false}, "output": {"name": "Output Polygon File", "flags": ["-o", "--output"], "description": "Output vector polygon file.", "parameter_type": {"NewFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}, "width": {"name": "Grid Cell Width", "flags": ["--width"], "description": "The grid cell width.", "parameter_type": "Float", "default_value": null, "optional": false}, "height": {"name": "Grid Cell Height", "flags": ["--height"], "description": "The grid cell height.", "parameter_type": "Float", "default_value": null, "optional": false}, "xorig": {"name": "Grid origin x-coordinate", "flags": ["--xorig"], "description": "The grid origin x-coordinate.", "parameter_type": "Float", "default_value": "0", "optional": true}, "yorig": {"name": "Grid origin y-coordinate", "flags": ["--yorig"], "description": "The grid origin y-coordinate.", "parameter_type": "Float", "default_value": "0", "optional": true}}}, "CrispnessIndex": {"name": "CrispnessIndex", "tool_name": "crispness_index", "category": "Math and Stats Tools", "label": "Crispness Index", "description": "Calculates the Crispness Index, which is used to quantify how crisp (or conversely how fuzzy) a probability image is.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/crispness_index.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#CrispnessIndex", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output HTML File", "flags": ["-o", "--output"], "description": "Optional output html file (default name will be based on input file if unspecified).", "parameter_type": {"NewFile": "Html"}, "default_value": null, "optional": true}}}, "CrossTabulation": {"name": "CrossTabulation", "tool_name": "cross_tabulation", "category": "Math and Stats Tools", "label": "Cross Tabulation", "description": "Performs a cross-tabulation on two categorical images.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/cross_tabulation.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#CrossTabulation", "parameters": {"input1": {"name": "Input File 1", "flags": ["--i1", "--input1"], "description": "Input raster file 1.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "input2": {"name": "Input File 2", "flags": ["--i2", "--input2"], "description": "Input raster file 1.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output HTML File", "flags": ["-o", "--output"], "description": "Output HTML file (default name will be based on input file if unspecified).", "parameter_type": {"NewFile": "Html"}, "default_value": null, "optional": false}}}, "CsvPointsToVector": {"name": "CsvPointsToVector", "tool_name": "csv_points_to_vector", "category": "Data Tools", "label": "Csv Points To Vector", "description": "Converts a CSV text file to vector points.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/data_tools/csv_points_to_vector.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/data_tools.html#CsvPointsToVector", "parameters": {"i": {"name": "Input CSV File", "flags": ["-i", "--input"], "description": "Input CSV file (i.e. source of data to be imported).", "parameter_type": {"ExistingFile": "Csv"}, "default_value": null, "optional": false}, "output": {"name": "Output Vector File", "flags": ["-o", "--output"], "description": "Output vector file.", "parameter_type": {"NewFile": {"Vector": "Any"}}, "default_value": null, "optional": false}, "xfield": {"name": "X Field Number (zero-based)", "flags": ["--xfield"], "description": "X field number (e.g. 0 for first field).", "parameter_type": "Integer", "default_value": "0", "optional": true}, "yfield": {"name": "Y Field Number (zero-based)", "flags": ["--yfield"], "description": "Y field number (e.g. 1 for second field).", "parameter_type": "Integer", "default_value": "1", "optional": true}, "epsg": {"name": "EPSG Projection", "flags": ["--epsg"], "description": "EPSG projection (e.g. 2958).", "parameter_type": "Integer", "default_value": null, "optional": true}}}, "CumulativeDistribution": {"name": "CumulativeDistribution", "tool_name": "cumulative_distribution", "category": "Math and Stats Tools", "label": "Cumulative Distribution", "description": "Converts a raster image to its cumulative distribution function.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/cumulative_dist.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#CumulativeDistribution", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "Curvedness": {"name": "Curvedness", "tool_name": "curvedness", "category": "Geomorphometric Analysis", "label": "Curvedness", "description": "This tool calculates curvedness from an input DEM.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#Curvedness", "parameters": {"dem": {"name": "Input Raster DEM", "flags": ["-i", "--dem"], "description": "Name of the input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster Image", "flags": ["-o", "--output"], "description": "Name of the output raster image file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "log": {"name": "Log-transform the output?", "flags": ["--log"], "description": "Display output values using a log-scale.", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "zfactor": {"name": "Z-factor", "flags": ["--zfactor"], "description": "Z conversion factor.", "parameter_type": "Float", "default_value": "1.0", "optional": true}}}, "D8FlowAccumulation": {"name": "D8FlowAccumulation", "tool_name": "d8_flow_accumulation", "category": "Hydrological Analysis", "label": "D8 Flow Accumulation", "description": "Calculates a D8 flow accumulation raster from an input DEM or flow pointer.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/d8_flow_accum.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#D8FlowAccumulation", "parameters": {"i": {"name": "Input DEM or D8 Pointer File", "flags": ["-i", "--input"], "description": "Input raster DEM or D8 pointer file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "out_type": {"name": "Output Type", "flags": ["--out_type"], "description": "Output type; one of 'cells' (default), 'catchment area', and 'specific contributing area'.", "parameter_type": {"OptionList": ["cells", "catchment area", "specific contributing area"]}, "default_value": "cells", "optional": true}, "log": {"name": "Log-transform the output?", "flags": ["--log"], "description": "Optional flag to request the output be log-transformed.", "parameter_type": "Boolean", "default_value": null, "optional": true}, "clip": {"name": "Clip the upper tail by 1%?", "flags": ["--clip"], "description": "Optional flag to request clipping the display max by 1%.", "parameter_type": "Boolean", "default_value": null, "optional": true}, "pntr": {"name": "Is the input raster a D8 flow pointer?", "flags": ["--pntr"], "description": "Is the input raster a D8 flow pointer rather than a DEM?", "parameter_type": "Boolean", "default_value": null, "optional": true}, "esri_pntr": {"name": "If a pointer is input, does it use the ESRI pointer scheme?", "flags": ["--esri_pntr"], "description": "Input D8 pointer uses the ESRI style scheme.", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "D8MassFlux": {"name": "D8MassFlux", "tool_name": "d8_mass_flux", "category": "Hydrological Analysis", "label": "D8 Mass Flux", "description": "Performs a D8 mass flux calculation.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/d8_mass_flux.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#D8MassFlux", "parameters": {"dem": {"name": "Input DEM File", "flags": ["--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "loading": {"name": "Input Loading File", "flags": ["--loading"], "description": "Input loading raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "efficiency": {"name": "Input Efficiency File", "flags": ["--efficiency"], "description": "Input efficiency raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "absorption": {"name": "Input Absorption File", "flags": ["--absorption"], "description": "Input absorption raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "D8Pointer": {"name": "D8Pointer", "tool_name": "d8_pointer", "category": "Hydrological Analysis", "label": "D8 Pointer", "description": "Calculates a D8 flow pointer raster from an input DEM.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/d8_pointer.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#D8Pointer", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "esri_pntr": {"name": "Should the pointer file use the ESRI pointer scheme?", "flags": ["--esri_pntr"], "description": "D8 pointer uses the ESRI style scheme.", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "DInfFlowAccumulation": {"name": "DInfFlowAccumulation", "tool_name": "d_inf_flow_accumulation", "category": "Hydrological Analysis", "label": "D Inf Flow Accumulation", "description": "Calculates a D-infinity flow accumulation raster from an input DEM.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/dinf_flow_accum.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#DInfFlowAccumulation", "parameters": {"i": {"name": "Input DEM or D-inf Pointer File", "flags": ["-i", "--input"], "description": "Input raster DEM or D-infinity pointer file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "out_type": {"name": "Output Type", "flags": ["--out_type"], "description": "Output type; one of 'cells', 'sca' (default), and 'ca'.", "parameter_type": {"OptionList": ["Cells", "Specific Contributing Area", "Catchment Area"]}, "default_value": "Specific Contributing Area", "optional": true}, "threshold": {"name": "Convergence Threshold (grid cells; blank for none)", "flags": ["--threshold"], "description": "Optional convergence threshold parameter, in grid cells; default is infinity.", "parameter_type": "Float", "default_value": null, "optional": true}, "log": {"name": "Log-transform the output?", "flags": ["--log"], "description": "Optional flag to request the output be log-transformed.", "parameter_type": "Boolean", "default_value": null, "optional": true}, "clip": {"name": "Clip the upper tail by 1%?", "flags": ["--clip"], "description": "Optional flag to request clipping the display max by 1%.", "parameter_type": "Boolean", "default_value": null, "optional": true}, "pntr": {"name": "Is the input raster a D-inf flow pointer?", "flags": ["--pntr"], "description": "Is the input raster a D-infinity flow pointer rather than a DEM?", "parameter_type": "Boolean", "default_value": null, "optional": true}}}, "DInfMassFlux": {"name": "DInfMassFlux", "tool_name": "d_inf_mass_flux", "category": "Hydrological Analysis", "label": "D Inf Mass Flux", "description": "Performs a D-infinity mass flux calculation.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/dinf_mass_flux.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#DInfMassFlux", "parameters": {"dem": {"name": "Input DEM File", "flags": ["--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "loading": {"name": "Input Loading File", "flags": ["--loading"], "description": "Input loading raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "efficiency": {"name": "Input Efficiency File", "flags": ["--efficiency"], "description": "Input efficiency raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "absorption": {"name": "Input Absorption File", "flags": ["--absorption"], "description": "Input absorption raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "DInfPointer": {"name": "DInfPointer", "tool_name": "d_inf_pointer", "category": "Hydrological Analysis", "label": "D Inf Pointer", "description": "Calculates a D-infinity flow pointer (flow direction) raster from an input DEM.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/dinf_pointer.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#DInfPointer", "parameters": {"dem": {"name": "Input File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "Dbscan": {"name": "Dbscan", "tool_name": "dbscan", "category": "Machine Learning", "label": "Dbscan", "description": "Performs a DBSCAN-based unsupervised clustering operation.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/machine_learning.html#Dbscan", "parameters": {"inputs": {"name": "Input Rasters", "flags": ["-i", "--inputs"], "description": "Names of the input rasters.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "scaling": {"name": "Scaling Method", "flags": ["--scaling"], "description": "Scaling method for predictors. Options include 'None', 'Normalize', and 'Standardize'", "parameter_type": {"OptionList": ["None", "Normalize", "Standardize"]}, "default_value": "Normalize", "optional": true}, "output": {"name": "Output Raster File", "flags": ["-o", "--output"], "description": "Name of the output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "search_dist": {"name": "Search distance", "flags": ["--search_dist"], "description": "Search-distance parameter.", "parameter_type": "Float", "default_value": "0.01", "optional": true}, "min_points": {"name": "Minimum Points", "flags": ["--min_points"], "description": "Minimum point density needed to define 'core' point in cluster.", "parameter_type": "Integer", "default_value": "5", "optional": true}}}, "Decrement": {"name": "Decrement", "tool_name": "decrement", "category": "Math and Stats Tools", "label": "Decrement", "description": "Decreases the values of each grid cell in an input raster by 1.0 (see also InPlaceSubtract).", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/decrement.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#Decrement", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "DemVoidFilling": {"name": "DemVoidFilling", "tool_name": "dem_void_filling", "category": "Geomorphometric Analysis", "label": "Dem Void Filling", "description": "This tool can be used to fill the void areas of a DEM using another fill DEM data set.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#DemVoidFilling", "parameters": {"dem": {"name": "Input DEM", "flags": ["--dem"], "description": "Name of the input raster DEM file, containing the void areas.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "fill": {"name": "Input Fill DEM", "flags": ["--fill"], "description": "Name of the input fill DEM file, containing the values used to fill the void areas in the other DEM.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output DEM", "flags": ["-o", "--output"], "description": "Name of the output void-filled DEM file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "mean_plane_dist": {"name": "Mean-Plane Distance (in grid cells)", "flags": ["--mean_plane_dist"], "description": "Distance to void edge at which the mean-plane value is used as an offset, measured in grid cells.", "parameter_type": "Integer", "default_value": "20", "optional": true}, "edge_treatment": {"name": "Void-Edge Treatment", "flags": ["--edge_treatment"], "description": "How should void-edge cells be treated? Options include 'use DEM' (default), 'use Fill', 'average'.", "parameter_type": {"OptionList": ["use DEM", "use fill", "average"]}, "default_value": "use DEM", "optional": true}, "weight_value": {"name": "Interpolation Weight", "flags": ["--weight_value"], "description": "Weight value used for IDW interpolation (default is 2.0).", "parameter_type": "Float", "default_value": "2.0", "optional": true}}}, "DepthInSink": {"name": "DepthInSink", "tool_name": "depth_in_sink", "category": "Hydrological Analysis", "label": "Depth In Sink", "description": "Measures the depth of sinks (depressions) in a DEM.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/depth_in_sink.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#DepthInSink", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "zero_background": {"name": "Should a background value of zero be used?", "flags": ["--zero_background"], "description": "Flag indicating whether the background value of zero should be used.", "parameter_type": "Boolean", "default_value": null, "optional": true}}}, "DepthToWater": {"name": "DepthToWater", "tool_name": "depth_to_water", "category": "Hydrological Analysis", "label": "Depth To Water", "description": "This tool calculates cartographic depth-to-water (DTW) index.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#DepthToWater", "parameters": {"dem": {"name": "Input Raster DEM", "flags": ["--dem"], "description": "Name of the input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "streams": {"name": "Input Streams Vector", "flags": ["--streams"], "description": "Name of the input streams vector (optional).", "parameter_type": {"ExistingFile": {"Vector": "Line"}}, "default_value": null, "optional": true}, "lakes": {"name": "Input Lakes Vector", "flags": ["--lakes"], "description": "Name of the input lakes vector (optional).", "parameter_type": {"ExistingFile": {"Vector": "Polygon"}}, "default_value": null, "optional": true}, "output": {"name": "Output Raster Image", "flags": ["-o", "--output"], "description": "Name of the output raster image file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "DevFromMeanElev": {"name": "DevFromMeanElev", "tool_name": "dev_from_mean_elev", "category": "Geomorphometric Analysis", "label": "Dev From Mean Elev", "description": "Calculates deviation from mean elevation.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/dev_from_mean_elev.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#DevFromMeanElev", "parameters": {"dem": {"name": "Input File", "flags": ["-i", "--input", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "filterx": {"name": "Filter X-Dimension", "flags": ["--filterx"], "description": "Size of the filter kernel in the x-direction.", "parameter_type": "Integer", "default_value": "11", "optional": true}, "filtery": {"name": "Filter Y-Dimension", "flags": ["--filtery"], "description": "Size of the filter kernel in the y-direction.", "parameter_type": "Integer", "default_value": "11", "optional": true}}}, "DiffFromMeanElev": {"name": "DiffFromMeanElev", "tool_name": "diff_from_mean_elev", "category": "Geomorphometric Analysis", "label": "Diff From Mean Elev", "description": "Calculates difference from mean elevation (equivalent to a high-pass filter).", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/diff_from_mean_elev.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#DiffFromMeanElev", "parameters": {"dem": {"name": "Input File", "flags": ["-i", "--input", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "filterx": {"name": "Filter X-Dimension", "flags": ["--filterx"], "description": "Size of the filter kernel in the x-direction.", "parameter_type": "Integer", "default_value": "11", "optional": true}, "filtery": {"name": "Filter Y-Dimension", "flags": ["--filtery"], "description": "Size of the filter kernel in the y-direction.", "parameter_type": "Integer", "default_value": "11", "optional": true}}}, "DiffOfGaussianFilter": {"name": "DiffOfGaussianFilter", "tool_name": "diff_of_gaussian_filter", "category": "Image Processing Tools", "label": "Diff Of Gaussian Filter", "description": "Performs a Difference of Gaussian (DoG) filter on an image.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/dog_filter.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#DiffOfGaussianFilter", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "sigma1": {"name": "Sigma 1 (pixels)", "flags": ["--sigma1"], "description": "Standard deviation distance in pixels.", "parameter_type": "Float", "default_value": "2.0", "optional": true}, "sigma2": {"name": "Sigma 2 (pixels)", "flags": ["--sigma2"], "description": "Standard deviation distance in pixels.", "parameter_type": "Float", "default_value": "4.0", "optional": true}}}, "Difference": {"name": "Difference", "tool_name": "difference", "category": "GIS Analysis", "label": "Difference", "description": "Outputs the features that occur in one of the two vector inputs but not both, i.e. no overlapping features.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/difference.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#Difference", "parameters": {"i": {"name": "Input Vector File", "flags": ["-i", "--input"], "description": "Input vector file.", "parameter_type": {"ExistingFile": {"Vector": "Any"}}, "default_value": null, "optional": false}, "overlay": {"name": "Input Overlay Vector File", "flags": ["--overlay"], "description": "Input overlay vector file.", "parameter_type": {"ExistingFile": {"Vector": "Any"}}, "default_value": null, "optional": false}, "output": {"name": "Output Vector File", "flags": ["-o", "--output"], "description": "Output vector file.", "parameter_type": {"NewFile": {"Vector": "Any"}}, "default_value": null, "optional": false}}}, "DifferenceCurvature": {"name": "DifferenceCurvature", "tool_name": "difference_curvature", "category": "Geomorphometric Analysis", "label": "Difference Curvature", "description": "This tool calculates difference curvature from an input DEM.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#DifferenceCurvature", "parameters": {"dem": {"name": "Input Raster DEM", "flags": ["-i", "--dem"], "description": "Name of the input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster Image", "flags": ["-o", "--output"], "description": "Name of the output raster image file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "log": {"name": "Log-transform the output?", "flags": ["--log"], "description": "Display output values using a log-scale.", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "zfactor": {"name": "Z-factor", "flags": ["--zfactor"], "description": "Z conversion factor.", "parameter_type": "Float", "default_value": "1.0", "optional": true}}}, "DirectDecorrelationStretch": {"name": "DirectDecorrelationStretch", "tool_name": "direct_decorrelation_stretch", "category": "Image Processing Tools", "label": "Direct Decorrelation Stretch", "description": "Performs a direct decorrelation stretch enhancement on a colour-composite image of multispectral data.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/direct_decorrelation_stretch.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#DirectDecorrelationStretch", "parameters": {"i": {"name": "Input Colour Composite Image File", "flags": ["-i", "--input"], "description": "Input colour composite image file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "k": {"name": "Achromatic Factor (0-1)", "flags": ["-k"], "description": "Achromatic factor (k) ranges between 0 (no effect) and 1 (full saturation stretch), although typical values range from 0.3 to 0.7.", "parameter_type": "Float", "default_value": "0.5", "optional": true}, "clip": {"name": "Percent to clip the upper tail", "flags": ["--clip"], "description": "Optional percent to clip the upper tail by during the stretch.", "parameter_type": "Float", "default_value": "1.0", "optional": true}}}, "DirectionalRelief": {"name": "DirectionalRelief", "tool_name": "directional_relief", "category": "Geomorphometric Analysis", "label": "Directional Relief", "description": "Calculates relief for cells in an input DEM for a specified direction.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/directional_relief.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#DirectionalRelief", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "azimuth": {"name": "Azimuth", "flags": ["--azimuth"], "description": "Wind azimuth in degrees.", "parameter_type": "Float", "default_value": "0.0", "optional": false}, "max_dist": {"name": "Maximum Search Distance", "flags": ["--max_dist"], "description": "Optional maximum search distance (unspecified if none; in xy units).", "parameter_type": "Float", "default_value": null, "optional": true}}}, "Dissolve": {"name": "Dissolve", "tool_name": "dissolve", "category": "GIS Analysis", "label": "Dissolve", "description": "Removes the interior, or shared, boundaries within a vector polygon coverage.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/dissolve.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#Dissolve", "parameters": {"i": {"name": "Input Vector File", "flags": ["-i", "--input"], "description": "Input vector file.", "parameter_type": {"ExistingFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}, "field": {"name": "Dissolve Field Attribute", "flags": ["--field"], "description": "Dissolve field attribute (optional).", "parameter_type": {"VectorAttributeField": ["Any", "--input"]}, "default_value": null, "optional": true}, "output": {"name": "Output Vector File", "flags": ["-o", "--output"], "description": "Output vector file.", "parameter_type": {"NewFile": {"Vector": "Any"}}, "default_value": null, "optional": false}, "snap": {"name": "Snap Tolerance", "flags": ["--snap"], "description": "Snap tolerance.", "parameter_type": "Float", "default_value": "0.0", "optional": true}}}, "DistanceToOutlet": {"name": "DistanceToOutlet", "tool_name": "distance_to_outlet", "category": "Stream Network Analysis", "label": "Distance To Outlet", "description": "Calculates the distance of stream grid cells to the channel network outlet cell.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/stream_network_analysis/dist_to_outlet.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/stream_network_analysis.html#DistanceToOutlet", "parameters": {"d8_pntr": {"name": "Input D8 Pointer File", "flags": ["--d8_pntr"], "description": "Input raster D8 pointer file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "streams": {"name": "Input Streams File", "flags": ["--streams"], "description": "Input raster streams file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "esri_pntr": {"name": "Does the pointer file use the ESRI pointer scheme?", "flags": ["--esri_pntr"], "description": "D8 pointer uses the ESRI style scheme.", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "zero_background": {"name": "Should a background value of zero be used?", "flags": ["--zero_background"], "description": "Flag indicating whether a background value of zero should be used.", "parameter_type": "Boolean", "default_value": null, "optional": true}}}, "DiversityFilter": {"name": "DiversityFilter", "tool_name": "diversity_filter", "category": "Image Processing Tools", "label": "Diversity Filter", "description": "Assigns each cell in the output grid the number of different values in a moving window centred on each grid cell in the input raster.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/diversity_filter.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#DiversityFilter", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "filterx": {"name": "Filter X-Dimension", "flags": ["--filterx"], "description": "Size of the filter kernel in the x-direction.", "parameter_type": "Integer", "default_value": "11", "optional": true}, "filtery": {"name": "Filter Y-Dimension", "flags": ["--filtery"], "description": "Size of the filter kernel in the y-direction.", "parameter_type": "Integer", "default_value": "11", "optional": true}}}, "Divide": {"name": "Divide", "tool_name": "divide", "category": "Math and Stats Tools", "label": "Divide", "description": "Performs a division operation on two rasters or a raster and a constant value.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/divide.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#Divide", "parameters": {"input1": {"name": "Input File Or Constant Value", "flags": ["--input1"], "description": "Input raster file or constant value.", "parameter_type": {"ExistingFileOrFloat": "Raster"}, "default_value": null, "optional": false}, "input2": {"name": "Input File Or Constant Value", "flags": ["--input2"], "description": "Input raster file or constant value.", "parameter_type": {"ExistingFileOrFloat": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "DownslopeDistanceToStream": {"name": "DownslopeDistanceToStream", "tool_name": "downslope_distance_to_stream", "category": "Hydrological Analysis", "label": "Downslope Distance To Stream", "description": "Measures distance to the nearest downslope stream cell.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/downslope_distance_to_stream.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#DownslopeDistanceToStream", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "streams": {"name": "Input Streams File", "flags": ["--streams"], "description": "Input raster streams file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "dinf": {"name": "Use the D-infinity flow algorithm instead of D8?", "flags": ["--dinf"], "description": "Use the D-infinity flow algorithm instead of D8?", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "DownslopeFlowpathLength": {"name": "DownslopeFlowpathLength", "tool_name": "downslope_flowpath_length", "category": "Hydrological Analysis", "label": "Downslope Flowpath Length", "description": "Calculates the downslope flowpath length from each cell to basin outlet.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/downslope_flowpath_length.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#DownslopeFlowpathLength", "parameters": {"d8_pntr": {"name": "Input D8 Pointer File", "flags": ["--d8_pntr"], "description": "Input D8 pointer raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "watersheds": {"name": "Input Watersheds File (optional)", "flags": ["--watersheds"], "description": "Optional input watershed raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": true}, "weights": {"name": "Input Weights File (optional)", "flags": ["--weights"], "description": "Optional input weights raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": true}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "esri_pntr": {"name": "Does the pointer file use the ESRI pointer scheme?", "flags": ["--esri_pntr"], "description": "D8 pointer uses the ESRI style scheme.", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "DownslopeIndex": {"name": "DownslopeIndex", "tool_name": "downslope_index", "category": "Geomorphometric Analysis", "label": "Downslope Index", "description": "Calculates the Hjerdt et al. (2004) downslope index.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/downslope_index.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#DownslopeIndex", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "drop": {"name": "Verical Drop", "flags": ["--drop"], "description": "Vertical drop value (default is 2.0).", "parameter_type": "Float", "default_value": "2.0", "optional": false}, "out_type": {"name": "Output Type", "flags": ["--out_type"], "description": "Output type, options include 'tangent', 'degrees', 'radians', 'distance' (default is 'tangent').", "parameter_type": {"OptionList": ["tangent", "degrees", "radians", "distance"]}, "default_value": "tangent", "optional": true}}}, "EdgeContamination": {"name": "EdgeContamination", "tool_name": "edge_contamination", "category": "Hydrological Analysis", "label": "Edge Contamination", "description": "Identifies grid cells within an input DEM that may be impacted by edge contamination for hydrological applications.", "github": "https://github.com/jblindsay/whitebox-tools/tree/master/whitebox-plugins/src/EdgeContamination/main.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#EdgeContamination", "parameters": {"dem": {"name": "Input DEM Raster", "flags": ["-d", "--dem"], "description": "Name of the input DEM raster file; must be depressionless.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster File", "flags": ["-o", "--output"], "description": "Name of the output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "flow_type": {"name": "Flow Type", "flags": ["--flow_type"], "description": "Flow algorithm type, one of 'd8', 'mfd', or 'dinf'", "parameter_type": {"OptionList": ["d8", "mfd", "dinf"]}, "default_value": "mfd", "optional": true}, "zfactor": {"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": "", "optional": true}}}, "EdgeDensity": {"name": "EdgeDensity", "tool_name": "edge_density", "category": "Geomorphometric Analysis", "label": "Edge Density", "description": "Calculates the density of edges, or breaks-in-slope within DEMs.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/edge_density.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#EdgeDensity", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "filter": {"name": "Filter Size", "flags": ["--filter"], "description": "Size of the filter kernel.", "parameter_type": "Integer", "default_value": "11", "optional": true}, "norm_diff": {"name": "Normal Difference Threshold", "flags": ["--norm_diff"], "description": "Maximum difference in normal vectors, in degrees.", "parameter_type": "Float", "default_value": "5.0", "optional": true}, "zfactor": {"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}}}, "EdgePreservingMeanFilter": {"name": "EdgePreservingMeanFilter", "tool_name": "edge_preserving_mean_filter", "category": "Image Processing Tools", "label": "Edge Preserving Mean Filter", "description": "Performs a simple edge-preserving mean filter on an input image.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/edge_preserving_mean_filter.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#EdgePreservingMeanFilter", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "filter": {"name": "Filter Size", "flags": ["--filter"], "description": "Size of the filter kernel.", "parameter_type": "Integer", "default_value": "11", "optional": true}, "threshold": {"name": "Value Difference Threshold", "flags": ["--threshold"], "description": "Maximum difference in values.", "parameter_type": "Float", "default_value": null, "optional": false}}}, "EdgeProportion": {"name": "EdgeProportion", "tool_name": "edge_proportion", "category": "GIS Analysis", "label": "Edge Proportion", "description": "Calculate the proportion of cells in a raster polygon that are edge cells.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/edge_proportion.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#EdgeProportion", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "output_text": {"name": "Output a text report?", "flags": ["--output_text"], "description": "flag indicating whether a text report should also be output.", "parameter_type": "Boolean", "default_value": null, "optional": true}}}, "ElevAbovePit": {"name": "ElevAbovePit", "tool_name": "elev_above_pit", "category": "Geomorphometric Analysis", "label": "Elev Above Pit", "description": "Calculate the elevation of each grid cell above the nearest downstream pit cell or grid edge cell.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/elev_above_pit.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#ElevAbovePit", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "ElevPercentile": {"name": "ElevPercentile", "tool_name": "elev_percentile", "category": "Geomorphometric Analysis", "label": "Elev Percentile", "description": "Calculates the elevation percentile raster from a DEM.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/elev_percentile.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#ElevPercentile", "parameters": {"dem": {"name": "Input File", "flags": ["-i", "--input", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "filterx": {"name": "Filter X-Dimension", "flags": ["--filterx"], "description": "Size of the filter kernel in the x-direction.", "parameter_type": "Integer", "default_value": "11", "optional": true}, "filtery": {"name": "Filter Y-Dimension", "flags": ["--filtery"], "description": "Size of the filter kernel in the y-direction.", "parameter_type": "Integer", "default_value": "11", "optional": true}, "sig_digits": {"name": "Number of Significant Digits", "flags": ["--sig_digits"], "description": "Number of significant digits.", "parameter_type": "Integer", "default_value": "2", "optional": true}}}, "ElevRelativeToMinMax": {"name": "ElevRelativeToMinMax", "tool_name": "elev_relative_to_min_max", "category": "Geomorphometric Analysis", "label": "Elev Relative To Min Max", "description": "Calculates the elevation of a location relative to the minimum and maximum elevations in a DEM.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/elev_relative_to_min_max.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#ElevRelativeToMinMax", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "ElevRelativeToWatershedMinMax": {"name": "ElevRelativeToWatershedMinMax", "tool_name": "elev_relative_to_watershed_min_max", "category": "Geomorphometric Analysis", "label": "Elev Relative To Watershed Min Max", "description": "Calculates the elevation of a location relative to the minimum and maximum elevations in a watershed.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/elev_relative_to_watershed_min_max.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#ElevRelativeToWatershedMinMax", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "watersheds": {"name": "Input Watersheds File", "flags": ["--watersheds"], "description": "Input raster watersheds file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "ElevationAboveStream": {"name": "ElevationAboveStream", "tool_name": "elevation_above_stream", "category": "Hydrological Analysis", "label": "Elevation Above Stream", "description": "Calculates the elevation of cells above the nearest downslope stream cell.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/elevation_above_stream.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#ElevationAboveStream", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "streams": {"name": "Input Streams File", "flags": ["--streams"], "description": "Input raster streams file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "ElevationAboveStreamEuclidean": {"name": "ElevationAboveStreamEuclidean", "tool_name": "elevation_above_stream_euclidean", "category": "Hydrological Analysis", "label": "Elevation Above Stream Euclidean", "description": "Calculates the elevation of cells above the nearest (Euclidean distance) stream cell.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/elevation_above_stream_euclidean.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#ElevationAboveStreamEuclidean", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "streams": {"name": "Input Streams File", "flags": ["--streams"], "description": "Input raster streams file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "EliminateCoincidentPoints": {"name": "EliminateCoincidentPoints", "tool_name": "eliminate_coincident_points", "category": "GIS Analysis", "label": "Eliminate Coincident Points", "description": "Removes any coincident, or nearly coincident, points from a vector points file.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/eliminate_coincident_points.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#EliminateCoincidentPoints", "parameters": {"i": {"name": "Input Vector File", "flags": ["-i", "--input"], "description": "Input vector file.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "output": {"name": "Output Points File", "flags": ["-o", "--output"], "description": "Output vector points file.", "parameter_type": {"NewFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "tolerance": {"name": "Distance Tolerance", "flags": ["--tolerance"], "description": "The distance tolerance for points.", "parameter_type": "Float", "default_value": null, "optional": false}}}, "ElongationRatio": {"name": "ElongationRatio", "tool_name": "elongation_ratio", "category": "GIS Analysis", "label": "Elongation Ratio", "description": "Calculates the elongation ratio for vector polygons.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/elongation_ratio.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#ElongationRatio", "parameters": {"i": {"name": "Input Vector Polygon File", "flags": ["-i", "--input"], "description": "Input vector polygon file.", "parameter_type": {"ExistingFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}}}, "EmbankmentMapping": {"name": "EmbankmentMapping", "tool_name": "embankment_mapping", "category": "Geomorphometric Analysis", "label": "Embankment Mapping", "description": "Maps and/or removes road embankments from an input fine-resolution DEM.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/embankment_mapping.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#EmbankmentMapping", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "road_vec": {"name": "Input Vector Transportation Line File", "flags": ["--road_vec"], "description": "Input vector polygons file.", "parameter_type": {"ExistingFile": {"Vector": "Line"}}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "search_dist": {"name": "Search Distance (in map units)", "flags": ["--search_dist"], "description": "Search distance used to reposition transportation vectors onto road embankments (in map units).", "parameter_type": "Float", "default_value": "2.5", "optional": false}, "min_road_width": {"name": "Minimum Road Width (in map units)", "flags": ["--min_road_width"], "description": "Minimum road width; this is the width of the paved road surface (in map units).", "parameter_type": "Float", "default_value": "6.0", "optional": false}, "typical_width": {"name": "Typical Embankment Width (in map units)", "flags": ["--typical_width"], "description": "Typical embankment width; this is the maximum width of an embankment with roadside ditches (in map units).", "parameter_type": "Float", "default_value": "30.0", "optional": false}, "max_height": {"name": "Typical Embankment Max Height (in map units)", "flags": ["--max_height"], "description": "Typical embankment maximum height; this is the height a typical embankment with roadside ditches (in map units).", "parameter_type": "Float", "default_value": "2.0", "optional": false}, "max_width": {"name": "Embankment Max Width (in map units)", "flags": ["--max_width"], "description": "Maximum embankment width, typically where embankments traverse steep-sided valleys (in map units).", "parameter_type": "Float", "default_value": "60.0", "optional": false}, "max_increment": {"name": "Max Upwards Increment (in elevation units)", "flags": ["--max_increment"], "description": "Maximum upwards increment between neighbouring cells on an embankment (in elevation units).", "parameter_type": "Float", "default_value": "0.05", "optional": false}, "spillout_slope": {"name": "Spillout Slope (in map units)", "flags": ["--spillout_slope"], "description": "Spillout slope (in degrees).", "parameter_type": "Float", "default_value": "4.0", "optional": false}, "remove_embankments": {"name": "Remove mapped embankments?", "flags": ["--remove_embankments"], "description": "Optional flag indicating whether to output a DEM with embankments removed (true) or an embankment raster map (false).", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "EmbossFilter": {"name": "EmbossFilter", "tool_name": "emboss_filter", "category": "Image Processing Tools", "label": "Emboss Filter", "description": "Performs an emboss filter on an image, similar to a hillshade operation.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/emboss_filter.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#EmbossFilter", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "direction": {"name": "Direction", "flags": ["--direction"], "description": "Direction of reflection; options include 'n', 's', 'e', 'w', 'ne', 'se', 'nw', 'sw'", "parameter_type": {"OptionList": ["n", "s", "e", "w", "ne", "se", "nw", "sw"]}, "default_value": "n", "optional": true}, "clip": {"name": "Percent to clip the distribution tails", "flags": ["--clip"], "description": "Optional amount to clip the distribution tails by, in percent.", "parameter_type": "Float", "default_value": "0.0", "optional": true}}}, "EqualTo": {"name": "EqualTo", "tool_name": "equal_to", "category": "Math and Stats Tools", "label": "Equal To", "description": "Performs a equal-to comparison operation on two rasters or a raster and a constant value.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/equal_to.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#EqualTo", "parameters": {"input1": {"name": "Input File Or Constant Value", "flags": ["--input1"], "description": "Input raster file or constant value.", "parameter_type": {"ExistingFileOrFloat": "Raster"}, "default_value": null, "optional": false}, "input2": {"name": "Input File Or Constant Value", "flags": ["--input2"], "description": "Input raster file or constant value.", "parameter_type": {"ExistingFileOrFloat": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "Erase": {"name": "Erase", "tool_name": "erase", "category": "GIS Analysis", "label": "Erase", "description": "Removes all the features, or parts of features, that overlap with the features of the erase vector polygon.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/erase.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#Erase", "parameters": {"i": {"name": "Input Vector File", "flags": ["-i", "--input"], "description": "Input vector file.", "parameter_type": {"ExistingFile": {"Vector": "Any"}}, "default_value": null, "optional": false}, "erase": {"name": "Input Erase Polygon Vector File", "flags": ["--erase"], "description": "Input erase polygon vector file.", "parameter_type": {"ExistingFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}, "output": {"name": "Output Vector File", "flags": ["-o", "--output"], "description": "Output vector file.", "parameter_type": {"NewFile": {"Vector": "Any"}}, "default_value": null, "optional": false}}}, "ErasePolygonFromLidar": {"name": "ErasePolygonFromLidar", "tool_name": "erase_polygon_from_lidar", "category": "LiDAR Tools", "label": "Erase Polygon From Lidar", "description": "Erases (cuts out) a vector polygon or polygons from a LiDAR point cloud.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/lidar_analysis/erase_polygon_from_lidar.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#ErasePolygonFromLidar", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input LiDAR file.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": false}, "polygons": {"name": "Input Vector Polygon File", "flags": ["--polygons"], "description": "Input vector polygons file.", "parameter_type": {"ExistingFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output LiDAR file.", "parameter_type": {"NewFile": "Lidar"}, "default_value": null, "optional": false}}}, "ErasePolygonFromRaster": {"name": "ErasePolygonFromRaster", "tool_name": "erase_polygon_from_raster", "category": "GIS Analysis", "label": "Erase Polygon From Raster", "description": "Erases (cuts out) a vector polygon from a raster.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/erase_polygon_from_raster.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#ErasePolygonFromRaster", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "polygons": {"name": "Input Vector Polygon File", "flags": ["--polygons"], "description": "Input vector polygons file.", "parameter_type": {"ExistingFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "EuclideanAllocation": {"name": "EuclideanAllocation", "tool_name": "euclidean_allocation", "category": "GIS Analysis", "label": "Euclidean Allocation", "description": "Assigns grid cells in the output raster the value of the nearest target cell in the input image, measured by the Shih and Wu (2004) Euclidean distance transform.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/euclidean_allocation.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#EuclideanAllocation", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "EuclideanDistance": {"name": "EuclideanDistance", "tool_name": "euclidean_distance", "category": "GIS Analysis", "label": "Euclidean Distance", "description": "Calculates the Shih and Wu (2004) Euclidean distance transform.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/euclidean_distance.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#EuclideanDistance", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "EvaluateTrainingSites": {"name": "EvaluateTrainingSites", "tool_name": "evaluate_training_sites", "category": "Image Processing Tools", "label": "Evaluate Training Sites", "description": "This tool can be used to inspect the overlap in spectral signatures of training sites for various classes.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools/classification.html#EvaluateTrainingSites", "parameters": {"inputs": {"name": "Input Band Images", "flags": ["-i", "--inputs"], "description": "Name of the input band images.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "polys": {"name": "Input Training Polygons", "flags": ["-p", "--polys"], "description": "Name of the input training site polygons shapefile.", "parameter_type": {"ExistingFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}, "field": {"name": "Class Name Field", "flags": ["-f", "--field"], "description": "Name of the attribute containing class name data.", "parameter_type": {"VectorAttributeField": ["Any", "--polys"]}, "default_value": null, "optional": false}, "output": {"name": "Output File (*.html)", "flags": ["-o", "--output"], "description": "Name of the output report file (*.html).", "parameter_type": {"NewFile": "Html"}, "default_value": null, "optional": false}}}, "Exp": {"name": "Exp", "tool_name": "exp", "category": "Math and Stats Tools", "label": "Exp", "description": "Returns the exponential (base e) of values in a raster.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/exp.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#Exp", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "Exp2": {"name": "Exp2", "tool_name": "exp2", "category": "Math and Stats Tools", "label": "Exp2", "description": "Returns the exponential (base 2) of values in a raster.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/exp2.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#Exp2", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "ExportTableToCsv": {"name": "ExportTableToCsv", "tool_name": "export_table_to_csv", "category": "Data Tools", "label": "Export Table To Csv", "description": "Exports an attribute table to a CSV text file.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/data_tools/export_table_to_csv.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/data_tools.html#ExportTableToCsv", "parameters": {"i": {"name": "Input Vector File", "flags": ["-i", "--input"], "description": "Input vector file.", "parameter_type": {"ExistingFile": {"Vector": "Any"}}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output csv file.", "parameter_type": {"NewFile": "Csv"}, "default_value": null, "optional": false}, "headers": {"name": "Export field names as file header?", "flags": ["--headers"], "description": "Export field names as file header?", "parameter_type": "Boolean", "default_value": "true", "optional": true}}}, "ExposureTowardsWindFlux": {"name": "ExposureTowardsWindFlux", "tool_name": "exposure_towards_wind_flux", "category": "Geomorphometric Analysis", "label": "Exposure Towards Wind Flux", "description": "Evaluates hydrologic connectivity within a DEM", "github": "https://github.com/jblindsay/whitebox-tools/tree/master/whitebox-plugins/src/ExposureTowardsWindFlux/main.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#ExposureTowardsWindFlux", "parameters": {"dem": {"name": "Input DEM Raster", "flags": ["-d", "--dem"], "description": "Name of the input DEM raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster File", "flags": ["-o", "--output"], "description": "Name of the output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "azimuth": {"name": "Wind Azimuth (in degrees)", "flags": ["--azimuth"], "description": "Wind azimuth, in degrees.", "parameter_type": "Float", "default_value": "", "optional": false}, "max_dist": {"name": "Maximum Search Distance", "flags": ["--max_dist"], "description": "Optional maximum search distance. Minimum value is 5 x cell size.", "parameter_type": "Integer", "default_value": "", "optional": true}, "zfactor": {"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": "", "optional": true}}}, "ExtendVectorLines": {"name": "ExtendVectorLines", "tool_name": "extend_vector_lines", "category": "GIS Analysis", "label": "Extend Vector Lines", "description": "Extends vector lines by a specified distance.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/extend_vector_lines.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#ExtendVectorLines", "parameters": {"i": {"name": "Input Vector Lines File", "flags": ["-i", "--input"], "description": "Input vector polyline file.", "parameter_type": {"ExistingFile": {"Vector": "Line"}}, "default_value": null, "optional": false}, "output": {"name": "Output Vector File", "flags": ["-o", "--output"], "description": "Output vector polyline file.", "parameter_type": {"NewFile": {"Vector": "Line"}}, "default_value": null, "optional": false}, "dist": {"name": "Extend Distance", "flags": ["--dist"], "description": "The distance to extend.", "parameter_type": "Float", "default_value": null, "optional": false}, "extend": {"name": "Extend Direction", "flags": ["--extend"], "description": "Extend direction, 'both ends' (default), 'line start', 'line end'.", "parameter_type": {"OptionList": ["both ends", "line start", "line end"]}, "default_value": "both ends", "optional": true}}}, "ExtractNodes": {"name": "ExtractNodes", "tool_name": "extract_nodes", "category": "GIS Analysis", "label": "Extract Nodes", "description": "Converts vector lines or polygons into vertex points.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/extract_nodes.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#ExtractNodes", "parameters": {"i": {"name": "Input Vector File", "flags": ["-i", "--input"], "description": "Input vector lines or polygon file.", "parameter_type": {"ExistingFile": {"Vector": "Any"}}, "default_value": null, "optional": false}, "output": {"name": "Output Points File", "flags": ["-o", "--output"], "description": "Output vector points file.", "parameter_type": {"NewFile": {"Vector": "Point"}}, "default_value": null, "optional": false}}}, "ExtractRasterValuesAtPoints": {"name": "ExtractRasterValuesAtPoints", "tool_name": "extract_raster_values_at_points", "category": "GIS Analysis", "label": "Extract Raster Values At Points", "description": "Extracts the values of raster(s) at vector point locations.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/extract_raster_values_at_points.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#ExtractRasterValuesAtPoints", "parameters": {"inputs": {"name": "Input Files", "flags": ["-i", "--inputs"], "description": "Input raster files.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "points": {"name": "Input Points File", "flags": ["--points"], "description": "Input vector points file.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "out_text": {"name": "Output text?", "flags": ["--out_text"], "description": "Output point values as text? Otherwise, the only output is to to the points file's attribute table.", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "ExtractStreams": {"name": "ExtractStreams", "tool_name": "extract_streams", "category": "Stream Network Analysis", "label": "Extract Streams", "description": "Extracts stream grid cells from a flow accumulation raster.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/stream_network_analysis/extract_streams.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/stream_network_analysis.html#ExtractStreams", "parameters": {"flow_accum": {"name": "Input D8 Flow Accumulation File", "flags": ["--flow_accum"], "description": "Input raster D8 flow accumulation file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "threshold": {"name": "Channelization Threshold", "flags": ["--threshold"], "description": "Threshold in flow accumulation values for channelization.", "parameter_type": "Float", "default_value": null, "optional": false}, "zero_background": {"name": "Should a background value of zero be used?", "flags": ["--zero_background"], "description": "Flag indicating whether a background value of zero should be used.", "parameter_type": "Boolean", "default_value": null, "optional": true}}}, "ExtractValleys": {"name": "ExtractValleys", "tool_name": "extract_valleys", "category": "Stream Network Analysis", "label": "Extract Valleys", "description": "Identifies potential valley bottom grid cells based on local topolography alone.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/stream_network_analysis/extract_valleys.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/stream_network_analysis.html#ExtractValleys", "parameters": {"dem": {"name": "Input DEM File", "flags": ["--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "variant": {"name": "Variant", "flags": ["--variant"], "description": "Options include 'LQ' (lower quartile), 'JandR' (Johnston and Rosenfeld), and 'PandD' (Peucker and Douglas); default is 'LQ'.", "parameter_type": {"OptionList": ["LQ", "JandR", "PandD"]}, "default_value": "LQ", "optional": false}, "line_thin": {"name": "Perform line-thinning?", "flags": ["--line_thin"], "description": "Optional flag indicating whether post-processing line-thinning should be performed.", "parameter_type": "Boolean", "default_value": "true", "optional": true}, "filter": {"name": "Filter Size (Only For Lower Quartile)", "flags": ["--filter"], "description": "Optional argument (only used when variant='lq') providing the filter size, in grid cells, used for lq-filtering (default is 5).", "parameter_type": "Integer", "default_value": "5", "optional": true}}}, "Fd8FlowAccumulation": {"name": "Fd8FlowAccumulation", "tool_name": "fd8_flow_accumulation", "category": "Hydrological Analysis", "label": "Fd8 Flow Accumulation", "description": "Calculates an FD8 flow accumulation raster from an input DEM.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/fd8_flow_accum.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#Fd8FlowAccumulation", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "out_type": {"name": "Output Type", "flags": ["--out_type"], "description": "Output type; one of 'cells', 'specific contributing area' (default), and 'catchment area'.", "parameter_type": {"OptionList": ["cells", "specific contributing area", "catchment area"]}, "default_value": "specific contributing area", "optional": true}, "exponent": {"name": "Exponent Parameter", "flags": ["--exponent"], "description": "Optional exponent parameter; default is 1.1.", "parameter_type": "Float", "default_value": "1.1", "optional": true}, "threshold": {"name": "Convergence Threshold (grid cells; blank for none)", "flags": ["--threshold"], "description": "Optional convergence threshold parameter, in grid cells; default is infinity.", "parameter_type": "Float", "default_value": null, "optional": true}, "log": {"name": "Log-transform the output?", "flags": ["--log"], "description": "Optional flag to request the output be log-transformed.", "parameter_type": "Boolean", "default_value": null, "optional": true}, "clip": {"name": "Clip the upper tail by 1%?", "flags": ["--clip"], "description": "Optional flag to request clipping the display max by 1%.", "parameter_type": "Boolean", "default_value": null, "optional": true}}}, "Fd8Pointer": {"name": "Fd8Pointer", "tool_name": "fd8_pointer", "category": "Hydrological Analysis", "label": "Fd8 Pointer", "description": "Calculates an FD8 flow pointer raster from an input DEM.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/fd8_pointer.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#Fd8Pointer", "parameters": {"dem": {"name": "Input File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "FarthestChannelHead": {"name": "FarthestChannelHead", "tool_name": "farthest_channel_head", "category": "Stream Network Analysis", "label": "Farthest Channel Head", "description": "Calculates the distance to the furthest upstream channel head for each stream cell.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/stream_network_analysis/farthest_channel_head.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/stream_network_analysis.html#FarthestChannelHead", "parameters": {"d8_pntr": {"name": "Input D8 Pointer File", "flags": ["--d8_pntr"], "description": "Input raster D8 pointer file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "streams": {"name": "Input Streams File", "flags": ["--streams"], "description": "Input raster streams file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "esri_pntr": {"name": "Does the pointer file use the ESRI pointer scheme?", "flags": ["--esri_pntr"], "description": "D8 pointer uses the ESRI style scheme.", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "zero_background": {"name": "Should a background value of zero be used?", "flags": ["--zero_background"], "description": "Flag indicating whether a background value of zero should be used.", "parameter_type": "Boolean", "default_value": null, "optional": true}}}, "FastAlmostGaussianFilter": {"name": "FastAlmostGaussianFilter", "tool_name": "fast_almost_gaussian_filter", "category": "Image Processing Tools", "label": "Fast Almost Gaussian Filter", "description": "Performs a fast approximate Gaussian filter on an image.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/fast_almost_gaussian_filter.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#FastAlmostGaussianFilter", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "sigma": {"name": "Standard Deviation (pixels)", "flags": ["--sigma"], "description": "Standard deviation distance in pixels.", "parameter_type": "Float", "default_value": "1.8", "optional": false}}}, "FeaturePreservingSmoothing": {"name": "FeaturePreservingSmoothing", "tool_name": "feature_preserving_smoothing", "category": "Geomorphometric Analysis", "label": "Feature Preserving Smoothing", "description": "Reduces short-scale variation in an input DEM using a modified Sun et al. (2007) algorithm.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/feature_preserving_smoothing.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#FeaturePreservingSmoothing", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "filter": {"name": "Filter Size", "flags": ["--filter"], "description": "Size of the filter kernel.", "parameter_type": "Integer", "default_value": "11", "optional": true}, "norm_diff": {"name": "Normal Difference Threshold", "flags": ["--norm_diff"], "description": "Maximum difference in normal vectors, in degrees.", "parameter_type": "Float", "default_value": "15.0", "optional": true}, "num_iter": {"name": "Iterations", "flags": ["--num_iter"], "description": "Number of iterations.", "parameter_type": "Integer", "default_value": "3", "optional": true}, "max_diff": {"name": "Maximum Elevation Change", "flags": ["--max_diff"], "description": "Maximum allowable absolute elevation change (optional).", "parameter_type": "Float", "default_value": "0.5", "optional": true}, "zfactor": {"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}}}, "FetchAnalysis": {"name": "FetchAnalysis", "tool_name": "fetch_analysis", "category": "Geomorphometric Analysis", "label": "Fetch Analysis", "description": "Performs an analysis of fetch or upwind distance to an obstacle.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/fetch_analysis.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#FetchAnalysis", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "azimuth": {"name": "Azimuth (degrees)", "flags": ["--azimuth"], "description": "Wind azimuth in degrees in degrees.", "parameter_type": "Float", "default_value": "0.0", "optional": true}, "hgt_inc": {"name": "Height Increment Value", "flags": ["--hgt_inc"], "description": "Height increment value.", "parameter_type": "Float", "default_value": "0.05", "optional": true}}}, "FillBurn": {"name": "FillBurn", "tool_name": "fill_burn", "category": "Hydrological Analysis", "label": "Fill Burn", "description": "Burns streams into a DEM using the FillBurn (Saunders, 1999) method.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/fill_burn.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#FillBurn", "parameters": {"dem": {"name": "Input DEM File", "flags": ["--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "streams": {"name": "Input Vector Streams File", "flags": ["--streams"], "description": "Input vector streams file.", "parameter_type": {"ExistingFile": {"Vector": "Line"}}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "FillDepressions": {"name": "FillDepressions", "tool_name": "fill_depressions", "category": "Hydrological Analysis", "label": "Fill Depressions", "description": "Fills all of the depressions in a DEM. Depression breaching should be preferred in most cases.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/fill_depressions.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#FillDepressions", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "fix_flats": {"name": "Fix flat areas?", "flags": ["--fix_flats"], "description": "Optional flag indicating whether flat areas should have a small gradient applied.", "parameter_type": "Boolean", "default_value": "true", "optional": true}, "flat_increment": {"name": "Flat increment value (z units)", "flags": ["--flat_increment"], "description": "Optional elevation increment applied to flat areas.", "parameter_type": "Float", "default_value": null, "optional": true}, "max_depth": {"name": "Maximum depth (z units)", "flags": ["--max_depth"], "description": "Optional maximum depression depth to fill.", "parameter_type": "Float", "default_value": null, "optional": true}}}, "FillDepressionsPlanchonAndDarboux": {"name": "FillDepressionsPlanchonAndDarboux", "tool_name": "fill_depressions_planchon_and_darboux", "category": "Hydrological Analysis", "label": "Fill Depressions Planchon And Darboux", "description": "Fills all of the depressions in a DEM using the Planchon and Darboux (2002) method.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/fill_depressions_planchon_and_darboux.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#FillDepressionsPlanchonAndDarboux", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "fix_flats": {"name": "Fix flat areas?", "flags": ["--fix_flats"], "description": "Optional flag indicating whether flat areas should have a small gradient applied.", "parameter_type": "Boolean", "default_value": "true", "optional": true}, "flat_increment": {"name": "Flat increment value (z units)", "flags": ["--flat_increment"], "description": "Optional elevation increment applied to flat areas.", "parameter_type": "Float", "default_value": null, "optional": true}}}, "FillDepressionsWangAndLiu": {"name": "FillDepressionsWangAndLiu", "tool_name": "fill_depressions_wang_and_liu", "category": "Hydrological Analysis", "label": "Fill Depressions Wang And Liu", "description": "Fills all of the depressions in a DEM using the Wang and Liu (2006) method. Depression breaching should be preferred in most cases.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/fill_depressions_wang_and_liu.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#FillDepressionsWangAndLiu", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "fix_flats": {"name": "Fix flat areas?", "flags": ["--fix_flats"], "description": "Optional flag indicating whether flat areas should have a small gradient applied.", "parameter_type": "Boolean", "default_value": "true", "optional": true}, "flat_increment": {"name": "Flat increment value (z units)", "flags": ["--flat_increment"], "description": "Optional elevation increment applied to flat areas.", "parameter_type": "Float", "default_value": null, "optional": true}}}, "FillMissingData": {"name": "FillMissingData", "tool_name": "fill_missing_data", "category": "Geomorphometric Analysis", "label": "Fill Missing Data", "description": "Fills NoData holes in a DEM.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/fill_missing_data.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#FillMissingData", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "filter": {"name": "Filter Dimension", "flags": ["--filter"], "description": "Filter size (cells).", "parameter_type": "Integer", "default_value": "11", "optional": false}, "weight": {"name": "IDW Weight (Exponent) Value", "flags": ["--weight"], "description": "IDW weight value.", "parameter_type": "Float", "default_value": "2.0", "optional": true}, "no_edges": {"name": "Exclude edge-of-raster-connected NoData cells?", "flags": ["--no_edges"], "description": "Optional flag indicating whether to exclude NoData cells in edge regions.", "parameter_type": "Boolean", "default_value": "true", "optional": true}}}, "FillSingleCellPits": {"name": "FillSingleCellPits", "tool_name": "fill_single_cell_pits", "category": "Hydrological Analysis", "label": "Fill Single Cell Pits", "description": "Raises pit cells to the elevation of their lowest neighbour.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/fill_pits.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#FillSingleCellPits", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "FilterLidar": {"name": "FilterLidar", "tool_name": "filter_lidar", "category": "LiDAR Tools", "label": "Filter Lidar", "description": "Filters points within a LiDAR point cloud based on point properties.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#FilterLidar", "parameters": {"i": {"name": "Input LiDAR Points", "flags": ["-i", "--input"], "description": "Name of the input LiDAR points.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": true}, "output": {"name": "Output LiDAR Points", "flags": ["-o", "--output"], "description": "Name of the output LiDAR points.", "parameter_type": {"NewFile": "Lidar"}, "default_value": null, "optional": true}, "statement": {"name": "Statement:", "flags": ["-s", "--statement"], "description": "Filter statement e.g. x < 5000.0 && y > 100.0 && is_late && !is_noise. This statement must be a valid Rust statement.", "parameter_type": "String", "default_value": "", "optional": false}}}, "FilterLidarClasses": {"name": "FilterLidarClasses", "tool_name": "filter_lidar_classes", "category": "LiDAR Tools", "label": "Filter Lidar Classes", "description": "Removes points in a LAS file with certain specified class values.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/lidar_analysis/filter_lidar_classes.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#FilterLidarClasses", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input LiDAR file.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output LiDAR file.", "parameter_type": {"NewFile": "Lidar"}, "default_value": null, "optional": false}, "exclude_cls": {"name": "Exclusion Classes (0-18, based on LAS spec; e.g. 7,18)", "flags": ["--exclude_cls"], "description": "Optional exclude classes from interpolation; Valid class values range from 0 to 18, based on LAS specifications. Example, --exclude_cls='3,4,5,6,7,18'.", "parameter_type": "String", "default_value": null, "optional": true}}}, "FilterLidarScanAngles": {"name": "FilterLidarScanAngles", "tool_name": "filter_lidar_scan_angles", "category": "LiDAR Tools", "label": "Filter Lidar Scan Angles", "description": "Removes points in a LAS file with scan angles greater than a threshold.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/lidar_analysis/filter_lidar_scan_angles.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#FilterLidarScanAngles", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input LiDAR file.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output LiDAR file.", "parameter_type": {"NewFile": "Lidar"}, "default_value": null, "optional": false}, "threshold": {"name": "Threshold (degrees)", "flags": ["--threshold"], "description": "Scan angle threshold.", "parameter_type": "Float", "default_value": null, "optional": false}}}, "FilterRasterFeaturesByArea": {"name": "FilterRasterFeaturesByArea", "tool_name": "filter_raster_features_by_area", "category": "GIS Analysis", "label": "Filter Raster Features By Area", "description": "Removes small-area features from a raster.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/filter_raster_features_by_area.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#FilterRasterFeaturesByArea", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "threshold": {"name": "Area Threshold (grid cells)", "flags": ["--threshold"], "description": "Remove features with fewer grid cells than this threshold value.", "parameter_type": "Integer", "default_value": null, "optional": false}, "background": {"name": "Background Value", "flags": ["--background"], "description": "Background value.", "parameter_type": {"OptionList": ["zero", "nodata"]}, "default_value": "zero", "optional": true}}}, "FindFlightlineEdgePoints": {"name": "FindFlightlineEdgePoints", "tool_name": "find_flightline_edge_points", "category": "LiDAR Tools", "label": "Find Flightline Edge Points", "description": "Identifies points along a flightline's edge in a LAS file.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/lidar_analysis/find_flightline_edge_points.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#FindFlightlineEdgePoints", "parameters": {"i": {"name": "Input LiDAR File", "flags": ["-i", "--input"], "description": "Input LiDAR file.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output file.", "parameter_type": {"NewFile": "Lidar"}, "default_value": null, "optional": false}}}, "FindLowestOrHighestPoints": {"name": "FindLowestOrHighestPoints", "tool_name": "find_lowest_or_highest_points", "category": "GIS Analysis", "label": "Find Lowest Or Highest Points", "description": "Locates the lowest and/or highest valued cells in a raster.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/find_lowest_or_highest_points.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#FindLowestOrHighestPoints", "parameters": {"i": {"name": "Input Raster File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Points File", "flags": ["-o", "--output"], "description": "Output vector points file.", "parameter_type": {"NewFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "out_type": {"name": "Output Type", "flags": ["--out_type"], "description": "Output type; one of 'area' (default) and 'volume'.", "parameter_type": {"OptionList": ["lowest", "highest", "both"]}, "default_value": "lowest", "optional": true}}}, "FindMainStem": {"name": "FindMainStem", "tool_name": "find_main_stem", "category": "Stream Network Analysis", "label": "Find Main Stem", "description": "Finds the main stem, based on stream lengths, of each stream network.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/stream_network_analysis/find_main_stem.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/stream_network_analysis.html#FindMainStem", "parameters": {"d8_pntr": {"name": "Input D8 Pointer File", "flags": ["--d8_pntr"], "description": "Input raster D8 pointer file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "streams": {"name": "Input Streams File", "flags": ["--streams"], "description": "Input raster streams file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "esri_pntr": {"name": "Does the pointer file use the ESRI pointer scheme?", "flags": ["--esri_pntr"], "description": "D8 pointer uses the ESRI style scheme.", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "zero_background": {"name": "Should a background value of zero be used?", "flags": ["--zero_background"], "description": "Flag indicating whether a background value of zero should be used.", "parameter_type": "Boolean", "default_value": null, "optional": true}}}, "FindNoFlowCells": {"name": "FindNoFlowCells", "tool_name": "find_no_flow_cells", "category": "Hydrological Analysis", "label": "Find No Flow Cells", "description": "Finds grid cells with no downslope neighbours.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/find_noflow_cells.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#FindNoFlowCells", "parameters": {"dem": {"name": "Input File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "FindParallelFlow": {"name": "FindParallelFlow", "tool_name": "find_parallel_flow", "category": "Hydrological Analysis", "label": "Find Parallel Flow", "description": "Finds areas of parallel flow in D8 flow direction rasters.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/find_parallel_flow.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#FindParallelFlow", "parameters": {"d8_pntr": {"name": "Input D8 Pointer File", "flags": ["--d8_pntr"], "description": "Input D8 pointer raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "streams": {"name": "Input Streams File", "flags": ["--streams"], "description": "Input raster streams file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "FindPatchOrClassEdgeCells": {"name": "FindPatchOrClassEdgeCells", "tool_name": "find_patch_or_class_edge_cells", "category": "GIS Analysis", "label": "Find Patch Or Class Edge Cells", "description": "Finds all cells located on the edge of patch or class features.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/find_patch_edge_cells.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#FindPatchOrClassEdgeCells", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "FindRidges": {"name": "FindRidges", "tool_name": "find_ridges", "category": "Geomorphometric Analysis", "label": "Find Ridges", "description": "Identifies potential ridge and peak grid cells.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/find_ridges.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#FindRidges", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "line_thin": {"name": "Perform line-thinning?", "flags": ["--line_thin"], "description": "Optional flag indicating whether post-processing line-thinning should be performed.", "parameter_type": "Boolean", "default_value": "true", "optional": true}}}, "FixDanglingArcs": {"name": "FixDanglingArcs", "tool_name": "fix_dangling_arcs", "category": "Data Tools", "label": "Fix Dangling Arcs", "description": "This tool fixes undershot and overshot arcs, two common topological errors, in an input vector lines file.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/data_tools.html#FixDanglingArcs", "parameters": {"i": {"name": "Input Vector Lines", "flags": ["-i", "--input"], "description": "Name of the input lines vector file.", "parameter_type": {"ExistingFile": {"Vector": "Line"}}, "default_value": null, "optional": false}, "output": {"name": "Output Lines", "flags": ["-o", "--output"], "description": "Name of the output lines vector file.", "parameter_type": {"NewFile": {"Vector": "Line"}}, "default_value": null, "optional": false}, "dist": {"name": "Snap Distance", "flags": ["--snap", "--dist"], "description": "Snap distance, in xy units (metres).", "parameter_type": "Float", "default_value": "", "optional": false}}}, "FlattenLakes": {"name": "FlattenLakes", "tool_name": "flatten_lakes", "category": "Hydrological Analysis", "label": "Flatten Lakes", "description": "Flattens lake polygons in a raster DEM.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/flatten_lakes.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#FlattenLakes", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "lakes": {"name": "Input Lakes Vector Polygon File", "flags": ["--lakes"], "description": "Input lakes vector polygons file.", "parameter_type": {"ExistingFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "FlightlineOverlap": {"name": "FlightlineOverlap", "tool_name": "flightline_overlap", "category": "LiDAR Tools", "label": "Flightline Overlap", "description": "Reads a LiDAR (LAS) point file and outputs a raster containing the number of overlapping flight-lines in each grid cell.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/lidar_analysis/flightline_overlap.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#FlightlineOverlap", "parameters": {"i": {"name": "Input LiDAR File", "flags": ["-i", "--input"], "description": "Input LiDAR file.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": true}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": true}, "resolution": {"name": "Grid Resolution", "flags": ["--resolution"], "description": "Output raster's grid resolution.", "parameter_type": "Float", "default_value": "1.0", "optional": true}}}, "FlipImage": {"name": "FlipImage", "tool_name": "flip_image", "category": "Image Processing Tools", "label": "Flip Image", "description": "Reflects an image in the vertical or horizontal axis.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/flip_image.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#FlipImage", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "direction": {"name": "Direction", "flags": ["--direction"], "description": "Direction of reflection; options include 'v' (vertical), 'h' (horizontal), and 'b' (both).", "parameter_type": {"OptionList": ["vertical", "horizontal", "both"]}, "default_value": "vertical", "optional": true}}}, "FloodOrder": {"name": "FloodOrder", "tool_name": "flood_order", "category": "Hydrological Analysis", "label": "Flood Order", "description": "Assigns each DEM grid cell its order in the sequence of inundations that are encountered during a search starting from the edges, moving inward at increasing elevations.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/flood_order.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#FloodOrder", "parameters": {"dem": {"name": "Input File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "Floor": {"name": "Floor", "tool_name": "floor", "category": "Math and Stats Tools", "label": "Floor", "description": "Returns the largest (closest to positive infinity) value that is less than or equal to the values in a raster.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/floor.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#Floor", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "FlowAccumulationFullWorkflow": {"name": "FlowAccumulationFullWorkflow", "tool_name": "flow_accumulation_full_workflow", "category": "Hydrological Analysis", "label": "Flow Accumulation Full Workflow", "description": "Resolves all of the depressions in a DEM, outputting a breached DEM, an aspect-aligned non-divergent flow pointer, and a flow accumulation raster.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/flow_accum_full_workflow.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#FlowAccumulationFullWorkflow", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "out_dem": {"name": "Output DEM File", "flags": ["--out_dem"], "description": "Output raster DEM file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "out_pntr": {"name": "Output Flow Pointer File", "flags": ["--out_pntr"], "description": "Output raster flow pointer file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "out_accum": {"name": "Output Flow Accumulation File", "flags": ["--out_accum"], "description": "Output raster flow accumulation file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "out_type": {"name": "Output Type", "flags": ["--out_type"], "description": "Output type; one of 'cells', 'sca' (default), and 'ca'.", "parameter_type": {"OptionList": ["Cells", "Specific Contributing Area", "Catchment Area"]}, "default_value": "Specific Contributing Area", "optional": true}, "log": {"name": "Log-transform the output?", "flags": ["--log"], "description": "Optional flag to request the output be log-transformed.", "parameter_type": "Boolean", "default_value": null, "optional": true}, "clip": {"name": "Clip the upper tail by 1%?", "flags": ["--clip"], "description": "Optional flag to request clipping the display max by 1%.", "parameter_type": "Boolean", "default_value": null, "optional": true}, "esri_pntr": {"name": "Does the pointer file use the ESRI pointer scheme?", "flags": ["--esri_pntr"], "description": "D8 pointer uses the ESRI style scheme.", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "FlowLengthDiff": {"name": "FlowLengthDiff", "tool_name": "flow_length_diff", "category": "Hydrological Analysis", "label": "Flow Length Diff", "description": "Calculates the local maximum absolute difference in downslope flowpath length, useful in mapping drainage divides and ridges.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/flow_length_diff.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#FlowLengthDiff", "parameters": {"d8_pntr": {"name": "Input D8 Pointer File", "flags": ["--d8_pntr"], "description": "Input D8 pointer raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "esri_pntr": {"name": "Does the pointer file use the ESRI pointer scheme?", "flags": ["--esri_pntr"], "description": "D8 pointer uses the ESRI style scheme.", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "GammaCorrection": {"name": "GammaCorrection", "tool_name": "gamma_correction", "category": "Image Processing Tools", "label": "Gamma Correction", "description": "Performs a gamma correction on an input images.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/gamma_correction.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#GammaCorrection", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "gamma": {"name": "Gamma Value", "flags": ["--gamma"], "description": "Gamma value.", "parameter_type": "Float", "default_value": "0.5", "optional": true}}}, "GaussianContrastStretch": {"name": "GaussianContrastStretch", "tool_name": "gaussian_contrast_stretch", "category": "Image Processing Tools", "label": "Gaussian Contrast Stretch", "description": "Performs a Gaussian contrast stretch on input images.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/gaussian_contrast_stretch.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#GaussianContrastStretch", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "num_tones": {"name": "Number of Tones", "flags": ["--num_tones"], "description": "Number of tones in the output image.", "parameter_type": "Integer", "default_value": "256", "optional": false}}}, "GaussianCurvature": {"name": "GaussianCurvature", "tool_name": "gaussian_curvature", "category": "Geomorphometric Analysis", "label": "Gaussian Curvature", "description": "Calculates a mean curvature raster from an input DEM.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/gaussian_curvature.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#GaussianCurvature", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "log": {"name": "Log-transform the output?", "flags": ["--log"], "description": "Display output values using a log-scale.", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "zfactor": {"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}}}, "GaussianFilter": {"name": "GaussianFilter", "tool_name": "gaussian_filter", "category": "Image Processing Tools", "label": "Gaussian Filter", "description": "Performs a Gaussian filter on an image.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/gaussian_filter.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#GaussianFilter", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "sigma": {"name": "Standard Deviation (pixels)", "flags": ["--sigma"], "description": "Standard deviation distance in pixels.", "parameter_type": "Float", "default_value": "0.75", "optional": false}}}, "GaussianScaleSpace": {"name": "GaussianScaleSpace", "tool_name": "gaussian_scale_space", "category": "Geomorphometric Analysis", "label": "Gaussian Scale Space", "description": "Uses the fast Gaussian approximation algorithm to produce scaled land-surface parameter measurements from an input DEM.", "github": "https://github.com/jblindsay/whitebox-tools/tree/master/whitebox-plugins/src/GaussianScaleSpace/main.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#GaussianScaleSpace", "parameters": {"dem": {"name": "Input DEM Raster", "flags": ["-d", "--dem"], "description": "Name of the input DEM raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "points": {"name": "Input Vector Points File", "flags": ["-p", "--points"], "description": "Name of the input vector points shapefile.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": true}, "output": {"name": "Output Land-surface Parameter Raster File", "flags": ["-o", "--output"], "description": "Name of the output land-surface parameter raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "output_zscore": {"name": "Output z-Score Raster File", "flags": ["--output_zscore"], "description": "Name of the output z-score raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "output_scale": {"name": "Output Scale Raster File", "flags": ["--output_scale"], "description": "Name of the output scale raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "sigma": {"name": "Starting Scale", "flags": ["--sigma"], "description": "Initial sigma value (cells).", "parameter_type": "Float", "default_value": "0.5", "optional": false}, "step": {"name": "Step Size", "flags": ["--step"], "description": "Step size as any positive non-zero integer.", "parameter_type": "Float", "default_value": "0.5", "optional": true}, "num_steps": {"name": "Number of Steps", "flags": ["--num_steps"], "description": "Number of steps.", "parameter_type": "Integer", "default_value": "10", "optional": true}, "lsp": {"name": "Land-surface Parameter to Calculate", "flags": ["--lsp"], "description": "Output land-surface parameter; one of 'AnisotropyLTP', 'Aspect', 'DiffMeanElev', 'Eastness', 'Elevation', 'Hillshade', 'MeanCurvature', 'Northness', 'PlanCurvature', 'ProfileCurvature', 'Ruggedness', 'Slope', 'TanCurvature', 'TotalCurvature'.", "parameter_type": {"OptionList": ["AnisotropyLTP", "Aspect", "DiffMeanElev", "Eastness", "Elevation", "Hillshade", "MeanCurvature", "Northness", "PlanCurvature", "ProfileCurvature", "Ruggedness", "Slope", "TanCurvature", "TotalCurvature"]}, "default_value": "Slope", "optional": true}, "z_factor": {"name": "Z Conversion Factor", "flags": ["--z_factor"], "description": "Optional multiplier for when the vertical and horizontal units are not the same.", "parameter_type": "Float", "default_value": null, "optional": true}}}, "GeneralizeClassifiedRaster": {"name": "GeneralizeClassifiedRaster", "tool_name": "generalize_classified_raster", "category": "Image Processing Tools", "label": "Generalize Classified Raster", "description": "Generalizes a raster containing class or object features by removing small features.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools/classification.html#GeneralizeClassifiedRaster", "parameters": {"i": {"name": "Input Raster Image", "flags": ["-i", "--input"], "description": "Name of the input raster image file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster File", "flags": ["-o", "--output"], "description": "Name of the output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "min_size": {"name": "Min. Feature Size (in grid cells)", "flags": ["--min_size"], "description": "Minimum feature size, in grid cells.", "parameter_type": "Integer", "default_value": "4", "optional": true}, "method": {"name": "Method", "flags": ["--method"], "description": "Grouping method; one of 'longest' (default), 'largest', and 'nearest'.", "parameter_type": {"OptionList": ["longest", "largest", "nearest"]}, "default_value": "longest", "optional": true}}}, "GeneralizeWithSimilarity": {"name": "GeneralizeWithSimilarity", "tool_name": "generalize_with_similarity", "category": "Image Processing Tools", "label": "Generalize With Similarity", "description": "Generalizes a raster containing class or object features by removing small features using similarity criteria of neighbouring features.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools/classification.html#GeneralizeWithSimilarity", "parameters": {"i": {"name": "Input Raster Image", "flags": ["-i", "--input"], "description": "Name of the input raster image file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "similarity": {"name": "Input Similarity Images", "flags": ["--similarity"], "description": "Names of the input similarity images.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster File", "flags": ["-o", "--output"], "description": "Name of the output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "min_size": {"name": "Min. Feature Size (in grid cells)", "flags": ["--min_size"], "description": "Minimum feature size, in grid cells.", "parameter_type": "Integer", "default_value": "4", "optional": true}}}, "GeneratingFunction": {"name": "GeneratingFunction", "tool_name": "generating_function", "category": "Geomorphometric Analysis", "label": "Generating Function", "description": "This tool calculates generating function from an input DEM.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#GeneratingFunction", "parameters": {"dem": {"name": "Input Raster DEM", "flags": ["-i", "--dem"], "description": "Name of the input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster Image", "flags": ["-o", "--output"], "description": "Name of the output raster image file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "log": {"name": "Log-transform the output?", "flags": ["--log"], "description": "Display output values using a log-scale.", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "zfactor": {"name": "Z-factor", "flags": ["--zfactor"], "description": "Z conversion factor.", "parameter_type": "Float", "default_value": "1.0", "optional": true}}}, "Geomorphons": {"name": "Geomorphons", "tool_name": "geomorphons", "category": "Geomorphometric Analysis", "label": "Geomorphons", "description": "Computes geomorphon patterns.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/geomorphons.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#Geomorphons", "parameters": {"dem": {"name": "Input DEM file.", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output file.", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "search": {"name": "Search distance (cells).", "flags": ["--search"], "description": "Look up distance (in cells).", "parameter_type": "Integer", "default_value": "50", "optional": false}, "threshold": {"name": "Flatness threshold (degrees).", "flags": ["--threshold"], "description": "Flatness threshold for the classification function (in degrees).", "parameter_type": "Float", "default_value": "0.0", "optional": false}, "fdist": {"name": "Flatness distance (cells).", "flags": ["--fdist"], "description": "Distance (in cells) to begin reducing the flatness threshold to avoid problems with pseudo-flat lines-of-sight.", "parameter_type": "Integer", "default_value": "0", "optional": false}, "skip": {"name": "Skip distance (cells).", "flags": ["--skip"], "description": "Distance (in cells) to begin calculating lines-of-sight.", "parameter_type": "Integer", "default_value": "0", "optional": false}, "forms": {"name": "Output forms", "flags": ["-f", "--forms"], "description": "Classify geomorphons into 10 common land morphologies, else output ternary pattern.", "parameter_type": "Boolean", "default_value": "true", "optional": true}, "residuals": {"name": "Analyze residuals", "flags": ["--residuals"], "description": "Convert elevation to residuals of a linear model.", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "GreaterThan": {"name": "GreaterThan", "tool_name": "greater_than", "category": "Math and Stats Tools", "label": "Greater Than", "description": "Performs a greater-than comparison operation on two rasters or a raster and a constant value.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/greater_than.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#GreaterThan", "parameters": {"input1": {"name": "Input File Or Constant Value", "flags": ["--input1"], "description": "Input raster file or constant value.", "parameter_type": {"ExistingFileOrFloat": "Raster"}, "default_value": null, "optional": false}, "input2": {"name": "Input File Or Constant Value", "flags": ["--input2"], "description": "Input raster file or constant value.", "parameter_type": {"ExistingFileOrFloat": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "incl_equals": {"name": "Perform a greater-than-OR-EQUAL-TO operation?", "flags": ["--incl_equals"], "description": "Perform a greater-than-or-equal-to operation.", "parameter_type": "Boolean", "default_value": null, "optional": true}}}, "HackStreamOrder": {"name": "HackStreamOrder", "tool_name": "hack_stream_order", "category": "Stream Network Analysis", "label": "Hack Stream Order", "description": "Assigns the Hack stream order to each tributary in a stream network.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/stream_network_analysis/hack_order.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/stream_network_analysis.html#HackStreamOrder", "parameters": {"d8_pntr": {"name": "Input D8 Pointer File", "flags": ["--d8_pntr"], "description": "Input raster D8 pointer file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "streams": {"name": "Input Streams File", "flags": ["--streams"], "description": "Input raster streams file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "esri_pntr": {"name": "Does the pointer file use the ESRI pointer scheme?", "flags": ["--esri_pntr"], "description": "D8 pointer uses the ESRI style scheme.", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "zero_background": {"name": "Should a background value of zero be used?", "flags": ["--zero_background"], "description": "Flag indicating whether a background value of zero should be used.", "parameter_type": "Boolean", "default_value": null, "optional": true}}}, "HeatMap": {"name": "HeatMap", "tool_name": "heat_map", "category": "GIS Analysis", "label": "Heat Map", "description": "Calculates a heat map, or kernel density estimation (KDE), for an input point set.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#HeatMap", "parameters": {"i": {"name": "Input Points", "flags": ["-i", "--input"], "description": "Name of the input points shapefile.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "weight_field": {"name": "Weight Field Name (Optional)", "flags": ["--weights", "--weight_field"], "description": "Optional name of the attribute containing point weight.", "parameter_type": "String", "default_value": null, "optional": true}, "output": {"name": "Output Raster Image", "flags": ["-o", "--output"], "description": "Name of the output raster image file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "bandwidth": {"name": "Bandwidth", "flags": ["--bandwidth"], "description": "Bandwidth (metres).", "parameter_type": "Float", "default_value": "", "optional": false}, "kernel": {"name": "Kernel Type", "flags": ["--kernel"], "description": "Kernel type; one of 'uniform', 'triangular', 'epanechnikov', 'quartic', 'triweight', 'tricube', 'gaussian', 'cosine', 'logistic', 'sigmoid', 'silverman'.", "parameter_type": {"OptionList": ["uniform", "triangular", "epanechnikov", "quartic", "triweight", "tricube", "gaussian", "cosine", "logistic", "sigmoid", "silverman"]}, "default_value": "quartic", "optional": true}, "cell_size": {"name": "Output Raster Cell Size (Optional)", "flags": ["--cell_size"], "description": "Optionally specified cell size of output raster, in metres. Not used when base raster is specified.", "parameter_type": "Float", "default_value": "", "optional": true}, "base": {"name": "Base Raster (Optional)", "flags": ["--base"], "description": "Optionally specified input base raster file. Not used when a cell size is specified.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": true}}}, "HeightAboveGround": {"name": "HeightAboveGround", "tool_name": "height_above_ground", "category": "LiDAR Tools", "label": "Height Above Ground", "description": "Normalizes a LiDAR point cloud, providing the height above the nearest ground-classified point.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/lidar_analysis/height_above_ground.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#HeightAboveGround", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input LiDAR file (including extension).", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": true}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output lidar file (including extension).", "parameter_type": {"NewFile": "Lidar"}, "default_value": null, "optional": true}}}, "HighPassBilateralFilter": {"name": "HighPassBilateralFilter", "tool_name": "high_pass_bilateral_filter", "category": "Image Processing Tools", "label": "High Pass Bilateral Filter", "description": "Performs a high-pass bilateral filter, by differencing an input image by the bilateral filter by Tomasi and Manduchi (1998).", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/highpass_bilateral_filter.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#HighPassBilateralFilter", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "sigma_dist": {"name": "Distance Standard Deviation (pixels)", "flags": ["--sigma_dist"], "description": "Standard deviation in distance in pixels.", "parameter_type": "Float", "default_value": "0.75", "optional": true}, "sigma_int": {"name": "Intensity Standard Deviation (intensity units)", "flags": ["--sigma_int"], "description": "Standard deviation in intensity in pixels.", "parameter_type": "Float", "default_value": "1.0", "optional": true}}}, "HighPassFilter": {"name": "HighPassFilter", "tool_name": "high_pass_filter", "category": "Image Processing Tools", "label": "High Pass Filter", "description": "Performs a high-pass filter on an input image.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/highpass_filter.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#HighPassFilter", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "filterx": {"name": "Filter X-Dimension", "flags": ["--filterx"], "description": "Size of the filter kernel in the x-direction.", "parameter_type": "Integer", "default_value": "11", "optional": true}, "filtery": {"name": "Filter Y-Dimension", "flags": ["--filtery"], "description": "Size of the filter kernel in the y-direction.", "parameter_type": "Integer", "default_value": "11", "optional": true}}}, "HighPassMedianFilter": {"name": "HighPassMedianFilter", "tool_name": "high_pass_median_filter", "category": "Image Processing Tools", "label": "High Pass Median Filter", "description": "Performs a high pass median filter on an input image.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/highpass_median_filter.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#HighPassMedianFilter", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "filterx": {"name": "Filter X-Dimension", "flags": ["--filterx"], "description": "Size of the filter kernel in the x-direction.", "parameter_type": "Integer", "default_value": "11", "optional": true}, "filtery": {"name": "Filter Y-Dimension", "flags": ["--filtery"], "description": "Size of the filter kernel in the y-direction.", "parameter_type": "Integer", "default_value": "11", "optional": true}, "sig_digits": {"name": "Number of Significant Digits", "flags": ["--sig_digits"], "description": "Number of significant digits.", "parameter_type": "Integer", "default_value": "2", "optional": true}}}, "HighestPosition": {"name": "HighestPosition", "tool_name": "highest_position", "category": "GIS Analysis", "label": "Highest Position", "description": "Identifies the stack position of the maximum value within a raster stack on a cell-by-cell basis.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/highest_pos.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#HighestPosition", "parameters": {"inputs": {"name": "Input Files", "flags": ["-i", "--inputs"], "description": "Input raster files.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "Hillshade": {"name": "Hillshade", "tool_name": "hillshade", "category": "Geomorphometric Analysis", "label": "Hillshade", "description": "Calculates a hillshade raster from an input DEM.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/hillshade.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#Hillshade", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "azimuth": {"name": "Azimuth (degrees)", "flags": ["--azimuth"], "description": "Illumination source azimuth in degrees.", "parameter_type": "Float", "default_value": "315.0", "optional": true}, "altitude": {"name": "Altitude (degrees)", "flags": ["--altitude"], "description": "Illumination source altitude in degrees.", "parameter_type": "Float", "default_value": "30.0", "optional": true}, "zfactor": {"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}}}, "Hillslopes": {"name": "Hillslopes", "tool_name": "hillslopes", "category": "Hydrological Analysis", "label": "Hillslopes", "description": "Identifies the individual hillslopes draining to each link in a stream network.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/hillslopes.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#Hillslopes", "parameters": {"d8_pntr": {"name": "Input D8 Pointer File", "flags": ["--d8_pntr"], "description": "Input raster D8 pointer file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "streams": {"name": "Input Streams File", "flags": ["--streams"], "description": "Input raster streams file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "esri_pntr": {"name": "Does the pointer file use the ESRI pointer scheme?", "flags": ["--esri_pntr"], "description": "D8 pointer uses the ESRI style scheme.", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "HistogramEqualization": {"name": "HistogramEqualization", "tool_name": "histogram_equalization", "category": "Image Processing Tools", "label": "Histogram Equalization", "description": "Performs a histogram equalization contrast enhancement on an image.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/histogram_equalization.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#HistogramEqualization", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "num_tones": {"name": "Number of Tones", "flags": ["--num_tones"], "description": "Number of tones in the output image.", "parameter_type": "Integer", "default_value": "256", "optional": false}}}, "HistogramMatching": {"name": "HistogramMatching", "tool_name": "histogram_matching", "category": "Image Processing Tools", "label": "Histogram Matching", "description": "Alters the statistical distribution of a raster image matching it to a specified PDF.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/histogram_matching.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#HistogramMatching", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "histo_file": {"name": "Input Probability Distribution Function (PDF) Text File", "flags": ["--histo_file"], "description": "Input reference probability distribution function (pdf) text file.", "parameter_type": {"ExistingFile": "Text"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "HistogramMatchingTwoImages": {"name": "HistogramMatchingTwoImages", "tool_name": "histogram_matching_two_images", "category": "Image Processing Tools", "label": "Histogram Matching Two Images", "description": "Alters the cumulative distribution function of a raster image to that of another image.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/histogram_matching_two_images.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#HistogramMatchingTwoImages", "parameters": {"input1": {"name": "Input File To Modify", "flags": ["--i1", "--input1"], "description": "Input raster file to modify.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "input2": {"name": "Input Reference File", "flags": ["--i2", "--input2"], "description": "Input reference raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "HoleProportion": {"name": "HoleProportion", "tool_name": "hole_proportion", "category": "GIS Analysis", "label": "Hole Proportion", "description": "Calculates the proportion of the total area of a polygon's holes relative to the area of the polygon's hull.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/hole_proportion.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#HoleProportion", "parameters": {"i": {"name": "Input Vector Polygon File", "flags": ["-i", "--input"], "description": "Input vector polygon file.", "parameter_type": {"ExistingFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}}}, "HorizonAngle": {"name": "HorizonAngle", "tool_name": "horizon_angle", "category": "Geomorphometric Analysis", "label": "Horizon Angle", "description": "Calculates horizon angle (maximum upwind slope) for each grid cell in an input DEM.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/horizon_angle.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#HorizonAngle", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "azimuth": {"name": "Azimuth", "flags": ["--azimuth"], "description": "Azimuth, in degrees.", "parameter_type": "Float", "default_value": "0.0", "optional": false}, "max_dist": {"name": "Maximum Search Distance", "flags": ["--max_dist"], "description": "Optional maximum search distance (unspecified if none; in xy units). Minimum value is 5 x cell size.", "parameter_type": "Float", "default_value": "100.0", "optional": true}}}, "HorizontalExcessCurvature": {"name": "HorizontalExcessCurvature", "tool_name": "horizontal_excess_curvature", "category": "Geomorphometric Analysis", "label": "Horizontal Excess Curvature", "description": "This tool calculates horizontal excess curvature from an input DEM.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#HorizontalExcessCurvature", "parameters": {"dem": {"name": "Input Raster DEM", "flags": ["-i", "--dem"], "description": "Name of the input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster Image", "flags": ["-o", "--output"], "description": "Name of the output raster image file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "log": {"name": "Log-transform the output?", "flags": ["--log"], "description": "Display output values using a log-scale.", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "zfactor": {"name": "Z-factor", "flags": ["--zfactor"], "description": "Z conversion factor.", "parameter_type": "Float", "default_value": "1.0", "optional": true}}}, "HortonStreamOrder": {"name": "HortonStreamOrder", "tool_name": "horton_stream_order", "category": "Stream Network Analysis", "label": "Horton Stream Order", "description": "Assigns the Horton stream order to each tributary in a stream network.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/stream_network_analysis/horton_order.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/stream_network_analysis.html#HortonStreamOrder", "parameters": {"d8_pntr": {"name": "Input D8 Pointer File", "flags": ["--d8_pntr"], "description": "Input raster D8 pointer file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "streams": {"name": "Input Streams File", "flags": ["--streams"], "description": "Input raster streams file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "esri_pntr": {"name": "Does the pointer file use the ESRI pointer scheme?", "flags": ["--esri_pntr"], "description": "D8 pointer uses the ESRI style scheme.", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "zero_background": {"name": "Should a background value of zero be used?", "flags": ["--zero_background"], "description": "Flag indicating whether a background value of zero should be used.", "parameter_type": "Boolean", "default_value": null, "optional": true}}}, "HydrologicConnectivity": {"name": "HydrologicConnectivity", "tool_name": "hydrologic_connectivity", "category": "Hydrological Analysis", "label": "Hydrologic Connectivity", "description": "This tool evaluates hydrologic connectivity within a DEM", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#HydrologicConnectivity", "parameters": {"dem": {"name": "Input DEM Raster", "flags": ["-d", "--dem"], "description": "Name of the input DEM raster file; must be depressionless.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output1": {"name": "Output Downslope Unsaturated Length File", "flags": ["--output1"], "description": "Name of the output downslope unsaturated length (DUL) file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "output2": {"name": "Output Upslope Disconnected Saturated Area File", "flags": ["--output2"], "description": "Name of the output upslope disconnected saturated area (UDSA) file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "exponent": {"name": "Exponent Parameter", "flags": ["--exponent"], "description": "Optional exponent parameter; default is 1.0.", "parameter_type": "Float", "default_value": "1.0", "optional": true}, "threshold": {"name": "Convergence Threshold (grid cells; blank for none)", "flags": ["--threshold"], "description": "Optional convergence threshold parameter, in grid cells; default is infinity.", "parameter_type": "Float", "default_value": null, "optional": true}}}, "HypsometricAnalysis": {"name": "HypsometricAnalysis", "tool_name": "hypsometric_analysis", "category": "Geomorphometric Analysis", "label": "Hypsometric Analysis", "description": "Calculates a hypsometric curve for one or more DEMs.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/hypsometric_analysis.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#HypsometricAnalysis", "parameters": {"inputs": {"name": "Input DEM Files", "flags": ["-i", "--inputs"], "description": "Input DEM files.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "watershed": {"name": "Input Watershed Files (optional)", "flags": ["--watershed"], "description": "Input watershed files (optional).", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": true}, "output": {"name": "Output HTML File", "flags": ["-o", "--output"], "description": "Output HTML file (default name will be based on input file if unspecified).", "parameter_type": {"NewFile": "Html"}, "default_value": null, "optional": false}}}, "HypsometricallyTintedHillshade": {"name": "HypsometricallyTintedHillshade", "tool_name": "hypsometrically_tinted_hillshade", "category": "Geomorphometric Analysis", "label": "Hypsometrically Tinted Hillshade", "description": "Creates an colour shaded relief image from an input DEM.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/hypsometrically_tinted_hillshade.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#HypsometricallyTintedHillshade", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "altitude": {"name": "Illumination Source Altitude (degrees)", "flags": ["--altitude"], "description": "Illumination source altitude in degrees.", "parameter_type": "Float", "default_value": "45.0", "optional": true}, "hs_weight": {"name": "Hillshade Weight", "flags": ["--hs_weight"], "description": "Weight given to hillshade relative to relief (0.0-1.0).", "parameter_type": "Float", "default_value": "0.5", "optional": true}, "brightness": {"name": "Brightness", "flags": ["--brightness"], "description": "Brightness factor (0.0-1.0).", "parameter_type": "Float", "default_value": "0.5", "optional": true}, "atmospheric": {"name": "Atmospheric Effects", "flags": ["--atmospheric"], "description": "Atmospheric effects weight (0.0-1.0).", "parameter_type": "Float", "default_value": "0.0", "optional": true}, "palette": {"name": "Palette", "flags": ["--palette"], "description": "Options include 'atlas', 'high_relief', 'arid', 'soft', 'muted', 'purple', 'viridis', 'gn_yl', 'pi_y_g', 'bl_yl_rd', and 'deep'.", "parameter_type": {"OptionList": ["atlas", "high_relief", "arid", "soft", "muted", "purple", "viridis", "gn_yl", "pi_y_g", "bl_yl_rd", "deep"]}, "default_value": "atlas", "optional": true}, "reverse": {"name": "Reverse palette?", "flags": ["--reverse"], "description": "Optional flag indicating whether to use reverse the palette.", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "zfactor": {"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}, "full_mode": {"name": "Full 360-degree hillshade mode?", "flags": ["--full_mode"], "description": "Optional flag indicating whether to use full 360-degrees of illumination sources.", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "IdwInterpolation": {"name": "IdwInterpolation", "tool_name": "idw_interpolation", "category": "GIS Analysis", "label": "Idw Interpolation", "description": "Interpolates vector points into a raster surface using an inverse-distance weighted scheme.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/idw_interpolation.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#IdwInterpolation", "parameters": {"i": {"name": "Input Vector Points File", "flags": ["-i", "--input"], "description": "Input vector Points file.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "field": {"name": "Field Name", "flags": ["--field"], "description": "Input field name in attribute table.", "parameter_type": {"VectorAttributeField": ["Number", "--input"]}, "default_value": null, "optional": false}, "use_z": {"name": "Use z-coordinate instead of field?", "flags": ["--use_z"], "description": "Use z-coordinate instead of field?", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "weight": {"name": "IDW Weight (Exponent) Value", "flags": ["--weight"], "description": "IDW weight value.", "parameter_type": "Float", "default_value": "2.0", "optional": true}, "radius": {"name": "Search Radius (map units)", "flags": ["--radius"], "description": "Search Radius in map units.", "parameter_type": "Float", "default_value": null, "optional": true}, "min_points": {"name": "Min. Number of Points", "flags": ["--min_points"], "description": "Minimum number of points.", "parameter_type": "Integer", "default_value": null, "optional": true}, "cell_size": {"name": "Cell Size (optional)", "flags": ["--cell_size"], "description": "Optionally specified cell size of output raster. Not used when base raster is specified.", "parameter_type": "Float", "default_value": null, "optional": true}, "base": {"name": "Base Raster File (optional)", "flags": ["--base"], "description": "Optionally specified input base raster file. Not used when a cell size is specified.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": true}}}, "IhsToRgb": {"name": "IhsToRgb", "tool_name": "ihs_to_rgb", "category": "Image Processing Tools", "label": "Ihs To Rgb", "description": "Converts intensity, hue, and saturation (IHS) images into red, green, and blue (RGB) images.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/ihs_to_rgb.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#IhsToRgb", "parameters": {"intensity": {"name": "Input Intensity File", "flags": ["--intensity"], "description": "Input intensity file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "hue": {"name": "Input Hue File", "flags": ["--hue"], "description": "Input hue file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "saturation": {"name": "Input Saturation File", "flags": ["--saturation"], "description": "Input saturation file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "red": {"name": "Output Red Band File (optional; only if colour-composite not specified)", "flags": ["--red"], "description": "Output red band file. Optionally specified if colour-composite not specified.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": true}, "green": {"name": "Output Green Band File (optional; only if colour-composite not specified)", "flags": ["--green"], "description": "Output green band file. Optionally specified if colour-composite not specified.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": true}, "blue": {"name": "Output Blue Band File (optional; only if colour-composite not specified)", "flags": ["--blue"], "description": "Output blue band file. Optionally specified if colour-composite not specified.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": true}, "output": {"name": "Output Colour-Composite File (optional; only if individual bands not specified)", "flags": ["-o", "--output"], "description": "Output colour-composite file. Only used if individual bands are not specified.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": true}}}, "ImageAutocorrelation": {"name": "ImageAutocorrelation", "tool_name": "image_autocorrelation", "category": "Math and Stats Tools", "label": "Image Autocorrelation", "description": "Performs Moran's I analysis on two or more input images.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/image_autocorrelation.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#ImageAutocorrelation", "parameters": {"inputs": {"name": "Input Files", "flags": ["-i", "--inputs"], "description": "Input raster files.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "contiguity": {"name": "Contiguity Type", "flags": ["--contiguity"], "description": "Contiguity type.", "parameter_type": {"OptionList": ["Rook", "King", "Bishop"]}, "default_value": "Rook", "optional": true}, "output": {"name": "Output HTML File", "flags": ["-o", "--output"], "description": "Output HTML file (default name will be based on input file if unspecified).", "parameter_type": {"NewFile": "Html"}, "default_value": null, "optional": false}}}, "ImageCorrelation": {"name": "ImageCorrelation", "tool_name": "image_correlation", "category": "Math and Stats Tools", "label": "Image Correlation", "description": "Performs image correlation on two or more input images.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/image_correlation.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#ImageCorrelation", "parameters": {"inputs": {"name": "Input Files", "flags": ["-i", "--inputs"], "description": "Input raster files.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output HTML File", "flags": ["-o", "--output"], "description": "Output HTML file (default name will be based on input file if unspecified).", "parameter_type": {"NewFile": "Html"}, "default_value": null, "optional": true}}}, "ImageCorrelationNeighbourhoodAnalysis": {"name": "ImageCorrelationNeighbourhoodAnalysis", "tool_name": "image_correlation_neighbourhood_analysis", "category": "Math and Stats Tools", "label": "Image Correlation Neighbourhood Analysis", "description": "Performs image correlation on two input images neighbourhood search windows.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/image_correlation_neighbourhood_analysis.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#ImageCorrelationNeighbourhoodAnalysis", "parameters": {"input1": {"name": "Image 1", "flags": ["--i1", "--input1"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "input2": {"name": "Image 2", "flags": ["--i2", "--input2"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output1": {"name": "Output Correlation File", "flags": ["--o1", "--output1"], "description": "Output correlation (r-value or rho) raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "output2": {"name": "Output Significance File", "flags": ["--o2", "--output2"], "description": "Output significance (p-value) raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "filter": {"name": "Filter Size", "flags": ["--filter"], "description": "Size of the filter kernel.", "parameter_type": "Integer", "default_value": "11", "optional": true}, "stat": {"name": "Correlation Statistic Type", "flags": ["--stat"], "description": "Correlation type; one of 'pearson' (default) and 'spearman'.", "parameter_type": {"OptionList": ["pearson", "kendall", "spearman"]}, "default_value": "pearson", "optional": true}}}, "ImageRegression": {"name": "ImageRegression", "tool_name": "image_regression", "category": "Math and Stats Tools", "label": "Image Regression", "description": "Performs image regression analysis on two input images.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/image_regression.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#ImageRegression", "parameters": {"input1": {"name": "Independent Variable (X).", "flags": ["--i1", "--input1"], "description": "Input raster file (independent variable, X).", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "input2": {"name": "Dependent Variable (Y).", "flags": ["--i2", "--input2"], "description": "Input raster file (dependent variable, Y).", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Summary Report File", "flags": ["-o", "--output"], "description": "Output HTML file for regression summary report.", "parameter_type": {"NewFile": "Html"}, "default_value": null, "optional": false}, "out_residuals": {"name": "Optional Residuals Output File", "flags": ["--out_residuals"], "description": "Output raster regression residual file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": true}, "standardize": {"name": "Standardize the residuals map?", "flags": ["--standardize"], "description": "Optional flag indicating whether to standardize the residuals map.", "parameter_type": "Boolean", "default_value": null, "optional": true}, "scattergram": {"name": "Output scattergram?", "flags": ["--scattergram"], "description": "Optional flag indicating whether to output a scattergram.", "parameter_type": "Boolean", "default_value": null, "optional": true}, "num_samples": {"name": "Num. Samples For Scattergram", "flags": ["--num_samples"], "description": "Number of samples used to create scattergram", "parameter_type": "Integer", "default_value": "1000", "optional": false}}}, "ImageSegmentation": {"name": "ImageSegmentation", "tool_name": "image_segmentation", "category": "Image Processing Tools", "label": "Image Segmentation", "description": "Performs a region-growing based segmentation on a set of multi-spectral images.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools/classification.html#ImageSegmentation", "parameters": {"inputs": {"name": "Input Band Images", "flags": ["-i", "--inputs"], "description": "Names of the input band images.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster File", "flags": ["-o", "--output"], "description": "Name of the output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "threshold": {"name": "Distance Threshold (z-scores)", "flags": ["--threshold"], "description": "Distance threshold, in z-scores.", "parameter_type": "Float", "default_value": "0.5", "optional": true}, "steps": {"name": "Number of Steps", "flags": ["--steps"], "description": "Number of steps.", "parameter_type": "Integer", "default_value": "10", "optional": true}, "min_area": {"name": "Min. Object Area (in grid cells)", "flags": ["--min_area"], "description": "Minimum object area, in grid cells (1-8).", "parameter_type": "Integer", "default_value": "4", "optional": true}}}, "ImageSlider": {"name": "ImageSlider", "tool_name": "image_slider", "category": "Image Processing Tools", "label": "Image Slider", "description": "This tool creates an image slider from two input images.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#ImageSlider", "parameters": {"input1": {"name": "Left Input Raster Image", "flags": ["--i1", "--input1"], "description": "Name of the left input image file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "palette1": {"name": "Left Image Palette", "flags": ["--p1", "--palette1"], "description": "Left image palette; options are 'grey', 'atlas', 'high_relief', 'arid', 'soft', 'muted', 'purple', 'viridi', 'gn_yl', 'pi_y_g', 'bl_yl_rd', 'deep', and 'rgb'.", "parameter_type": {"OptionList": ["grey", "atlas", "high_relief", "arid", "soft", "muted", "purple", "viridi", "gn_yl", "pi_y_g", "bl_yl_rd", "deep", "rgb"]}, "default_value": "grey", "optional": true}, "reverse1": {"name": "Reverse left image palette?", "flags": ["--r1", "--reverse1"], "description": "Reverse left image palette?", "parameter_type": "Boolean", "default_value": "false", "optional": false}, "label1": {"name": "Left Image Label (blank for none)", "flags": ["--l1", "--label1"], "description": "Left image label (leave blank for none)", "parameter_type": "String", "default_value": "", "optional": true}, "input2": {"name": "Right Input Raster Image", "flags": ["--i2", "--input2"], "description": "Name of the right input image file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "palette2": {"name": "Right Image Palette", "flags": ["--p2", "--palette2"], "description": "Right image palette; options are 'grey', 'atlas', 'high_relief', 'arid', 'soft', 'muted', 'purple', 'viridi', 'gn_yl', 'pi_y_g', 'bl_yl_rd', 'deep', and 'rgb'.", "parameter_type": {"OptionList": ["grey", "atlas", "high_relief", "arid", "soft", "muted", "purple", "viridi", "gn_yl", "pi_y_g", "bl_yl_rd", "deep", "rgb"]}, "default_value": "grey", "optional": true}, "reverse2": {"name": "Reverse right image palette?", "flags": ["--r2", "--reverse2"], "description": "Reverse right image palette?", "parameter_type": "Boolean", "default_value": "false", "optional": false}, "label2": {"name": "Right Image Label (blank for none)", "flags": ["--l2", "--label2"], "description": "Right image label (leave blank for none)", "parameter_type": "String", "default_value": "", "optional": true}, "output": {"name": "Output File (*.html)", "flags": ["-o", "--output"], "description": "Name of the output HTML file (*.html).", "parameter_type": {"NewFile": "Html"}, "default_value": null, "optional": false}, "height": {"name": "Image Height (in pixels)", "flags": ["-h", "--height"], "description": "Image height, in pixels.", "parameter_type": "Integer", "default_value": "600", "optional": true}}}, "ImageStackProfile": {"name": "ImageStackProfile", "tool_name": "image_stack_profile", "category": "Image Processing Tools", "label": "Image Stack Profile", "description": "Plots an image stack profile (i.e. signature) for a set of points and multispectral images.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/image_stack_profile.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#ImageStackProfile", "parameters": {"inputs": {"name": "Input Files", "flags": ["-i", "--inputs"], "description": "Input multispectral image files.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "points": {"name": "Input Vector Points File", "flags": ["--points"], "description": "Input vector points file.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "output": {"name": "Output HTML File", "flags": ["-o", "--output"], "description": "Output HTML file.", "parameter_type": {"NewFile": "Html"}, "default_value": null, "optional": false}}}, "ImpoundmentSizeIndex": {"name": "ImpoundmentSizeIndex", "tool_name": "impoundment_size_index", "category": "Hydrological Analysis", "label": "Impoundment Size Index", "description": "Calculates the impoundment size resulting from damming a DEM.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/impoundment_index.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#ImpoundmentSizeIndex", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "out_mean": {"name": "Output Mean Depth File", "flags": ["--out_mean"], "description": "Output mean flooded depth file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": true}, "out_max": {"name": "Output Max. Depth File", "flags": ["--out_max"], "description": "Output maximum flooded depth file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": true}, "out_volume": {"name": "Output Volume File", "flags": ["--out_volume"], "description": "Output flooded volume file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": true}, "out_area": {"name": "Output Area File", "flags": ["--out_area"], "description": "Output flooded area file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": true}, "out_dam_height": {"name": "Output Dam Height File", "flags": ["--out_dam_height"], "description": "Output dam height file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": true}, "damlength": {"name": "Max dam length (grid cells)", "flags": ["--damlength"], "description": "Maximum length of the dam.", "parameter_type": "Float", "default_value": null, "optional": false}}}, "InPlaceAdd": {"name": "InPlaceAdd", "tool_name": "in_place_add", "category": "Math and Stats Tools", "label": "In Place Add", "description": "Performs an in-place addition operation (input1 += input2).", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/inplace_add.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#InPlaceAdd", "parameters": {"input1": {"name": "Input Raster File", "flags": ["--input1"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "input2": {"name": "Input File Or Constant Value", "flags": ["--input2"], "description": "Input raster file or constant value.", "parameter_type": {"ExistingFileOrFloat": "Raster"}, "default_value": null, "optional": false}}}, "InPlaceDivide": {"name": "InPlaceDivide", "tool_name": "in_place_divide", "category": "Math and Stats Tools", "label": "In Place Divide", "description": "Performs an in-place division operation (input1 /= input2).", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/inplace_divide.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#InPlaceDivide", "parameters": {"input1": {"name": "Input Raster File", "flags": ["--input1"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "input2": {"name": "Input File Or Constant Value", "flags": ["--input2"], "description": "Input raster file or constant value.", "parameter_type": {"ExistingFileOrFloat": "Raster"}, "default_value": null, "optional": false}}}, "InPlaceMultiply": {"name": "InPlaceMultiply", "tool_name": "in_place_multiply", "category": "Math and Stats Tools", "label": "In Place Multiply", "description": "Performs an in-place multiplication operation (input1 *= input2).", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/inplace_multiply.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#InPlaceMultiply", "parameters": {"input1": {"name": "Input Raster File", "flags": ["--input1"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "input2": {"name": "Input File Or Constant Value", "flags": ["--input2"], "description": "Input raster file or constant value.", "parameter_type": {"ExistingFileOrFloat": "Raster"}, "default_value": null, "optional": false}}}, "InPlaceSubtract": {"name": "InPlaceSubtract", "tool_name": "in_place_subtract", "category": "Math and Stats Tools", "label": "In Place Subtract", "description": "Performs an in-place subtraction operation (input1 -= input2).", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/inplace_subtract.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#InPlaceSubtract", "parameters": {"input1": {"name": "Input Raster File", "flags": ["--input1"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "input2": {"name": "Input File Or Constant Value", "flags": ["--input2"], "description": "Input raster file or constant value.", "parameter_type": {"ExistingFileOrFloat": "Raster"}, "default_value": null, "optional": false}}}, "Increment": {"name": "Increment", "tool_name": "increment", "category": "Math and Stats Tools", "label": "Increment", "description": "Increases the values of each grid cell in an input raster by 1.0. (see also InPlaceAdd)", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/increment.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#Increment", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "IndividualTreeDetection": {"name": "IndividualTreeDetection", "tool_name": "individual_tree_detection", "category": "LiDAR Tools", "label": "Individual Tree Detection", "description": "Identifies points in a LiDAR point cloud that are associated with the tops of individual trees.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#IndividualTreeDetection", "parameters": {"i": {"name": "Input LiDAR File", "flags": ["-i", "--input"], "description": "Name of the input LiDAR file.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": true}, "output": {"name": "Output Vector", "flags": ["-o", "--output"], "description": "Name of the output vector points file.", "parameter_type": {"NewFile": {"Vector": "Point"}}, "default_value": null, "optional": true}, "min_search_radius": {"name": "Min. Search Radius", "flags": ["--min_search_radius"], "description": "Minimum search radius (m).", "parameter_type": "Float", "default_value": "1.0", "optional": false}, "min_height": {"name": "Min. Height", "flags": ["--min_height"], "description": "Minimum height (m).", "parameter_type": "Float", "default_value": "0.0", "optional": false}, "max_search_radius": {"name": "Max. Search Radius", "flags": ["--max_search_radius"], "description": "Maximum search radius (m).", "parameter_type": "Float", "default_value": "", "optional": true}, "max_height": {"name": "Max. Height", "flags": ["--max_height"], "description": "Maximum height (m).", "parameter_type": "Float", "default_value": "", "optional": true}, "only_use_veg": {"name": "Only use veg. class points?", "flags": ["--only_use_veg"], "description": "Only use veg. class points?", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "InsertDams": {"name": "InsertDams", "tool_name": "insert_dams", "category": "Hydrological Analysis", "label": "Insert Dams", "description": "Calculates the impoundment size resulting from damming a DEM.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/insert_dams.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#InsertDams", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "dam_pts": {"name": "Input Dam Points", "flags": ["--dam_pts"], "description": "Input vector dam points file.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "damlength": {"name": "Max dam length (grid cells)", "flags": ["--damlength"], "description": "Maximum length of the dam.", "parameter_type": "Float", "default_value": null, "optional": false}}}, "InstallWbExtension": {"name": "InstallWbExtension", "tool_name": "install_wb_extension", "category": "Whitebox Utilities", "label": "Install Wb Extension", "description": "Use to install a Whitebox extension product.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/whitebox_utilities.html#InstallWbExtension", "parameters": {"install_extension": {"name": "Whitebox Extension Product Name", "flags": ["--install_extension"], "description": "Name of the extension product to install. Options include: 'General Toolset Extension', 'DEM & Spatial Hydrology Extension', 'Lidar & Remote Sensing Extension', and 'Agriculture Extension'", "parameter_type": {"OptionList": ["General Toolset Extension", "DEM & Spatial Hydrology Extension", "Lidar & Remote Sensing Extension", "Agriculture Extension"]}, "default_value": "General Toolset Extension", "optional": false}}}, "IntegerDivision": {"name": "IntegerDivision", "tool_name": "integer_division", "category": "Math and Stats Tools", "label": "Integer Division", "description": "Performs an integer division operation on two rasters or a raster and a constant value.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/integer_division.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#IntegerDivision", "parameters": {"input1": {"name": "Input File Or Constant Value", "flags": ["--input1"], "description": "Input raster file or constant value.", "parameter_type": {"ExistingFileOrFloat": "Raster"}, "default_value": null, "optional": false}, "input2": {"name": "Input File Or Constant Value", "flags": ["--input2"], "description": "Input raster file or constant value.", "parameter_type": {"ExistingFileOrFloat": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "IntegralImage": {"name": "IntegralImage", "tool_name": "integral_image", "category": "Image Processing Tools", "label": "Integral Image", "description": "Transforms an input image (summed area table) into its integral image equivalent.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/integral_image.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#IntegralImage", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "Intersect": {"name": "Intersect", "tool_name": "intersect", "category": "GIS Analysis", "label": "Intersect", "description": "Identifies the parts of features in common between two input vector layers.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/intersect.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#Intersect", "parameters": {"i": {"name": "Input Vector File", "flags": ["-i", "--input"], "description": "Input vector file.", "parameter_type": {"ExistingFile": {"Vector": "Any"}}, "default_value": null, "optional": false}, "overlay": {"name": "Input Overlay Vector File", "flags": ["--overlay"], "description": "Input overlay vector file.", "parameter_type": {"ExistingFile": {"Vector": "Any"}}, "default_value": null, "optional": false}, "output": {"name": "Output Vector File", "flags": ["-o", "--output"], "description": "Output vector file.", "parameter_type": {"NewFile": {"Vector": "Any"}}, "default_value": null, "optional": false}, "snap": {"name": "Snap Tolerance", "flags": ["--snap"], "description": "Snap tolerance.", "parameter_type": "Float", "default_value": "0.0", "optional": true}}}, "InversePrincipalComponentAnalysis": {"name": "InversePrincipalComponentAnalysis", "tool_name": "inverse_pca", "category": "Math and Stats Tools", "label": "Inverse Pca", "description": "This tool performs an inverse principal component analysis on a series of input component images.", "github": "https://github.com/jblindsay/whitebox-tools/tree/master/whitebox-tools-app/src/tools", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#InversePca", "parameters": {"inputs": {"name": "Input PCA Component Images", "flags": ["-i", "--inputs"], "description": "Name of the input PCA component images.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "report": {"name": "Input PCA Report File", "flags": ["-r", "--report"], "description": "Name of the PCA report file (*.html).", "parameter_type": {"NewFile": "Html"}, "default_value": null, "optional": false}}}, "IsNoData": {"name": "IsNoData", "tool_name": "is_no_data", "category": "Math and Stats Tools", "label": "Is No Data", "description": "Identifies NoData valued pixels in an image.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/isnodata.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#IsNoData", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "Isobasins": {"name": "Isobasins", "tool_name": "isobasins", "category": "Hydrological Analysis", "label": "Isobasins", "description": "Divides a landscape into nearly equal sized drainage basins (i.e. watersheds).", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/isobasins.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#Isobasins", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "size": {"name": "Target Basin Size (grid cells)", "flags": ["--size"], "description": "Target basin size, in grid cells.", "parameter_type": "Integer", "default_value": null, "optional": false}, "connections": {"name": "Output basin upstream-downstream connections?", "flags": ["--connections"], "description": "Output upstream-downstream flow connections among basins?", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "JensonSnapPourPoints": {"name": "JensonSnapPourPoints", "tool_name": "jenson_snap_pour_points", "category": "Hydrological Analysis", "label": "Jenson Snap Pour Points", "description": "Moves outlet points used to specify points of interest in a watershedding operation to the nearest stream cell.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/jenson_snap_pour_points.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#JensonSnapPourPoints", "parameters": {"pour_pts": {"name": "Input Pour Points (Outlet) File", "flags": ["--pour_pts"], "description": "Input vector pour points (outlet) file.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "streams": {"name": "Input Streams File", "flags": ["--streams"], "description": "Input raster streams file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output vector file.", "parameter_type": {"NewFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "snap_dist": {"name": "Maximum Snap Distance (map units)", "flags": ["--snap_dist"], "description": "Maximum snap distance in map units.", "parameter_type": "Float", "default_value": null, "optional": false}}}, "JoinTables": {"name": "JoinTables", "tool_name": "join_tables", "category": "Data Tools", "label": "Join Tables", "description": "Merge a vector's attribute table with another table based on a common field.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/data_tools/join_tables.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/data_tools.html#JoinTables", "parameters": {"input1": {"name": "Input Primary Vector File", "flags": ["--i1", "--input1"], "description": "Input primary vector file (i.e. the table to be modified).", "parameter_type": {"ExistingFile": {"Vector": "Any"}}, "default_value": null, "optional": false}, "pkey": {"name": "Primary Key Field", "flags": ["--pkey"], "description": "Primary key field.", "parameter_type": {"VectorAttributeField": ["Any", "--input1"]}, "default_value": null, "optional": false}, "input2": {"name": "Input Foreign Vector File", "flags": ["--i2", "--input2"], "description": "Input foreign vector file (i.e. source of data to be imported).", "parameter_type": {"ExistingFile": {"Vector": "Any"}}, "default_value": null, "optional": false}, "fkey": {"name": "Foreign Key Field", "flags": ["--fkey"], "description": "Foreign key field.", "parameter_type": {"VectorAttributeField": ["Any", "--input2"]}, "default_value": null, "optional": false}, "import_field": {"name": "Imported Field", "flags": ["--import_field"], "description": "Imported field (all fields will be imported if not specified).", "parameter_type": {"VectorAttributeField": ["Any", "--input2"]}, "default_value": null, "optional": true}}}, "KMeansClustering": {"name": "KMeansClustering", "tool_name": "k_means_clustering", "category": "Machine Learning", "label": "K Means Clustering", "description": "Performs a k-means clustering operation on a multi-spectral dataset.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/k_means_clustering.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/machine_learning.html#KMeansClustering", "parameters": {"inputs": {"name": "Input Files", "flags": ["-i", "--inputs"], "description": "Input raster files.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "out_html": {"name": "Output HTML Report File", "flags": ["--out_html"], "description": "Output HTML report file.", "parameter_type": {"NewFile": "Html"}, "default_value": null, "optional": true}, "classes": {"name": "Num. Classes (k)", "flags": ["--classes"], "description": "Number of classes", "parameter_type": "Integer", "default_value": null, "optional": false}, "max_iterations": {"name": "Max. Iterations", "flags": ["--max_iterations"], "description": "Maximum number of iterations", "parameter_type": "Integer", "default_value": "10", "optional": true}, "class_change": {"name": "Percent Class Change Threshold", "flags": ["--class_change"], "description": "Minimum percent of cells changed between iterations before completion", "parameter_type": "Float", "default_value": "2.0", "optional": true}, "initialize": {"name": "How to Initialize Cluster Centres?", "flags": ["--initialize"], "description": "How to initialize cluster centres?", "parameter_type": {"OptionList": ["diagonal", "random"]}, "default_value": "diagonal", "optional": true}, "min_class_size": {"name": "Min. Class Size", "flags": ["--min_class_size"], "description": "Minimum class size, in pixels", "parameter_type": "Integer", "default_value": "10", "optional": true}}}, "KNearestMeanFilter": {"name": "KNearestMeanFilter", "tool_name": "k_nearest_mean_filter", "category": "Image Processing Tools", "label": "K Nearest Mean Filter", "description": "A k-nearest mean filter is a type of edge-preserving smoothing filter.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/k_nearest_mean_filter.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#KNearestMeanFilter", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "filterx": {"name": "Filter X-Dimension", "flags": ["--filterx"], "description": "Size of the filter kernel in the x-direction.", "parameter_type": "Integer", "default_value": "11", "optional": true}, "filtery": {"name": "Filter Y-Dimension", "flags": ["--filtery"], "description": "Size of the filter kernel in the y-direction.", "parameter_type": "Integer", "default_value": "11", "optional": true}, "k": {"name": "K-value (pixels)", "flags": ["-k"], "description": "k-value in pixels; this is the number of nearest-valued neighbours to use.", "parameter_type": "Integer", "default_value": "5", "optional": true}}}, "KappaIndex": {"name": "KappaIndex", "tool_name": "kappa_index", "category": "Math and Stats Tools", "label": "Kappa Index", "description": "Performs a kappa index of agreement (KIA) analysis on two categorical raster files.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/kappa_index.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#KappaIndex", "parameters": {"input1": {"name": "Input Classification File", "flags": ["--i1", "--input1"], "description": "Input classification raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "input2": {"name": "Input Reference File", "flags": ["--i2", "--input2"], "description": "Input reference raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output HTML file.", "parameter_type": {"NewFile": "Html"}, "default_value": null, "optional": false}}}, "KnnClassification": {"name": "KnnClassification", "tool_name": "knn_classification", "category": "Machine Learning", "label": "Knn Classification", "description": "Performs a supervised k-nearest neighbour classification using training site polygons/points and predictor rasters.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/machine_learning.html#KnnClassification", "parameters": {"inputs": {"name": "Input Predictor Rasters", "flags": ["-i", "--inputs"], "description": "Names of the input predictor rasters.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "training": {"name": "Input Training Polygons/Points", "flags": ["-t", "--training"], "description": "Name of the input training site polygons/points shapefile.", "parameter_type": {"ExistingFile": {"Vector": "Any"}}, "default_value": null, "optional": false}, "field": {"name": "Class Name Field", "flags": ["-f", "--field"], "description": "Name of the attribute containing class name data.", "parameter_type": {"VectorAttributeField": ["Any", "--training"]}, "default_value": null, "optional": false}, "test_proportion": {"name": "Test Proportion", "flags": ["--test_proportion"], "description": "The proportion of the dataset to include in the test split; default is 0.2.", "parameter_type": "Float", "default_value": "0.2", "optional": false}, "output": {"name": "Output Raster File", "flags": ["-o", "--output"], "description": "Name of the output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": true}, "scaling": {"name": "Scaling Method", "flags": ["--scaling"], "description": "Scaling method for predictors. Options include 'None', 'Normalize', and 'Standardize'", "parameter_type": {"OptionList": ["None", "Normalize", "Standardize"]}, "default_value": "Normalize", "optional": true}, "k": {"name": "Number of Nearest Neighbours, k", "flags": ["-k"], "description": "k-parameter, which determines the number of nearest neighbours used.", "parameter_type": "Integer", "default_value": "5", "optional": true}, "clip": {"name": "Perform training data clipping?", "flags": ["--clip"], "description": "Perform training data clipping to remove outlier pixels?", "parameter_type": "Boolean", "default_value": "true", "optional": true}}}, "KnnRegression": {"name": "KnnRegression", "tool_name": "knn_regression", "category": "Machine Learning", "label": "Knn Regression", "description": "Performs a supervised k-nearest neighbour regression using training site points and predictor rasters.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/machine_learning.html#KnnRegression", "parameters": {"inputs": {"name": "Input Predictor Rasters", "flags": ["-i", "--inputs"], "description": "Names of the input predictor rasters.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "scaling": {"name": "Scaling Method", "flags": ["--scaling"], "description": "Scaling method for predictors. Options include 'None', 'Normalize', and 'Standardize'", "parameter_type": {"OptionList": ["None", "Normalize", "Standardize"]}, "default_value": "Normalize", "optional": true}, "training": {"name": "Input Training Points", "flags": ["-t", "--training"], "description": "Name of the input training site points Shapefile.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "field": {"name": "Response Variable Field Name", "flags": ["-f", "--field"], "description": "Name of the attribute containing response variable name data.", "parameter_type": {"VectorAttributeField": ["Any", "--training"]}, "default_value": null, "optional": false}, "output": {"name": "Output Raster File", "flags": ["-o", "--output"], "description": "Name of the output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": true}, "k": {"name": "Number of Nearest Neighbours, k", "flags": ["-k"], "description": "k-parameter, which determines the number of nearest neighbours used.", "parameter_type": "Integer", "default_value": "5", "optional": true}, "weight": {"name": "Use distance weighting?", "flags": ["--weight"], "description": "Use distance weighting?", "parameter_type": "Boolean", "default_value": "true", "optional": true}, "test_proportion": {"name": "Test Proportion", "flags": ["--test_proportion"], "description": "The proportion of the dataset to include in the test split; default is 0.2.", "parameter_type": "Float", "default_value": "0.2", "optional": false}}}, "KsTestForNormality": {"name": "KsTestForNormality", "tool_name": "ks_test_for_normality", "category": "Math and Stats Tools", "label": "Ks Test For Normality", "description": "Evaluates whether the values in a raster are normally distributed.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/ks_normality_test.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#KsTestForNormality", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output HTML file.", "parameter_type": {"NewFile": "Html"}, "default_value": null, "optional": false}, "num_samples": {"name": "Num. Samples (blank for while image)", "flags": ["--num_samples"], "description": "Number of samples. Leave blank to use whole image.", "parameter_type": "Integer", "default_value": null, "optional": true}}}, "LaplacianFilter": {"name": "LaplacianFilter", "tool_name": "laplacian_filter", "category": "Image Processing Tools", "label": "Laplacian Filter", "description": "Performs a Laplacian filter on an image.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/laplacian_filter.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#LaplacianFilter", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "variant": {"name": "Variant", "flags": ["--variant"], "description": "Optional variant value. Options include 3x3(1), 3x3(2), 3x3(3), 3x3(4), 5x5(1), and 5x5(2) (default is 3x3(1)).", "parameter_type": {"OptionList": ["3x3(1)", "3x3(2)", "3x3(3)", "3x3(4)", "5x5(1)", "5x5(2)"]}, "default_value": "3x3(1)", "optional": true}, "clip": {"name": "Distribution Tail Clip Amount (%)", "flags": ["--clip"], "description": "Optional amount to clip the distribution tails by, in percent.", "parameter_type": "Float", "default_value": "0.0", "optional": true}}}, "LaplacianOfGaussianFilter": {"name": "LaplacianOfGaussianFilter", "tool_name": "laplacian_of_gaussian_filter", "category": "Image Processing Tools", "label": "Laplacian Of Gaussian Filter", "description": "Performs a Laplacian-of-Gaussian (LoG) filter on an image.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/log_filter.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#LaplacianOfGaussianFilter", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "sigma": {"name": "Standard Deviation (Pixels)", "flags": ["--sigma"], "description": "Standard deviation in pixels.", "parameter_type": "Float", "default_value": "0.75", "optional": true}}}, "LasToAscii": {"name": "LasToAscii", "tool_name": "las_to_ascii", "category": "LiDAR Tools", "label": "Las To Ascii", "description": "Converts one or more LAS files into ASCII text files.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/lidar_analysis/las_to_ascii.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#LasToAscii", "parameters": {"inputs": {"name": "Input LiDAR Files", "flags": ["-i", "--inputs"], "description": "Input LiDAR files.", "parameter_type": {"FileList": "Lidar"}, "default_value": null, "optional": false}}}, "LasToLaz": {"name": "LasToLaz", "tool_name": "las_to_laz", "category": "LiDAR Tools", "label": "Las To Laz", "description": "This tool converts one or more LAS files into the LAZ format", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#LasToLaz", "parameters": {"i": {"name": "Input LAS File", "flags": ["-i", "--input"], "description": "Name of the input LAS files (leave blank to use all LAS files in WorkingDirectory.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": true}, "output": {"name": "Output LAZ File", "flags": ["-o", "--output"], "description": "Output LAZ file (including extension).", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": true}}}, "LasToMultipointShapefile": {"name": "LasToMultipointShapefile", "tool_name": "las_to_multipoint_shapefile", "category": "LiDAR Tools", "label": "Las To Multipoint Shapefile", "description": "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.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/lidar_analysis/las_to_multipoint_shapefile.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#LasToMultipointShapefile", "parameters": {"i": {"name": "Input LiDAR File", "flags": ["-i", "--input"], "description": "Input LiDAR file.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": true}}}, "LasToShapefile": {"name": "LasToShapefile", "tool_name": "las_to_shapefile", "category": "LiDAR Tools", "label": "Las To Shapefile", "description": "Converts one or more LAS files into a vector Shapefile of POINT ShapeType.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/lidar_analysis/las_to_shapefile.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#LasToShapefile", "parameters": {"i": {"name": "Input LiDAR File", "flags": ["-i", "--input"], "description": "Input LiDAR file.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": true}}}, "LasToZlidar": {"name": "LasToZlidar", "tool_name": "las_to_zlidar", "category": "LiDAR Tools", "label": "Las To Zlidar", "description": "Converts one or more LAS files into the zlidar compressed LiDAR data format.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/lidar_analysis/las_to_zlidar.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#LasToZlidar", "parameters": {"inputs": {"name": "Input LAS Files", "flags": ["-i", "--inputs"], "description": "Input LAS files.", "parameter_type": {"FileList": "Lidar"}, "default_value": null, "optional": true}, "outdir": {"name": "Output Directory", "flags": ["--outdir"], "description": "Output directory into which zlidar files are created. If unspecified, it is assumed to be the same as the inputs.", "parameter_type": "Directory", "default_value": null, "optional": true}, "compress": {"name": "Compression Method", "flags": ["--compress"], "description": "Compression method, including 'brotli' and 'deflate'.", "parameter_type": {"OptionList": ["brotli", "deflate"]}, "default_value": "brotli", "optional": true}, "level": {"name": "Compression Level", "flags": ["--level"], "description": "Compression level (1-9).", "parameter_type": "Integer", "default_value": "5", "optional": true}}}, "LaunchWbRunner": {"name": "LaunchWbRunner", "tool_name": "launch_wb_runner", "category": "Whitebox Utilities", "label": "Launch Wb Runner", "description": "Opens the Whitebox Runner application.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/whitebox_utilities.html#LaunchWbRunner", "parameters": {"clear_app_state": {"name": "Clear the application state memory?", "flags": ["--clear_app_state"], "description": "Clear the application state memory?", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "LayerFootprint": {"name": "LayerFootprint", "tool_name": "layer_footprint", "category": "GIS Analysis", "label": "Layer Footprint", "description": "Creates a vector polygon footprint of the area covered by a raster grid or vector layer.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/layer_footprint.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#LayerFootprint", "parameters": {"i": {"name": "Input Raster or Vector File", "flags": ["-i", "--input"], "description": "Input raster or vector file.", "parameter_type": {"ExistingFile": {"RasterAndVector": "Any"}}, "default_value": null, "optional": false}, "output": {"name": "Output Polygon File", "flags": ["-o", "--output"], "description": "Output vector polygon file.", "parameter_type": {"NewFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}}}, "LazToLas": {"name": "LazToLas", "tool_name": "laz_to_las", "category": "LiDAR Tools", "label": "Laz To Las", "description": "This tool converts one or more LAZ files into the LAS format", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#LazToLas", "parameters": {"i": {"name": "Input LAZ File", "flags": ["-i", "--input"], "description": "Name of the input LAZ files (leave blank to use all LAZ files in WorkingDirectory.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": true}, "output": {"name": "Output LAS File", "flags": ["-o", "--output"], "description": "Output LAS file (including extension).", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": true}}}, "LeeSigmaFilter": {"name": "LeeSigmaFilter", "tool_name": "lee_sigma_filter", "category": "Image Processing Tools", "label": "Lee Sigma Filter", "description": "Performs a Lee (Sigma) smoothing filter on an image.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/lee_filter.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#LeeSigmaFilter", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "filterx": {"name": "Filter X-Dimension", "flags": ["--filterx"], "description": "Size of the filter kernel in the x-direction.", "parameter_type": "Integer", "default_value": "11", "optional": true}, "filtery": {"name": "Filter Y-Dimension", "flags": ["--filtery"], "description": "Size of the filter kernel in the y-direction.", "parameter_type": "Integer", "default_value": "11", "optional": true}, "sigma": {"name": "Sigma", "flags": ["--sigma"], "description": "Sigma value should be related to the standard deviation of the distribution of image speckle noise.", "parameter_type": "Float", "default_value": "10.0", "optional": true}, "m": {"name": "M-value", "flags": ["-m"], "description": "M-threshold value the minimum allowable number of pixels within the intensity range", "parameter_type": "Float", "default_value": "5.0", "optional": true}}}, "LengthOfUpstreamChannels": {"name": "LengthOfUpstreamChannels", "tool_name": "length_of_upstream_channels", "category": "Stream Network Analysis", "label": "Length Of Upstream Channels", "description": "Calculates the total length of channels upstream.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/stream_network_analysis/total_length_channels.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/stream_network_analysis.html#LengthOfUpstreamChannels", "parameters": {"d8_pntr": {"name": "Input D8 Pointer File", "flags": ["--d8_pntr"], "description": "Input raster D8 pointer file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "streams": {"name": "Input Streams File", "flags": ["--streams"], "description": "Input raster streams file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "esri_pntr": {"name": "Does the pointer file use the ESRI pointer scheme?", "flags": ["--esri_pntr"], "description": "D8 pointer uses the ESRI style scheme.", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "zero_background": {"name": "Should a background value of zero be used?", "flags": ["--zero_background"], "description": "Flag indicating whether a background value of zero should be used.", "parameter_type": "Boolean", "default_value": null, "optional": true}}}, "LessThan": {"name": "LessThan", "tool_name": "less_than", "category": "Math and Stats Tools", "label": "Less Than", "description": "Performs a less-than comparison operation on two rasters or a raster and a constant value.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/less_than.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#LessThan", "parameters": {"input1": {"name": "Input File Or Constant Value", "flags": ["--input1"], "description": "Input raster file or constant value.", "parameter_type": {"ExistingFileOrFloat": "Raster"}, "default_value": null, "optional": false}, "input2": {"name": "Input File Or Constant Value", "flags": ["--input2"], "description": "Input raster file or constant value.", "parameter_type": {"ExistingFileOrFloat": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "incl_equals": {"name": "Perform a less-than-OR-EQUAL-TO operation?", "flags": ["--incl_equals"], "description": "Perform a less-than-or-equal-to operation.", "parameter_type": "Boolean", "default_value": null, "optional": true}}}, "LidarBlockMaximum": {"name": "LidarBlockMaximum", "tool_name": "lidar_block_maximum", "category": "LiDAR Tools", "label": "Lidar Block Maximum", "description": "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.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/lidar_analysis/block_maximum.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#LidarBlockMaximum", "parameters": {"i": {"name": "Input LiDAR File", "flags": ["-i", "--input"], "description": "Input LiDAR file.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": true}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": true}, "resolution": {"name": "Grid Resolution", "flags": ["--resolution"], "description": "Output raster's grid resolution.", "parameter_type": "Float", "default_value": "1.0", "optional": true}}}, "LidarBlockMinimum": {"name": "LidarBlockMinimum", "tool_name": "lidar_block_minimum", "category": "LiDAR Tools", "label": "Lidar Block Minimum", "description": "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.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/lidar_analysis/block_minimum.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#LidarBlockMinimum", "parameters": {"i": {"name": "Input LiDAR File", "flags": ["-i", "--input"], "description": "Input LiDAR file.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": true}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": true}, "resolution": {"name": "Grid Resolution", "flags": ["--resolution"], "description": "Output raster's grid resolution.", "parameter_type": "Float", "default_value": "1.0", "optional": true}}}, "LidarClassifySubset": {"name": "LidarClassifySubset", "tool_name": "lidar_classify_subset", "category": "LiDAR Tools", "label": "Lidar Classify Subset", "description": "Classifies the values in one LiDAR point cloud that correspond with points in a subset cloud.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/lidar_analysis/lidar_classify_subset.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#LidarClassifySubset", "parameters": {"base": {"name": "Input Base LiDAR File", "flags": ["--base"], "description": "Input base LiDAR file.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": false}, "subset": {"name": "Input Subset LiDAR File", "flags": ["--subset"], "description": "Input subset LiDAR file.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": false}, "output": {"name": "Output LiDAR File", "flags": ["-o", "--output"], "description": "Output LiDAR file.", "parameter_type": {"NewFile": "Lidar"}, "default_value": null, "optional": false}, "subset_class": {"name": "Subset Point Class Value", "flags": ["--subset_class"], "description": "Subset point class value (must be 0-18; see LAS specifications).", "parameter_type": "Float", "default_value": null, "optional": false}, "nonsubset_class": {"name": "Non-Subset Point Class Value (Optional)", "flags": ["--nonsubset_class"], "description": "Non-subset point class value (must be 0-18; see LAS specifications).", "parameter_type": "Float", "default_value": null, "optional": true}}}, "LidarColourize": {"name": "LidarColourize", "tool_name": "lidar_colourize", "category": "LiDAR Tools", "label": "Lidar Colourize", "description": "Adds the red-green-blue colour fields of a LiDAR (LAS) file based on an input image.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/lidar_analysis/lidar_colourize.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#LidarColourize", "parameters": {"in_lidar": {"name": "Input LiDAR File", "flags": ["--in_lidar"], "description": "Input LiDAR file.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": false}, "in_image": {"name": "Input Colour Image File", "flags": ["--in_image"], "description": "Input colour image file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output LiDAR File", "flags": ["-o", "--output"], "description": "Output LiDAR file.", "parameter_type": {"NewFile": "Lidar"}, "default_value": null, "optional": false}}}, "LidarContour": {"name": "LidarContour", "tool_name": "lidar_contour", "category": "LiDAR Tools", "label": "Lidar Contour", "description": "This tool creates a vector contour coverage from an input LiDAR point file.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#LidarContour", "parameters": {"i": {"name": "Input LiDAR Points", "flags": ["-i", "--input"], "description": "Name of the input LiDAR points.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": true}, "output": {"name": "Output Vector Lines", "flags": ["-o", "--output"], "description": "Name of the output vector lines file.", "parameter_type": {"NewFile": {"Vector": "Line"}}, "default_value": null, "optional": true}, "interval": {"name": "Contour Interval", "flags": ["--interval"], "description": "Contour interval.", "parameter_type": "Float", "default_value": "10.0", "optional": false}, "base": {"name": "Base Contour", "flags": ["--base"], "description": "Base contour.", "parameter_type": "Float", "default_value": "0.0", "optional": false}, "smooth": {"name": "Smoothing Filter Size", "flags": ["--smooth"], "description": "Smoothing filter size (in num. points), e.g. 3, 5, 7, 9, 11...", "parameter_type": "Integer", "default_value": "5", "optional": true}, "parameter": {"name": "Interpolation Parameter", "flags": ["-p", "--parameter"], "description": "Interpolation parameter; options are 'elevation' (default), 'intensity', 'user_data'.", "parameter_type": {"OptionList": ["elevation", "intensity", "user_data"]}, "default_value": "elevation", "optional": true}, "returns": {"name": "Point Returns Included", "flags": ["--returns"], "description": "Point return types to include; options are 'all' (default), 'last', 'first'.", "parameter_type": {"OptionList": ["all", "last", "first"]}, "default_value": "all", "optional": true}, "exclude_cls": {"name": "Exclusion Classes (0-18, based on LAS spec; e.g. 3,4,5,6,7)", "flags": ["--exclude_cls"], "description": "Optional exclude classes from interpolation; Valid class values range from 0 to 18, based on LAS specifications. Example, --exclude_cls='3,4,5,6,7,18'.", "parameter_type": "String", "default_value": null, "optional": true}, "minz": {"name": "Minimum Elevation Value (optional)", "flags": ["--minz"], "description": "Optional minimum elevation for inclusion in interpolation.", "parameter_type": "Float", "default_value": null, "optional": true}, "maxz": {"name": "Maximum Elevation Value (optional)", "flags": ["--maxz"], "description": "Optional maximum elevation for inclusion in interpolation.", "parameter_type": "Float", "default_value": null, "optional": true}, "max_triangle_edge_length": {"name": "Maximum Triangle Length (optional)", "flags": ["--max_triangle_edge_length"], "description": "Optional maximum triangle edge length; triangles larger than this size will not be gridded.", "parameter_type": "Float", "default_value": null, "optional": true}}}, "LidarDigitalSurfaceModel": {"name": "LidarDigitalSurfaceModel", "tool_name": "lidar_digital_surface_model", "category": "LiDAR Tools", "label": "Lidar Digital Surface Model", "description": "Creates a top-surface digital surface model (DSM) from a LiDAR point cloud.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/lidar_analysis/lidar_dsm.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#LidarDigitalSurfaceModel", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input LiDAR file (including extension).", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": true}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file (including extension).", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": true}, "resolution": {"name": "Grid Resolution", "flags": ["--resolution"], "description": "Output raster's grid resolution.", "parameter_type": "Float", "default_value": "1.0", "optional": true}, "radius": {"name": "Search Radius", "flags": ["--radius"], "description": "Search Radius.", "parameter_type": "Float", "default_value": "0.5", "optional": true}, "minz": {"name": "Minimum Elevation Value (optional)", "flags": ["--minz"], "description": "Optional minimum elevation for inclusion in interpolation.", "parameter_type": "Float", "default_value": null, "optional": true}, "maxz": {"name": "Maximum Elevation Value (optional)", "flags": ["--maxz"], "description": "Optional maximum elevation for inclusion in interpolation.", "parameter_type": "Float", "default_value": null, "optional": true}, "max_triangle_edge_length": {"name": "Maximum Triangle Edge Length (optional)", "flags": ["--max_triangle_edge_length"], "description": "Optional maximum triangle edge length; triangles larger than this size will not be gridded.", "parameter_type": "Float", "default_value": null, "optional": true}}}, "LidarEigenvalueFeatures": {"name": "LidarEigenvalueFeatures", "tool_name": "lidar_eigenvalue_features", "category": "LiDAR Tools", "label": "Lidar Eigenvalue Features", "description": "Calculate eigenvalue-based metrics from a LiDAR point cloud.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#LidarEigenvalueFeatures", "parameters": {"i": {"name": "Input LiDAR Points", "flags": ["-i", "--input"], "description": "Name of the input LiDAR points.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": true}, "num_neighbours": {"name": "Number of Neighbours:", "flags": ["--num_neighbours"], "description": "Number of neighbours used in search.", "parameter_type": "Integer", "default_value": null, "optional": true}, "radius": {"name": "Search Distance:", "flags": ["--radius"], "description": "Search distance used in neighbourhood search.", "parameter_type": "Float", "default_value": null, "optional": true}}}, "LidarElevationSlice": {"name": "LidarElevationSlice", "tool_name": "lidar_elevation_slice", "category": "LiDAR Tools", "label": "Lidar Elevation Slice", "description": "Outputs all of the points within a LiDAR (LAS) point file that lie between a specified elevation range.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/lidar_analysis/lidar_elevation_slice.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#LidarElevationSlice", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input LiDAR file.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output LiDAR file.", "parameter_type": {"NewFile": "Lidar"}, "default_value": null, "optional": false}, "minz": {"name": "Minimum Elevation Value", "flags": ["--minz"], "description": "Minimum elevation value (optional).", "parameter_type": "Float", "default_value": null, "optional": true}, "maxz": {"name": "Maximum Elevation Value", "flags": ["--maxz"], "description": "Maximum elevation value (optional).", "parameter_type": "Float", "default_value": null, "optional": true}, "class": {"name": "Retain but reclass points outside the specified elevation range?", "flags": ["--class"], "description": "Optional boolean flag indicating whether points outside the range should be retained in output but reclassified.", "parameter_type": "Boolean", "default_value": null, "optional": true}, "inclassval": {"name": "Class Value Assigned to Points Within Range (Optional)", "flags": ["--inclassval"], "description": "Optional parameter specifying the class value assigned to points within the slice.", "parameter_type": "Integer", "default_value": "2", "optional": true}, "outclassval": {"name": "Class Value Assigned to Points Outside Range (Optional)", "flags": ["--outclassval"], "description": "Optional parameter specifying the class value assigned to points within the slice.", "parameter_type": "Integer", "default_value": "1", "optional": true}}}, "LidarGroundPointFilter": {"name": "LidarGroundPointFilter", "tool_name": "lidar_ground_point_filter", "category": "LiDAR Tools", "label": "Lidar Ground Point Filter", "description": "Identifies ground points within LiDAR dataset using a slope-based method.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/lidar_analysis/lidar_ground_point_filter.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#LidarGroundPointFilter", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input LiDAR file.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output LiDAR file.", "parameter_type": {"NewFile": "Lidar"}, "default_value": null, "optional": false}, "radius": {"name": "Search Radius", "flags": ["--radius"], "description": "Search Radius.", "parameter_type": "Float", "default_value": "2.0", "optional": false}, "min_neighbours": {"name": "Minimum Number of Neighbours", "flags": ["--min_neighbours"], "description": "The minimum number of neighbouring points within search areas. If fewer points than this threshold are identified during the fixed-radius search, a subsequent kNN search is performed to identify the k number of neighbours.", "parameter_type": "Integer", "default_value": "0", "optional": true}, "slope_threshold": {"name": "Inter-point Slope Threshold", "flags": ["--slope_threshold"], "description": "Maximum inter-point slope to be considered an off-terrain point.", "parameter_type": "Float", "default_value": "45.0", "optional": true}, "height_threshold": {"name": "Off-terrain Point Height Threshold", "flags": ["--height_threshold"], "description": "Inter-point height difference to be considered an off-terrain point.", "parameter_type": "Float", "default_value": "1.0", "optional": true}, "classify": {"name": "Classify Points", "flags": ["--classify"], "description": "Classify points as ground (2) or off-ground (1).", "parameter_type": "Boolean", "default_value": "true", "optional": true}, "slope_norm": {"name": "Perform initial ground slope normalization?", "flags": ["--slope_norm"], "description": "Perform initial ground slope normalization?", "parameter_type": "Boolean", "default_value": "true", "optional": true}, "height_above_ground": {"name": "Transform output to height above average ground elevation?", "flags": ["--height_above_ground"], "description": "Transform output to height above average ground elevation?", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "LidarHexBinning": {"name": "LidarHexBinning", "tool_name": "lidar_hex_binning", "category": "LiDAR Tools", "label": "Lidar Hex Binning", "description": "Hex-bins a set of LiDAR points.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/lidar_analysis/lidar_hex_bin.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#LidarHexBinning", "parameters": {"i": {"name": "Input Base File", "flags": ["-i", "--input"], "description": "Input base file.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": false}, "output": {"name": "Output Polygon File", "flags": ["-o", "--output"], "description": "Output vector polygon file.", "parameter_type": {"NewFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}, "width": {"name": "Hexagon Width", "flags": ["--width"], "description": "The grid cell width.", "parameter_type": "Float", "default_value": null, "optional": false}, "orientation": {"name": "Grid Orientation", "flags": ["--orientation"], "description": "Grid Orientation, 'horizontal' or 'vertical'.", "parameter_type": {"OptionList": ["horizontal", "vertical"]}, "default_value": "horizontal", "optional": true}}}, "LidarHillshade": {"name": "LidarHillshade", "tool_name": "lidar_hillshade", "category": "LiDAR Tools", "label": "Lidar Hillshade", "description": "Calculates a hillshade value for points within a LAS file and stores these data in the RGB field.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/lidar_analysis/lidar_hillshade.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#LidarHillshade", "parameters": {"i": {"name": "Input LiDAR File", "flags": ["-i", "--input"], "description": "Input LiDAR file.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output file.", "parameter_type": {"NewFile": "Lidar"}, "default_value": null, "optional": false}, "azimuth": {"name": "Azimuth (degrees)", "flags": ["--azimuth"], "description": "Illumination source azimuth in degrees.", "parameter_type": "Float", "default_value": "315.0", "optional": true}, "altitude": {"name": "Altitude (degrees)", "flags": ["--altitude"], "description": "Illumination source altitude in degrees.", "parameter_type": "Float", "default_value": "30.0", "optional": true}, "radius": {"name": "Search Radius", "flags": ["--radius"], "description": "Search Radius.", "parameter_type": "Float", "default_value": "1.0", "optional": false}}}, "LidarHistogram": {"name": "LidarHistogram", "tool_name": "lidar_histogram", "category": "LiDAR Tools", "label": "Lidar Histogram", "description": "Creates a histogram of LiDAR data.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/lidar_analysis/lidar_histogram.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#LidarHistogram", "parameters": {"i": {"name": "Input LiDAR File", "flags": ["-i", "--input"], "description": "Input LiDAR file.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": false}, "output": {"name": "Output HTML File", "flags": ["-o", "--output"], "description": "Output HTML file (default name will be based on input file if unspecified).", "parameter_type": {"NewFile": "Html"}, "default_value": null, "optional": false}, "parameter": {"name": "Parameter", "flags": ["--parameter"], "description": "Parameter; options are 'elevation' (default), 'intensity', 'scan angle', 'class', 'time'.", "parameter_type": {"OptionList": ["elevation", "intensity", "scan angle", "class", "time"]}, "default_value": "elevation", "optional": true}, "clip": {"name": "Tail Clip Percent", "flags": ["--clip"], "description": "Amount to clip distribution tails (in percent).", "parameter_type": "Float", "default_value": "1.0", "optional": true}}}, "LidarIdwInterpolation": {"name": "LidarIdwInterpolation", "tool_name": "lidar_idw_interpolation", "category": "LiDAR Tools", "label": "Lidar Idw Interpolation", "description": "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.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/lidar_analysis/lidar_idw_interpolation.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#LidarIdwInterpolation", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input LiDAR file (including extension).", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": true}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file (including extension).", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": true}, "parameter": {"name": "Interpolation Parameter", "flags": ["--parameter"], "description": "Interpolation parameter; options are 'elevation' (default), 'intensity', 'class', 'return_number', 'number_of_returns', 'scan angle', 'rgb', 'user data'.", "parameter_type": {"OptionList": ["elevation", "intensity", "class", "return_number", "number_of_returns", "scan angle", "rgb", "user data"]}, "default_value": "elevation", "optional": true}, "returns": {"name": "Point Returns Included", "flags": ["--returns"], "description": "Point return types to include; options are 'all' (default), 'last', 'first'.", "parameter_type": {"OptionList": ["all", "last", "first"]}, "default_value": "all", "optional": true}, "resolution": {"name": "Grid Resolution", "flags": ["--resolution"], "description": "Output raster's grid resolution.", "parameter_type": "Float", "default_value": "1.0", "optional": true}, "weight": {"name": "IDW Weight (Exponent) Value", "flags": ["--weight"], "description": "IDW weight value.", "parameter_type": "Float", "default_value": "1.0", "optional": true}, "radius": {"name": "Search Radius", "flags": ["--radius"], "description": "Search Radius.", "parameter_type": "Float", "default_value": "2.5", "optional": true}, "exclude_cls": {"name": "Exclusion Classes (0-18, based on LAS spec; e.g. 3,4,5,6,7)", "flags": ["--exclude_cls"], "description": "Optional exclude classes from interpolation; Valid class values range from 0 to 18, based on LAS specifications. Example, --exclude_cls='3,4,5,6,7,18'.", "parameter_type": "String", "default_value": null, "optional": true}, "minz": {"name": "Minimum Elevation Value (optional)", "flags": ["--minz"], "description": "Optional minimum elevation for inclusion in interpolation.", "parameter_type": "Float", "default_value": null, "optional": true}, "maxz": {"name": "Maximum Elevation Value (optional)", "flags": ["--maxz"], "description": "Optional maximum elevation for inclusion in interpolation.", "parameter_type": "Float", "default_value": null, "optional": true}}}, "LidarInfo": {"name": "LidarInfo", "tool_name": "lidar_info", "category": "LiDAR Tools", "label": "Lidar Info", "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.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/lidar_analysis/lidar_info.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#LidarInfo", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input LiDAR file.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": false}, "output": {"name": "Output Summary Report File", "flags": ["-o", "--output"], "description": "Output HTML file for summary report.", "parameter_type": {"NewFile": "Html"}, "default_value": null, "optional": false}, "density": {"name": "Calculate the average point density and nominal point spacing?", "flags": ["--density"], "description": "Flag indicating whether or not to calculate the average point density and nominal point spacing.", "parameter_type": "Boolean", "default_value": "true", "optional": true}, "vlr": {"name": "Print the variable length records (VLRs)?", "flags": ["--vlr"], "description": "Flag indicating whether or not to print the variable length records (VLRs).", "parameter_type": "Boolean", "default_value": "true", "optional": true}, "geokeys": {"name": "Print the geokeys?", "flags": ["--geokeys"], "description": "Flag indicating whether or not to print the geokeys.", "parameter_type": "Boolean", "default_value": "true", "optional": true}}}, "LidarJoin": {"name": "LidarJoin", "tool_name": "lidar_join", "category": "LiDAR Tools", "label": "Lidar Join", "description": "Joins multiple LiDAR (LAS) files into a single LAS file.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/lidar_analysis/lidar_join.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#LidarJoin", "parameters": {"inputs": {"name": "Input LiDAR Files", "flags": ["-i", "--inputs"], "description": "Input LiDAR files.", "parameter_type": {"FileList": "Lidar"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output LiDAR file.", "parameter_type": {"NewFile": "Lidar"}, "default_value": null, "optional": false}}}, "LidarKappaIndex": {"name": "LidarKappaIndex", "tool_name": "lidar_kappa_index", "category": "LiDAR Tools", "label": "Lidar Kappa Index", "description": "Performs a kappa index of agreement (KIA) analysis on the classifications of two LAS files.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/lidar_analysis/lidar_kappa.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#LidarKappaIndex", "parameters": {"input1": {"name": "Input LiDAR File (Classification)", "flags": ["--i1", "--input1"], "description": "Input LiDAR classification file.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": false}, "input2": {"name": "Input LiDAR File (Reference)", "flags": ["--i2", "--input2"], "description": "Input LiDAR reference file.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": false}, "output": {"name": "Output HTML File", "flags": ["-o", "--output"], "description": "Output HTML file.", "parameter_type": {"NewFile": "Html"}, "default_value": null, "optional": false}, "class_accuracy": {"name": "Output Class Accuracy Raster File", "flags": ["--class_accuracy"], "description": "Output classification accuracy raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "resolution": {"name": "Grid Resolution", "flags": ["--resolution"], "description": "Output raster's grid resolution.", "parameter_type": "Float", "default_value": "1.0", "optional": true}}}, "LidarNearestNeighbourGridding": {"name": "LidarNearestNeighbourGridding", "tool_name": "lidar_nearest_neighbour_gridding", "category": "LiDAR Tools", "label": "Lidar Nearest Neighbour Gridding", "description": "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.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/lidar_analysis/lidar_nn_gridding.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#LidarNearestNeighbourGridding", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input LiDAR file (including extension).", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": true}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file (including extension).", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": true}, "parameter": {"name": "Interpolation Parameter", "flags": ["--parameter"], "description": "Interpolation parameter; options are 'elevation' (default), 'intensity', 'class', 'return_number', 'number_of_returns', 'scan angle', 'rgb', 'user data', 'time'.", "parameter_type": {"OptionList": ["elevation", "intensity", "class", "return_number", "number_of_returns", "scan angle", "rgb", "user data", "time"]}, "default_value": "elevation", "optional": true}, "returns": {"name": "Point Returns Included", "flags": ["--returns"], "description": "Point return types to include; options are 'all' (default), 'last', 'first'.", "parameter_type": {"OptionList": ["all", "last", "first"]}, "default_value": "all", "optional": true}, "resolution": {"name": "Grid Resolution", "flags": ["--resolution"], "description": "Output raster's grid resolution.", "parameter_type": "Float", "default_value": "1.0", "optional": true}, "radius": {"name": "Search Radius", "flags": ["--radius"], "description": "Search Radius.", "parameter_type": "Float", "default_value": "2.5", "optional": true}, "exclude_cls": {"name": "Exclusion Classes (0-18, based on LAS spec; e.g. 3,4,5,6,7)", "flags": ["--exclude_cls"], "description": "Optional exclude classes from interpolation; Valid class values range from 0 to 18, based on LAS specifications. Example, --exclude_cls='3,4,5,6,7,18'.", "parameter_type": "String", "default_value": null, "optional": true}, "minz": {"name": "Minimum Elevation Value (optional)", "flags": ["--minz"], "description": "Optional minimum elevation for inclusion in interpolation.", "parameter_type": "Float", "default_value": null, "optional": true}, "maxz": {"name": "Maximum Elevation Value (optional)", "flags": ["--maxz"], "description": "Optional maximum elevation for inclusion in interpolation.", "parameter_type": "Float", "default_value": null, "optional": true}}}, "LidarPointDensity": {"name": "LidarPointDensity", "tool_name": "lidar_point_density", "category": "LiDAR Tools", "label": "Lidar Point Density", "description": "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.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/lidar_analysis/lidar_point_density.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#LidarPointDensity", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input LiDAR file (including extension).", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": true}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file (including extension).", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": true}, "returns": {"name": "Point Returns Included", "flags": ["--returns"], "description": "Point return types to include; options are 'all' (default), 'last', 'first'.", "parameter_type": {"OptionList": ["all", "last", "first"]}, "default_value": "all", "optional": true}, "resolution": {"name": "Grid Resolution", "flags": ["--resolution"], "description": "Output raster's grid resolution.", "parameter_type": "Float", "default_value": "1.0", "optional": true}, "radius": {"name": "Search Radius", "flags": ["--radius"], "description": "Search radius.", "parameter_type": "Float", "default_value": "2.5", "optional": true}, "exclude_cls": {"name": "Exclusion Classes (0-18, based on LAS spec; e.g. 3,4,5,6,7)", "flags": ["--exclude_cls"], "description": "Optional exclude classes from interpolation; Valid class values range from 0 to 18, based on LAS specifications. Example, --exclude_cls='3,4,5,6,7,18'.", "parameter_type": "String", "default_value": null, "optional": true}, "minz": {"name": "Minimum Elevation Value (optional)", "flags": ["--minz"], "description": "Optional minimum elevation for inclusion in interpolation.", "parameter_type": "Float", "default_value": null, "optional": true}, "maxz": {"name": "Maximum Elevation Value (optional)", "flags": ["--maxz"], "description": "Optional maximum elevation for inclusion in interpolation.", "parameter_type": "Float", "default_value": null, "optional": true}}}, "LidarPointReturnAnalysis": {"name": "LidarPointReturnAnalysis", "tool_name": "lidar_point_return_analysis", "category": "LiDAR Tools", "label": "Lidar Point Return Analysis", "description": "This tool performs a quality control check on the return values of points in a LiDAR file.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#LidarPointReturnAnalysis", "parameters": {"i": {"name": "Input LiDAR Points", "flags": ["-i", "--input"], "description": "Name of the input LiDAR points.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": false}, "output": {"name": "Output LiDAR Points", "flags": ["-o", "--output"], "description": "Name of the output LiDAR points.", "parameter_type": {"NewFile": "Lidar"}, "default_value": null, "optional": true}}}, "LidarPointStats": {"name": "LidarPointStats", "tool_name": "lidar_point_stats", "category": "LiDAR Tools", "label": "Lidar Point Stats", "description": "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.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/lidar_analysis/lidar_point_stats.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#LidarPointStats", "parameters": {"i": {"name": "Input LiDAR File", "flags": ["-i", "--input"], "description": "Input LiDAR file.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": true}, "resolution": {"name": "Grid Resolution", "flags": ["--resolution"], "description": "Output raster's grid resolution.", "parameter_type": "Float", "default_value": "1.0", "optional": true}, "num_points": {"name": "Output number of points?", "flags": ["--num_points"], "description": "Flag indicating whether or not to output the number of points (returns) raster.", "parameter_type": "Boolean", "default_value": "True", "optional": true}, "num_pulses": {"name": "Output number of pulses?", "flags": ["--num_pulses"], "description": "Flag indicating whether or not to output the number of pulses raster.", "parameter_type": "Boolean", "default_value": null, "optional": true}, "avg_points_per_pulse": {"name": "Output average number of points per pulse?", "flags": ["--avg_points_per_pulse"], "description": "Flag indicating whether or not to output the average number of points (returns) per pulse raster.", "parameter_type": "Boolean", "default_value": "True", "optional": true}, "z_range": {"name": "Output elevation range?", "flags": ["--z_range"], "description": "Flag indicating whether or not to output the elevation range raster.", "parameter_type": "Boolean", "default_value": null, "optional": true}, "intensity_range": {"name": "Output intensity range?", "flags": ["--intensity_range"], "description": "Flag indicating whether or not to output the intensity range raster.", "parameter_type": "Boolean", "default_value": null, "optional": true}, "predom_class": {"name": "Output predominant class?", "flags": ["--predom_class"], "description": "Flag indicating whether or not to output the predominant classification raster.", "parameter_type": "Boolean", "default_value": null, "optional": true}}}, "LidarRansacPlanes": {"name": "LidarRansacPlanes", "tool_name": "lidar_ransac_planes", "category": "LiDAR Tools", "label": "Lidar Ransac Planes", "description": "Performs a RANSAC analysis to identify points within a LiDAR point cloud that belong to linear planes.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/lidar_analysis/lidar_ransac_planes.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#LidarRansacPlanes", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input LiDAR file.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output LiDAR file.", "parameter_type": {"NewFile": "Lidar"}, "default_value": null, "optional": false}, "radius": {"name": "Search Radius", "flags": ["--radius"], "description": "Search Radius.", "parameter_type": "Float", "default_value": "2.0", "optional": true}, "num_iter": {"name": "Number of Iterations", "flags": ["--num_iter"], "description": "Number of iterations.", "parameter_type": "Integer", "default_value": "50", "optional": true}, "num_samples": {"name": "Number of Sample Points", "flags": ["--num_samples"], "description": "Number of sample points on which to build the model.", "parameter_type": "Integer", "default_value": "5", "optional": true}, "threshold": {"name": "Inlier Threshold", "flags": ["--threshold"], "description": "Threshold used to determine inlier points.", "parameter_type": "Float", "default_value": "0.35", "optional": true}, "model_size": {"name": "Acceptable Model Size", "flags": ["--model_size"], "description": "Acceptable model size.", "parameter_type": "Integer", "default_value": "8", "optional": true}, "max_slope": {"name": "Maximum Planar Slope", "flags": ["--max_slope"], "description": "Maximum planar slope.", "parameter_type": "Float", "default_value": "80.0", "optional": true}, "classify": {"name": "Classify Points", "flags": ["--classify"], "description": "Classify points as ground (2) or off-ground (1).", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "last_returns": {"name": "Last Returns Only", "flags": ["--last_returns"], "description": "Only include last- and only-return points.", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "LidarRbfInterpolation": {"name": "LidarRbfInterpolation", "tool_name": "lidar_rbf_interpolation", "category": "LiDAR Tools", "label": "Lidar Rbf Interpolation", "description": "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.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/lidar_analysis/lidar_radial_basis_function_interpolation.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#LidarRbfInterpolation", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input LiDAR file (including extension).", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": true}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file (including extension).", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": true}, "parameter": {"name": "Interpolation Parameter", "flags": ["--parameter"], "description": "Interpolation parameter; options are 'elevation' (default), 'intensity', 'class', 'return_number', 'number_of_returns', 'scan angle', 'rgb', 'user data'.", "parameter_type": {"OptionList": ["elevation", "intensity", "class", "return_number", "number_of_returns", "scan angle", "rgb", "user data"]}, "default_value": "elevation", "optional": true}, "returns": {"name": "Point Returns Included", "flags": ["--returns"], "description": "Point return types to include; options are 'all' (default), 'last', 'first'.", "parameter_type": {"OptionList": ["all", "last", "first"]}, "default_value": "all", "optional": true}, "resolution": {"name": "Grid Resolution", "flags": ["--resolution"], "description": "Output raster's grid resolution.", "parameter_type": "Float", "default_value": "1.0", "optional": true}, "num_points": {"name": "Number of Points", "flags": ["--num_points"], "description": "Number of points.", "parameter_type": "Integer", "default_value": "20", "optional": false}, "exclude_cls": {"name": "Exclusion Classes (0-18, based on LAS spec; e.g. 3,4,5,6,7)", "flags": ["--exclude_cls"], "description": "Optional exclude classes from interpolation; Valid class values range from 0 to 18, based on LAS specifications. Example, --exclude_cls='3,4,5,6,7,18'.", "parameter_type": "String", "default_value": null, "optional": true}, "minz": {"name": "Minimum Elevation Value (optional)", "flags": ["--minz"], "description": "Optional minimum elevation for inclusion in interpolation.", "parameter_type": "Float", "default_value": null, "optional": true}, "maxz": {"name": "Maximum Elevation Value (optional)", "flags": ["--maxz"], "description": "Optional maximum elevation for inclusion in interpolation.", "parameter_type": "Float", "default_value": null, "optional": true}, "func_type": {"name": "Radial Basis Function Type", "flags": ["--func_type"], "description": "Radial basis function type; options are 'ThinPlateSpline' (default), 'PolyHarmonic', 'Gaussian', 'MultiQuadric', 'InverseMultiQuadric'.", "parameter_type": {"OptionList": ["ThinPlateSpline", "PolyHarmonic", "Gaussian", "MultiQuadric", "InverseMultiQuadric"]}, "default_value": "ThinPlateSpline", "optional": true}, "poly_order": {"name": "Polynomial Order", "flags": ["--poly_order"], "description": "Polynomial order; options are 'none' (default), 'constant', 'affine'.", "parameter_type": {"OptionList": ["none", "constant", "affine"]}, "default_value": "none", "optional": true}, "weight": {"name": "Weight", "flags": ["--weight"], "description": "Weight parameter used in basis function.", "parameter_type": "Float", "default_value": "5", "optional": false}}}, "LidarRemoveDuplicates": {"name": "LidarRemoveDuplicates", "tool_name": "lidar_remove_duplicates", "category": "LiDAR Tools", "label": "Lidar Remove Duplicates", "description": "Removes duplicate points from a LiDAR data set.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/lidar_analysis/remove_duplicates.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#LidarRemoveDuplicates", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input LiDAR file.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output LiDAR file.", "parameter_type": {"NewFile": "Lidar"}, "default_value": null, "optional": false}, "include_z": {"name": "Include z-values in point comparison?", "flags": ["--include_z"], "description": "Include z-values in point comparison?", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "LidarRemoveOutliers": {"name": "LidarRemoveOutliers", "tool_name": "lidar_remove_outliers", "category": "LiDAR Tools", "label": "Lidar Remove Outliers", "description": "Removes outliers (high and low points) in a LiDAR point cloud.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/lidar_analysis/lidar_outliers.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#LidarRemoveOutliers", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input LiDAR file.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output LiDAR file.", "parameter_type": {"NewFile": "Lidar"}, "default_value": null, "optional": false}, "radius": {"name": "Search Radius", "flags": ["--radius"], "description": "Search Radius.", "parameter_type": "Float", "default_value": "2.0", "optional": true}, "elev_diff": {"name": "Max. Elevation Difference", "flags": ["--elev_diff"], "description": "Max. elevation difference.", "parameter_type": "Float", "default_value": "50.0", "optional": true}, "use_median": {"name": "Use difference from median elevation?", "flags": ["--use_median"], "description": "Optional flag indicating whether to use the difference from median elevation rather than mean.", "parameter_type": "Boolean", "default_value": null, "optional": true}, "classify": {"name": "Classify Points", "flags": ["--classify"], "description": "Classify points as ground (2) or off-ground (1).", "parameter_type": "Boolean", "default_value": "true", "optional": true}}}, "LidarRooftopAnalysis": {"name": "LidarRooftopAnalysis", "tool_name": "lidar_rooftop_analysis", "category": "LiDAR Tools", "label": "Lidar Rooftop Analysis", "description": "Identifies roof segments in a LiDAR point cloud.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/lidar_analysis/lidar_rooftop_analysis.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#LidarRooftopAnalysis", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input LiDAR file.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": true}, "buildings": {"name": "Input Building Footprint Polygon File", "flags": ["--buildings"], "description": "Input vector build footprint polygons file.", "parameter_type": {"ExistingFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}, "output": {"name": "Output Polygon File", "flags": ["-o", "--output"], "description": "Output vector polygon file.", "parameter_type": {"NewFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}, "radius": {"name": "Search Radius", "flags": ["--radius"], "description": "Search Radius.", "parameter_type": "Float", "default_value": "2.0", "optional": true}, "num_iter": {"name": "Number of Iterations", "flags": ["--num_iter"], "description": "Number of iterations.", "parameter_type": "Integer", "default_value": "50", "optional": true}, "num_samples": {"name": "Number of Sample Points", "flags": ["--num_samples"], "description": "Number of sample points on which to build the model.", "parameter_type": "Integer", "default_value": "10", "optional": true}, "threshold": {"name": "Inlier Threshold", "flags": ["--threshold"], "description": "Threshold used to determine inlier points (in elevation units).", "parameter_type": "Float", "default_value": "0.15", "optional": true}, "model_size": {"name": "Acceptable Model Size (points)", "flags": ["--model_size"], "description": "Acceptable model size, in points.", "parameter_type": "Integer", "default_value": "15", "optional": true}, "max_slope": {"name": "Maximum Planar Slope (degrees)", "flags": ["--max_slope"], "description": "Maximum planar slope, in degrees.", "parameter_type": "Float", "default_value": "65.0", "optional": true}, "norm_diff": {"name": "Normal Difference Threshold (degrees)", "flags": ["--norm_diff"], "description": "Maximum difference in normal vectors, in degrees.", "parameter_type": "Float", "default_value": "10.0", "optional": true}, "azimuth": {"name": "Azimuth (degrees)", "flags": ["--azimuth"], "description": "Illumination source azimuth, in degrees.", "parameter_type": "Float", "default_value": "180.0", "optional": true}, "altitude": {"name": "Altitude (degrees)", "flags": ["--altitude"], "description": "Illumination source altitude in degrees.", "parameter_type": "Float", "default_value": "30.0", "optional": true}}}, "LidarSegmentation": {"name": "LidarSegmentation", "tool_name": "lidar_segmentation", "category": "LiDAR Tools", "label": "Lidar Segmentation", "description": "Segments a LiDAR point cloud based on differences in the orientation of fitted planar surfaces and point proximity.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/lidar_analysis/lidar_segmentation.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#LidarSegmentation", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input LiDAR file.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output LiDAR file.", "parameter_type": {"NewFile": "Lidar"}, "default_value": null, "optional": false}, "radius": {"name": "Search Radius", "flags": ["--radius"], "description": "Search Radius.", "parameter_type": "Float", "default_value": "2.0", "optional": true}, "num_iter": {"name": "Number of Iterations", "flags": ["--num_iter"], "description": "Number of iterations.", "parameter_type": "Integer", "default_value": "50", "optional": true}, "num_samples": {"name": "Number of Sample Points", "flags": ["--num_samples"], "description": "Number of sample points on which to build the model.", "parameter_type": "Integer", "default_value": "10", "optional": true}, "threshold": {"name": "Inlier Threshold", "flags": ["--threshold"], "description": "Threshold used to determine inlier points.", "parameter_type": "Float", "default_value": "0.15", "optional": true}, "model_size": {"name": "Acceptable Model Size", "flags": ["--model_size"], "description": "Acceptable model size.", "parameter_type": "Integer", "default_value": "15", "optional": true}, "max_slope": {"name": "Maximum Planar Slope", "flags": ["--max_slope"], "description": "Maximum planar slope.", "parameter_type": "Float", "default_value": "80.0", "optional": true}, "norm_diff": {"name": "Normal Difference Threshold", "flags": ["--norm_diff"], "description": "Maximum difference in normal vectors, in degrees.", "parameter_type": "Float", "default_value": "10.0", "optional": true}, "maxzdiff": {"name": "Maximum Elevation Difference Between Points", "flags": ["--maxzdiff"], "description": "Maximum difference in elevation (z units) between neighbouring points of the same segment.", "parameter_type": "Float", "default_value": "1.0", "optional": true}, "classes": {"name": "Don't cross class boundaries?", "flags": ["--classes"], "description": "Segments don't cross class boundaries.", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "ground": {"name": "Classify largest segment as ground?", "flags": ["--ground"], "description": "Classify the largest segment as ground points?", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "LidarSegmentationBasedFilter": {"name": "LidarSegmentationBasedFilter", "tool_name": "lidar_segmentation_based_filter", "category": "LiDAR Tools", "label": "Lidar Segmentation Based Filter", "description": "Identifies ground points within LiDAR point clouds using a segmentation based approach.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/lidar_analysis/lidar_segmentation_based_filter.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#LidarSegmentationBasedFilter", "parameters": {"i": {"name": "Input LiDAR File", "flags": ["-i", "--input"], "description": "Input LiDAR file.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output file.", "parameter_type": {"NewFile": "Lidar"}, "default_value": null, "optional": false}, "radius": {"name": "Search Radius", "flags": ["--dist", "--radius"], "description": "Search Radius.", "parameter_type": "Float", "default_value": "5.0", "optional": false}, "norm_diff": {"name": "Normal Difference Threshold", "flags": ["--norm_diff"], "description": "Maximum difference in normal vectors, in degrees.", "parameter_type": "Float", "default_value": "2.0", "optional": true}, "maxzdiff": {"name": "Maximum Elevation Difference Between Points", "flags": ["--maxzdiff"], "description": "Maximum difference in elevation (z units) between neighbouring points of the same segment.", "parameter_type": "Float", "default_value": "1.0", "optional": true}, "classify": {"name": "Classify Points", "flags": ["--classify"], "description": "Classify points as ground (2) or off-ground (1).", "parameter_type": "Boolean", "default_value": null, "optional": true}}}, "LidarShift": {"name": "LidarShift", "tool_name": "lidar_shift", "category": "LiDAR Tools", "label": "Lidar Shift", "description": "Shifts the x,y,z coordinates of a LiDAR file.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#LidarShift", "parameters": {"i": {"name": "Input LiDAR Points", "flags": ["-i", "--input"], "description": "Name of the input LiDAR points.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": false}, "output": {"name": "Output LiDAR Points", "flags": ["-o", "--output"], "description": "Name of the output LiDAR points.", "parameter_type": {"NewFile": "Lidar"}, "default_value": null, "optional": false}, "x_shift": {"name": "x-shift", "flags": ["-x", "--x_shift"], "description": "x-shift value, blank for none.", "parameter_type": "Float", "default_value": "", "optional": true}, "y_shift": {"name": "y-shift", "flags": ["-y", "--y_shift"], "description": "y-shift value, blank for none.", "parameter_type": "Float", "default_value": "", "optional": true}, "z_shift": {"name": "z-shift", "flags": ["-z", "--z_shift"], "description": "z-shift value, blank for none.", "parameter_type": "Float", "default_value": "", "optional": true}}}, "LidarSibsonInterpolation": {"name": "LidarSibsonInterpolation", "tool_name": "lidar_sibson_interpolation", "category": "LiDAR Tools", "label": "Lidar Sibson Interpolation", "description": "This tool interpolates one or more LiDAR tiles using Sibson's natural neighbour method.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#LidarSibsonInterpolation", "parameters": {"i": {"name": "Input LiDAR Points", "flags": ["-i", "--input"], "description": "Name of the input LiDAR points (leave blank to use all files in WorkingDirectory.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": true}, "output": {"name": "Output Raster", "flags": ["-o", "--output"], "description": "Output raster file (including extension).", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": true}, "parameter": {"name": "Interpolation Parameter", "flags": ["-p", "--parameter"], "description": "Interpolation parameter; options are 'elevation' (default), 'intensity', 'class', 'return_number', 'number_of_returns', 'scan angle', 'user_data'.", "parameter_type": {"OptionList": ["elevation", "intensity", "class", "return_number", "number_of_returns", "scan_angle", "user_data"]}, "default_value": "elevation", "optional": true}, "returns": {"name": "Point Returns Included", "flags": ["--returns"], "description": "Point return types to include; options are 'all' (default), 'last', 'first'.", "parameter_type": {"OptionList": ["all", "last", "first"]}, "default_value": "all", "optional": true}, "resolution": {"name": "Output Grid Resolution", "flags": ["--resolution"], "description": "Output raster's grid resolution.", "parameter_type": "Float", "default_value": "1.0", "optional": true}, "exclude_cls": {"name": "Exclusion Classes (0-18, based on LAS spec; e.g. 3,4,5,6,7)", "flags": ["--exclude_cls"], "description": "Optional exclude classes from interpolation; Valid class values range from 0 to 18, based on LAS specifications. Example, --exclude_cls='3,4,5,6,7,18'.", "parameter_type": "String", "default_value": null, "optional": true}, "minz": {"name": "Minimum Elevation Value (optional)", "flags": ["--minz"], "description": "Optional minimum elevation for inclusion in interpolation.", "parameter_type": "Float", "default_value": null, "optional": true}, "maxz": {"name": "Maximum Elevation Value (optional)", "flags": ["--maxz"], "description": "Optional maximum elevation for inclusion in interpolation.", "parameter_type": "Float", "default_value": null, "optional": true}}}, "LidarTinGridding": {"name": "LidarTinGridding", "tool_name": "lidar_tin_gridding", "category": "LiDAR Tools", "label": "Lidar Tin Gridding", "description": "Creates a raster grid based on a Delaunay triangular irregular network (TIN) fitted to LiDAR points.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/lidar_analysis/lidar_tin_gridding.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#LidarTinGridding", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input LiDAR file (including extension).", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": true}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file (including extension).", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": true}, "parameter": {"name": "Interpolation Parameter", "flags": ["--parameter"], "description": "Interpolation parameter; options are 'elevation' (default), 'intensity', 'class', 'return_number', 'number_of_returns', 'scan angle', 'rgb', 'user data'.", "parameter_type": {"OptionList": ["elevation", "intensity", "class", "return_number", "number_of_returns", "scan angle", "rgb", "user data"]}, "default_value": "elevation", "optional": true}, "returns": {"name": "Point Returns Included", "flags": ["--returns"], "description": "Point return types to include; options are 'all' (default), 'last', 'first'.", "parameter_type": {"OptionList": ["all", "last", "first"]}, "default_value": "all", "optional": true}, "resolution": {"name": "Grid Resolution", "flags": ["--resolution"], "description": "Output raster's grid resolution.", "parameter_type": "Float", "default_value": "1.0", "optional": true}, "exclude_cls": {"name": "Exclusion Classes (0-18, based on LAS spec; e.g. 3,4,5,6,7)", "flags": ["--exclude_cls"], "description": "Optional exclude classes from interpolation; Valid class values range from 0 to 18, based on LAS specifications. Example, --exclude_cls='3,4,5,6,7,18'.", "parameter_type": "String", "default_value": "7,18", "optional": true}, "minz": {"name": "Minimum Elevation Value (optional)", "flags": ["--minz"], "description": "Optional minimum elevation for inclusion in interpolation.", "parameter_type": "Float", "default_value": null, "optional": true}, "maxz": {"name": "Maximum Elevation Value (optional)", "flags": ["--maxz"], "description": "Optional maximum elevation for inclusion in interpolation.", "parameter_type": "Float", "default_value": null, "optional": true}, "max_triangle_edge_length": {"name": "Maximum Triangle Edge Length (optional)", "flags": ["--max_triangle_edge_length"], "description": "Optional maximum triangle edge length; triangles larger than this size will not be gridded.", "parameter_type": "Float", "default_value": null, "optional": true}}}, "LidarThin": {"name": "LidarThin", "tool_name": "lidar_thin", "category": "LiDAR Tools", "label": "Lidar Thin", "description": "Thins a LiDAR point cloud, reducing point density.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/lidar_analysis/lidar_thin.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#LidarThin", "parameters": {"i": {"name": "Input LiDAR File", "flags": ["-i", "--input"], "description": "Input LiDAR file.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output LiDAR file.", "parameter_type": {"NewFile": "Lidar"}, "default_value": null, "optional": false}, "resolution": {"name": "Sample Resolution", "flags": ["--resolution"], "description": "The size of the square area used to evaluate nearby points in the LiDAR data.", "parameter_type": "Float", "default_value": "2.0", "optional": true}, "method": {"name": "Point Selection Method", "flags": ["--method"], "description": "Point selection method; options are 'first', 'last', 'lowest' (default), 'highest', 'nearest'.", "parameter_type": {"OptionList": ["first", "last", "lowest", "highest", "nearest"]}, "default_value": "lowest", "optional": true}, "save_filtered": {"name": "Save filtered points to separate file?", "flags": ["--save_filtered"], "description": "Save filtered points to separate file?", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "LidarThinHighDensity": {"name": "LidarThinHighDensity", "tool_name": "lidar_thin_high_density", "category": "LiDAR Tools", "label": "Lidar Thin High Density", "description": "Thins points from high density areas within a LiDAR point cloud.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/lidar_analysis/lidar_thin_high_density.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#LidarThinHighDensity", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input LiDAR file.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output LiDAR file.", "parameter_type": {"NewFile": "Lidar"}, "default_value": null, "optional": false}, "resolution": {"name": "Grid Resolution", "flags": ["--resolution"], "description": "Output raster's grid resolution.", "parameter_type": "Float", "default_value": "1.0", "optional": true}, "density": {"name": "Max. Point Density (pts/m^2)", "flags": ["--density"], "description": "Max. point density (points / m^3).", "parameter_type": "Float", "default_value": null, "optional": false}, "save_filtered": {"name": "Save filtered points to separate file?", "flags": ["--save_filtered"], "description": "Save filtered points to separate file?", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "LidarTile": {"name": "LidarTile", "tool_name": "lidar_tile", "category": "LiDAR Tools", "label": "Lidar Tile", "description": "Tiles a LiDAR LAS file into multiple LAS files.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/lidar_analysis/lidar_tile.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#LidarTile", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input LiDAR file.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": false}, "width": {"name": "Tile Width", "flags": ["--width"], "description": "Width of tiles in the X dimension; default 1000.0.", "parameter_type": "Float", "default_value": "1000.0", "optional": true}, "height": {"name": "Tile Height", "flags": ["--height"], "description": "Height of tiles in the Y dimension.", "parameter_type": "Float", "default_value": "1000.0", "optional": true}, "origin_x": {"name": "Origin Point X-Coordinate", "flags": ["--origin_x"], "description": "Origin point X coordinate for tile grid.", "parameter_type": "Float", "default_value": "0.0", "optional": true}, "origin_y": {"name": "Origin Point Y-Coordinate", "flags": ["--origin_y"], "description": "Origin point Y coordinate for tile grid.", "parameter_type": "Float", "default_value": "0.0", "optional": true}, "min_points": {"name": "Minimum Number of Tile Points", "flags": ["--min_points"], "description": "Minimum number of points contained in a tile for it to be saved.", "parameter_type": "Integer", "default_value": "2", "optional": true}}}, "LidarTileFootprint": {"name": "LidarTileFootprint", "tool_name": "lidar_tile_footprint", "category": "LiDAR Tools", "label": "Lidar Tile Footprint", "description": "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.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/lidar_analysis/lidar_tile_footprint.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#LidarTileFootprint", "parameters": {"i": {"name": "Input LiDAR File", "flags": ["-i", "--input"], "description": "Input LiDAR file.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": true}, "output": {"name": "Output Polygon File", "flags": ["-o", "--output"], "description": "Output vector polygon file.", "parameter_type": {"NewFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}, "hull": {"name": "Create Convex Hull Around Points", "flags": ["--hull"], "description": "Identify the convex hull around points.", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "LidarTophatTransform": {"name": "LidarTophatTransform", "tool_name": "lidar_tophat_transform", "category": "LiDAR Tools", "label": "Lidar Tophat Transform", "description": "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.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/lidar_analysis/lidar_tophat_transform.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#LidarTophatTransform", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input LiDAR file.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output LiDAR file.", "parameter_type": {"NewFile": "Lidar"}, "default_value": null, "optional": false}, "radius": {"name": "Search Radius", "flags": ["--radius"], "description": "Search Radius.", "parameter_type": "Float", "default_value": "1.0", "optional": false}}}, "LineDetectionFilter": {"name": "LineDetectionFilter", "tool_name": "line_detection_filter", "category": "Image Processing Tools", "label": "Line Detection Filter", "description": "Performs a line-detection filter on an image.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/line_detection_filter.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#LineDetectionFilter", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "variant": {"name": "Variant", "flags": ["--variant"], "description": "Optional variant value. Options include 'v' (vertical), 'h' (horizontal), '45', and '135' (default is 'v').", "parameter_type": {"OptionList": ["vertical", "horizontal", "45", "135"]}, "default_value": "vertical", "optional": true}, "absvals": {"name": "Output absolute values?", "flags": ["--absvals"], "description": "Optional flag indicating whether outputs should be absolute values.", "parameter_type": "Boolean", "default_value": null, "optional": true}, "clip": {"name": "Distribution Tail Clip Amount (%)", "flags": ["--clip"], "description": "Optional amount to clip the distribution tails by, in percent.", "parameter_type": "Float", "default_value": "0.0", "optional": true}}}, "LineIntersections": {"name": "LineIntersections", "tool_name": "line_intersections", "category": "GIS Analysis", "label": "Line Intersections", "description": "Identifies points where the features of two vector line layers intersect.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/line_intersections.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#LineIntersections", "parameters": {"input1": {"name": "Input Vector Lines File", "flags": ["--i1", "--input1"], "description": "Input vector polyline file.", "parameter_type": {"ExistingFile": {"Vector": "LineOrPolygon"}}, "default_value": null, "optional": false}, "input2": {"name": "Input Vector Lines File", "flags": ["--i2", "--input2"], "description": "Input vector polyline file.", "parameter_type": {"ExistingFile": {"Vector": "LineOrPolygon"}}, "default_value": null, "optional": false}, "output": {"name": "Output Vector Point File", "flags": ["-o", "--output"], "description": "Output vector point file.", "parameter_type": {"NewFile": {"Vector": "Point"}}, "default_value": null, "optional": false}}}, "LineThinning": {"name": "LineThinning", "tool_name": "line_thinning", "category": "Image Processing Tools", "label": "Line Thinning", "description": "Performs line thinning a on Boolean raster image; intended to be used with the RemoveSpurs tool.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/line_thin.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#LineThinning", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "LinearityIndex": {"name": "LinearityIndex", "tool_name": "linearity_index", "category": "GIS Analysis", "label": "Linearity Index", "description": "Calculates the linearity index for vector polygons.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/linearity_index.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#LinearityIndex", "parameters": {"i": {"name": "Input Vector Polygon File", "flags": ["-i", "--input"], "description": "Input vector polygon file.", "parameter_type": {"ExistingFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}}}, "LinesToPolygons": {"name": "LinesToPolygons", "tool_name": "lines_to_polygons", "category": "Data Tools", "label": "Lines To Polygons", "description": "Converts vector polylines to polygons.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/data_tools/lines_to_polygons.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/data_tools.html#LinesToPolygons", "parameters": {"i": {"name": "Input Line File", "flags": ["-i", "--input"], "description": "Input vector line file.", "parameter_type": {"ExistingFile": {"Vector": "Line"}}, "default_value": null, "optional": false}, "output": {"name": "Output Polygon File", "flags": ["-o", "--output"], "description": "Output vector polygon file.", "parameter_type": {"NewFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}}}, "ListUniqueValues": {"name": "ListUniqueValues", "tool_name": "list_unique_values", "category": "Math and Stats Tools", "label": "List Unique Values", "description": "Lists the unique values contained in a field within a vector's attribute table.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/list_unique_values.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#ListUniqueValues", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input vector file.", "parameter_type": {"ExistingFile": {"Vector": "Any"}}, "default_value": null, "optional": false}, "field": {"name": "Field Name", "flags": ["--field"], "description": "Input field name in attribute table.", "parameter_type": {"VectorAttributeField": ["Any", "--input"]}, "default_value": null, "optional": false}, "output": {"name": "Output HTML File", "flags": ["-o", "--output"], "description": "Output HTML file (default name will be based on input file if unspecified).", "parameter_type": {"NewFile": "Html"}, "default_value": null, "optional": false}}}, "ListUniqueValuesRaster": {"name": "ListUniqueValuesRaster", "tool_name": "list_unique_values_raster", "category": "Math and Stats Tools", "label": "List Unique Values Raster", "description": "Lists the unique values contained in a field within a vector's attribute table.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/list_unique_values_raster.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#ListUniqueValuesRaster", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input vector file.", "parameter_type": {"ExistingFile": {"Vector": "Any"}}, "default_value": null, "optional": false}}}, "Ln": {"name": "Ln", "tool_name": "ln", "category": "Math and Stats Tools", "label": "Ln", "description": "Returns the natural logarithm of values in a raster.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/ln.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#Ln", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "LocalHypsometricAnalysis": {"name": "LocalHypsometricAnalysis", "tool_name": "local_hypsometric_analysis", "category": "Geomorphometric Analysis", "label": "Local Hypsometric Analysis", "description": "This tool calculates a local, neighbourhood-based hypsometric integral raster.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#LocalHypsometricAnalysis", "parameters": {"i": {"name": "Input Raster DEM", "flags": ["-i", "--input"], "description": "Name of the input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "out_mag": {"name": "Output Magnitude Raster", "flags": ["--out_mag"], "description": "Name of the openness output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "out_scale": {"name": "Output Scale Raster", "flags": ["--out_scale"], "description": "Name of the openness output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "min_scale": {"name": "Minimum Search Neighbourhood Radius (grid cells)", "flags": ["--min_scale"], "description": "Minimum search neighbourhood radius in grid cells.", "parameter_type": "Integer", "default_value": "4", "optional": true}, "step": {"name": "Base Step Size", "flags": ["--step"], "description": "Step size as any positive non-zero integer.", "parameter_type": "Integer", "default_value": "1", "optional": true}, "num_steps": {"name": "Number of Steps", "flags": ["--num_steps"], "description": "Number of steps.", "parameter_type": "Integer", "default_value": "10", "optional": true}, "step_nonlinearity": {"name": "Step Nonlinearity", "flags": ["--step_nonlinearity"], "description": "Step nonlinearity factor (1.0-2.0 is typical)", "parameter_type": "Float", "default_value": "1.0", "optional": true}}}, "LocalQuadraticRegression": {"name": "LocalQuadraticRegression", "tool_name": "local_quadratic_regression", "category": "Geomorphometric Analysis", "label": "Local Quadratic Regression", "description": "An implementation of the constrained quadratic regression algorithm using a flexible window size described in Wood (1996).", "github": "https://github.com/jblindsay/whitebox-tools/tree/master/whitebox-plugins/src/LocalQuadraticRegression/main.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#LocalQuadraticRegression", "parameters": {"dem": {"name": "Input DEM Raster", "flags": ["-d", "--dem"], "description": "Name of the input DEM raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster File", "flags": ["-o", "--output"], "description": "Name of the output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "filter": {"name": "Filter Edge Length", "flags": ["--filter"], "description": "Edge length of the filter kernel.", "parameter_type": "Integer", "default_value": "3", "optional": true}}}, "Log10": {"name": "Log10", "tool_name": "log10", "category": "Math and Stats Tools", "label": "Log10", "description": "Returns the base-10 logarithm of values in a raster.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/log10.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#Log10", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "Log2": {"name": "Log2", "tool_name": "log2", "category": "Math and Stats Tools", "label": "Log2", "description": "Returns the base-2 logarithm of values in a raster.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/log2.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#Log2", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "LogisticRegression": {"name": "LogisticRegression", "tool_name": "logistic_regression", "category": "Machine Learning", "label": "Logistic Regression", "description": "Performs a logistic regression analysis using training site polygons/points and predictor rasters.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/machine_learning.html#LogisticRegression", "parameters": {"inputs": {"name": "Input Predictor Rasters", "flags": ["-i", "--inputs"], "description": "Names of the input predictor rasters.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "scaling": {"name": "Scaling Method", "flags": ["--scaling"], "description": "Scaling method for predictors. Options include 'None', 'Normalize', and 'Standardize'", "parameter_type": {"OptionList": ["None", "Normalize", "Standardize"]}, "default_value": "Normalize", "optional": true}, "training": {"name": "Input Training Polygons/Points", "flags": ["-t", "--training"], "description": "Name of the input training site polygons/points shapefile.", "parameter_type": {"ExistingFile": {"Vector": "Any"}}, "default_value": null, "optional": false}, "field": {"name": "Class Field Name", "flags": ["-f", "--field"], "description": "Name of the attribute containing class data.", "parameter_type": {"VectorAttributeField": ["Any", "--training"]}, "default_value": null, "optional": false}, "output": {"name": "Output Raster File", "flags": ["-o", "--output"], "description": "Name of the output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": true}, "test_proportion": {"name": "Test Proportion", "flags": ["--test_proportion"], "description": "The proportion of the dataset to include in the test split; default is 0.2.", "parameter_type": "Float", "default_value": "0.2", "optional": true}}}, "LongProfile": {"name": "LongProfile", "tool_name": "long_profile", "category": "Stream Network Analysis", "label": "Long Profile", "description": "Plots the stream longitudinal profiles for one or more rivers.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/stream_network_analysis/long_profile.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/stream_network_analysis.html#LongProfile", "parameters": {"d8_pntr": {"name": "Input D8 Pointer File", "flags": ["--d8_pntr"], "description": "Input raster D8 pointer file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "streams": {"name": "Input Streams File", "flags": ["--streams"], "description": "Input raster streams file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "dem": {"name": "Input DEM File", "flags": ["--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output HTML File", "flags": ["-o", "--output"], "description": "Output HTML file.", "parameter_type": {"NewFile": "Html"}, "default_value": null, "optional": false}, "esri_pntr": {"name": "Does the pointer file use the ESRI pointer scheme?", "flags": ["--esri_pntr"], "description": "D8 pointer uses the ESRI style scheme.", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "LongProfileFromPoints": {"name": "LongProfileFromPoints", "tool_name": "long_profile_from_points", "category": "Stream Network Analysis", "label": "Long Profile From Points", "description": "Plots the longitudinal profiles from flow-paths initiating from a set of vector points.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/stream_network_analysis/long_profile_from_points.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/stream_network_analysis.html#LongProfileFromPoints", "parameters": {"d8_pntr": {"name": "Input D8 Pointer File", "flags": ["--d8_pntr"], "description": "Input raster D8 pointer file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "points": {"name": "Input Vector Points File", "flags": ["--points"], "description": "Input vector points file.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "dem": {"name": "Input DEM File", "flags": ["--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output HTML File", "flags": ["-o", "--output"], "description": "Output HTML file.", "parameter_type": {"NewFile": "Html"}, "default_value": null, "optional": false}, "esri_pntr": {"name": "Does the pointer file use the ESRI pointer scheme?", "flags": ["--esri_pntr"], "description": "D8 pointer uses the ESRI style scheme.", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "LongestFlowpath": {"name": "LongestFlowpath", "tool_name": "longest_flowpath", "category": "Hydrological Analysis", "label": "Longest Flowpath", "description": "Delineates the longest flowpaths for a group of subbasins or watersheds.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/longest_flowpath.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#LongestFlowpath", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "basins": {"name": "Basins File", "flags": ["--basins"], "description": "Input raster basins file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output vector file.", "parameter_type": {"NewFile": {"Vector": "Line"}}, "default_value": null, "optional": false}}}, "LowPointsOnHeadwaterDivides": {"name": "LowPointsOnHeadwaterDivides", "tool_name": "low_points_on_headwater_divides", "category": "Hydrological Analysis", "label": "Low Points On Headwater Divides", "description": "This tool locates saddle points along ridges within a digital elevation model (DEM)", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#LowPointsOnHeadwaterDivides", "parameters": {"dem": {"name": "Input DEM Raster", "flags": ["-d", "--dem"], "description": "Name of the input DEM raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "streams": {"name": "Input Streams Raster", "flags": ["--streams"], "description": "Name of the input stream channel raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Vector File", "flags": ["-o", "--output"], "description": "Name of the output vector file.", "parameter_type": {"NewFile": {"Vector": "Point"}}, "default_value": null, "optional": false}}}, "LowestPosition": {"name": "LowestPosition", "tool_name": "lowest_position", "category": "GIS Analysis", "label": "Lowest Position", "description": "Identifies the stack position of the minimum value within a raster stack on a cell-by-cell basis.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/lowest_pos.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#LowestPosition", "parameters": {"inputs": {"name": "Input Files", "flags": ["-i", "--inputs"], "description": "Input raster files.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "MdInfFlowAccumulation": {"name": "MdInfFlowAccumulation", "tool_name": "md_inf_flow_accumulation", "category": "Hydrological Analysis", "label": "Md Inf Flow Accumulation", "description": "Calculates an FD8 flow accumulation raster from an input DEM.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/mdinf_flow_accum.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#MdInfFlowAccumulation", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "out_type": {"name": "Output Type", "flags": ["--out_type"], "description": "Output type; one of 'cells', 'specific contributing area' (default), and 'catchment area'.", "parameter_type": {"OptionList": ["cells", "specific contributing area", "catchment area"]}, "default_value": "specific contributing area", "optional": true}, "exponent": {"name": "Exponent Parameter", "flags": ["--exponent"], "description": "Optional exponent parameter; default is 1.1.", "parameter_type": "Float", "default_value": "1.1", "optional": true}, "threshold": {"name": "Convergence Threshold (grid cells; blank for none)", "flags": ["--threshold"], "description": "Optional convergence threshold parameter, in grid cells; default is infinity.", "parameter_type": "Float", "default_value": null, "optional": true}, "log": {"name": "Log-transform the output?", "flags": ["--log"], "description": "Optional flag to request the output be log-transformed.", "parameter_type": "Boolean", "default_value": null, "optional": true}, "clip": {"name": "Clip the upper tail by 1%?", "flags": ["--clip"], "description": "Optional flag to request clipping the display max by 1%.", "parameter_type": "Boolean", "default_value": null, "optional": true}}}, "MajorityFilter": {"name": "MajorityFilter", "tool_name": "majority_filter", "category": "Image Processing Tools", "label": "Majority Filter", "description": "Assigns each cell in the output grid the most frequently occurring value (mode) in a moving window centred on each grid cell in the input raster.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/majority_filter.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#MajorityFilter", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "filterx": {"name": "Filter X-Dimension", "flags": ["--filterx"], "description": "Size of the filter kernel in the x-direction.", "parameter_type": "Integer", "default_value": "11", "optional": true}, "filtery": {"name": "Filter Y-Dimension", "flags": ["--filtery"], "description": "Size of the filter kernel in the y-direction.", "parameter_type": "Integer", "default_value": "11", "optional": true}}}, "MapOffTerrainObjects": {"name": "MapOffTerrainObjects", "tool_name": "map_off_terrain_objects", "category": "Geomorphometric Analysis", "label": "Map Off Terrain Objects", "description": "Maps off-terrain objects in a digital elevation model (DEM).", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/map_otos.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#MapOffTerrainObjects", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "max_slope": {"name": "Maximum Slope", "flags": ["--max_slope"], "description": "Maximum inter-cell absolute slope.", "parameter_type": "Float", "default_value": "40.0", "optional": false}, "min_size": {"name": "Minimum Feature Size", "flags": ["--min_size"], "description": "Minimum feature size, in grid cells.", "parameter_type": "Integer", "default_value": "1", "optional": false}}}, "Max": {"name": "Max", "tool_name": "max", "category": "Math and Stats Tools", "label": "Max", "description": "Performs a MAX operation on two rasters or a raster and a constant value.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/max.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#Max", "parameters": {"input1": {"name": "Input File Or Constant Value", "flags": ["--input1"], "description": "Input raster file or constant value.", "parameter_type": {"ExistingFileOrFloat": "Raster"}, "default_value": null, "optional": false}, "input2": {"name": "Input File Or Constant Value", "flags": ["--input2"], "description": "Input raster file or constant value.", "parameter_type": {"ExistingFileOrFloat": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "MaxAbsoluteOverlay": {"name": "MaxAbsoluteOverlay", "tool_name": "max_absolute_overlay", "category": "GIS Analysis", "label": "Max Absolute Overlay", "description": "Evaluates the maximum absolute value for each grid cell from a stack of input rasters.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/max_abs_overlay.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#MaxAbsoluteOverlay", "parameters": {"inputs": {"name": "Input Files", "flags": ["-i", "--inputs"], "description": "Input raster files.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "MaxAnisotropyDev": {"name": "MaxAnisotropyDev", "tool_name": "max_anisotropy_dev", "category": "Geomorphometric Analysis", "label": "Max Anisotropy Dev", "description": "Calculates the maximum anisotropy (directionality) in elevation deviation over a range of spatial scales.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/max_anisotropy_dev.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#MaxAnisotropyDev", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "out_mag": {"name": "Output DEVmax Magnitude File", "flags": ["--out_mag"], "description": "Output raster DEVmax magnitude file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "out_scale": {"name": "Output DEVmax Scale File", "flags": ["--out_scale"], "description": "Output raster DEVmax scale file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "min_scale": {"name": "Minimum Search Neighbourhood Radius (grid cells)", "flags": ["--min_scale"], "description": "Minimum search neighbourhood radius in grid cells.", "parameter_type": "Integer", "default_value": "3", "optional": false}, "max_scale": {"name": "Maximum Search Neighbourhood Radius (grid cells)", "flags": ["--max_scale"], "description": "Maximum search neighbourhood radius in grid cells.", "parameter_type": "Integer", "default_value": null, "optional": false}, "step": {"name": "Step Size", "flags": ["--step"], "description": "Step size as any positive non-zero integer.", "parameter_type": "Integer", "default_value": "2", "optional": false}}}, "MaxAnisotropyDevSignature": {"name": "MaxAnisotropyDevSignature", "tool_name": "max_anisotropy_dev_signature", "category": "Geomorphometric Analysis", "label": "Max Anisotropy Dev Signature", "description": "Calculates the anisotropy in deviation from mean for points over a range of spatial scales.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/max_anisotropy_dev_signature.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#MaxAnisotropyDevSignature", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "points": {"name": "Input Vector Points File", "flags": ["--points"], "description": "Input vector points file.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "output": {"name": "Output HTML File", "flags": ["-o", "--output"], "description": "Output HTML file.", "parameter_type": {"NewFile": "Html"}, "default_value": null, "optional": false}, "min_scale": {"name": "Minimum Search Neighbourhood Radius (grid cells)", "flags": ["--min_scale"], "description": "Minimum search neighbourhood radius in grid cells.", "parameter_type": "Integer", "default_value": "1", "optional": true}, "max_scale": {"name": "Maximum Search Neighbourhood Radius (grid cells)", "flags": ["--max_scale"], "description": "Maximum search neighbourhood radius in grid cells.", "parameter_type": "Integer", "default_value": null, "optional": false}, "step": {"name": "Step Size", "flags": ["--step"], "description": "Step size as any positive non-zero integer.", "parameter_type": "Integer", "default_value": "1", "optional": true}}}, "MaxBranchLength": {"name": "MaxBranchLength", "tool_name": "max_branch_length", "category": "Geomorphometric Analysis", "label": "Max Branch Length", "description": "Lindsay and Seibert's (2013) branch length index is used to map drainage divides or ridge lines.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/max_branch_length.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#MaxBranchLength", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "log": {"name": "Log-transform the output?", "flags": ["--log"], "description": "Optional flag to request the output be log-transformed.", "parameter_type": "Boolean", "default_value": null, "optional": true}}}, "MaxDifferenceFromMean": {"name": "MaxDifferenceFromMean", "tool_name": "max_difference_from_mean", "category": "Geomorphometric Analysis", "label": "Max Difference From Mean", "description": "Calculates the maximum difference from mean elevation over a range of spatial scales.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/max_diff_from_mean.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#MaxDifferenceFromMean", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "out_mag": {"name": "Output DIFFmax Magnitude File", "flags": ["--out_mag"], "description": "Output raster DIFFmax magnitude file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "out_scale": {"name": "Output DIFFmax Scale File", "flags": ["--out_scale"], "description": "Output raster DIFFmax scale file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "min_scale": {"name": "Minimum Search Neighbourhood Radius (grid cells)", "flags": ["--min_scale"], "description": "Minimum search neighbourhood radius in grid cells.", "parameter_type": "Integer", "default_value": null, "optional": false}, "max_scale": {"name": "Maximum Search Neighbourhood Radius (grid cells)", "flags": ["--max_scale"], "description": "Maximum search neighbourhood radius in grid cells.", "parameter_type": "Integer", "default_value": null, "optional": false}, "step": {"name": "Step Size", "flags": ["--step"], "description": "Step size as any positive non-zero integer.", "parameter_type": "Integer", "default_value": "1", "optional": false}}}, "MaxDownslopeElevChange": {"name": "MaxDownslopeElevChange", "tool_name": "max_downslope_elev_change", "category": "Geomorphometric Analysis", "label": "Max Downslope Elev Change", "description": "Calculates the maximum downslope change in elevation between a grid cell and its eight downslope neighbors.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/max_downslope_elev_change.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#MaxDownslopeElevChange", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "MaxElevDevSignature": {"name": "MaxElevDevSignature", "tool_name": "max_elev_dev_signature", "category": "Geomorphometric Analysis", "label": "Max Elev Dev Signature", "description": "Calculates the maximum elevation deviation over a range of spatial scales and for a set of points.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/max_elev_dev_signature.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#MaxElevDevSignature", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "points": {"name": "Input Vector Points File", "flags": ["--points"], "description": "Input vector points file.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "output": {"name": "Output HTML File", "flags": ["-o", "--output"], "description": "Output HTML file.", "parameter_type": {"NewFile": "Html"}, "default_value": null, "optional": false}, "min_scale": {"name": "Minimum Search Neighbourhood Radius (grid cells)", "flags": ["--min_scale"], "description": "Minimum search neighbourhood radius in grid cells.", "parameter_type": "Integer", "default_value": null, "optional": false}, "max_scale": {"name": "Maximum Search Neighbourhood Radius (grid cells)", "flags": ["--max_scale"], "description": "Maximum search neighbourhood radius in grid cells.", "parameter_type": "Integer", "default_value": null, "optional": false}, "step": {"name": "Step Size", "flags": ["--step"], "description": "Step size as any positive non-zero integer.", "parameter_type": "Integer", "default_value": "10", "optional": false}}}, "MaxElevationDeviation": {"name": "MaxElevationDeviation", "tool_name": "max_elevation_deviation", "category": "Geomorphometric Analysis", "label": "Max Elevation Deviation", "description": "Calculates the maximum elevation deviation over a range of spatial scales.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/max_elev_deviation.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#MaxElevationDeviation", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "out_mag": {"name": "Output DEVmax Magnitude File", "flags": ["--out_mag"], "description": "Output raster DEVmax magnitude file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "out_scale": {"name": "Output DEVmax Scale File", "flags": ["--out_scale"], "description": "Output raster DEVmax scale file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "min_scale": {"name": "Minimum Search Neighbourhood Radius (grid cells)", "flags": ["--min_scale"], "description": "Minimum search neighbourhood radius in grid cells.", "parameter_type": "Integer", "default_value": null, "optional": false}, "max_scale": {"name": "Maximum Search Neighbourhood Radius (grid cells)", "flags": ["--max_scale"], "description": "Maximum search neighbourhood radius in grid cells.", "parameter_type": "Integer", "default_value": null, "optional": false}, "step": {"name": "Step Size", "flags": ["--step"], "description": "Step size as any positive non-zero integer.", "parameter_type": "Integer", "default_value": "1", "optional": false}}}, "MaxOverlay": {"name": "MaxOverlay", "tool_name": "max_overlay", "category": "GIS Analysis", "label": "Max Overlay", "description": "Evaluates the maximum value for each grid cell from a stack of input rasters.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/max_overlay.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#MaxOverlay", "parameters": {"inputs": {"name": "Input Files", "flags": ["-i", "--inputs"], "description": "Input raster files.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "MaxUpslopeElevChange": {"name": "MaxUpslopeElevChange", "tool_name": "max_upslope_elev_change", "category": "Geomorphometric Analysis", "label": "Max Upslope Elev Change", "description": "Calculates the maximum upslope change in elevation between a grid cell and its eight downslope neighbors.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/max_upslope_elev_change.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#MaxUpslopeElevChange", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "MaxUpslopeFlowpathLength": {"name": "MaxUpslopeFlowpathLength", "tool_name": "max_upslope_flowpath_length", "category": "Hydrological Analysis", "label": "Max Upslope Flowpath Length", "description": "Measures the maximum length of all upslope flowpaths draining each grid cell.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/max_upslope_flowpath.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#MaxUpslopeFlowpathLength", "parameters": {"dem": {"name": "Input File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "MaxUpslopeValue": {"name": "MaxUpslopeValue", "tool_name": "max_upslope_value", "category": "Hydrological Analysis", "label": "Max Upslope Value", "description": "Calculates the maximum upslope value from an input values raster along flowpaths.", "github": "https://github.com/jblindsay/whitebox-tools/tree/master/whitebox-plugins/src/MaxUpslopeValue/main.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#MaxUpslopeValue", "parameters": {"dem": {"name": "Input DEM", "flags": ["-d", "--dem"], "description": "Input DEM; it must be depressionless.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "values": {"name": "Values Raster File", "flags": ["--values"], "description": "Name of the input values raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster File", "flags": ["--output"], "description": "Name of the output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "MaximalCurvature": {"name": "MaximalCurvature", "tool_name": "maximal_curvature", "category": "Geomorphometric Analysis", "label": "Maximal Curvature", "description": "Calculates a mean curvature raster from an input DEM.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/maximal_curvature.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#MaximalCurvature", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "log": {"name": "Log-transform the output?", "flags": ["--log"], "description": "Display output values using a log-scale.", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "zfactor": {"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}}}, "MaximumFilter": {"name": "MaximumFilter", "tool_name": "maximum_filter", "category": "Image Processing Tools", "label": "Maximum Filter", "description": "Assigns each cell in the output grid the maximum value in a moving window centred on each grid cell in the input raster.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/max_filter.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#MaximumFilter", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "filterx": {"name": "Filter X-Dimension", "flags": ["--filterx"], "description": "Size of the filter kernel in the x-direction.", "parameter_type": "Integer", "default_value": "11", "optional": true}, "filtery": {"name": "Filter Y-Dimension", "flags": ["--filtery"], "description": "Size of the filter kernel in the y-direction.", "parameter_type": "Integer", "default_value": "11", "optional": true}}}, "MeanCurvature": {"name": "MeanCurvature", "tool_name": "mean_curvature", "category": "Geomorphometric Analysis", "label": "Mean Curvature", "description": "Calculates a mean curvature raster from an input DEM.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/mean_curvature.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#MeanCurvature", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "log": {"name": "Log-transform the output?", "flags": ["--log"], "description": "Display output values using a log-scale.", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "zfactor": {"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}}}, "MeanFilter": {"name": "MeanFilter", "tool_name": "mean_filter", "category": "Image Processing Tools", "label": "Mean Filter", "description": "Performs a mean filter (low-pass filter) on an input image.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/mean_filter.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#MeanFilter", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "filterx": {"name": "Filter X-Dimension", "flags": ["--filterx"], "description": "Size of the filter kernel in the x-direction.", "parameter_type": "Integer", "default_value": "3", "optional": true}, "filtery": {"name": "Filter Y-Dimension", "flags": ["--filtery"], "description": "Size of the filter kernel in the y-direction.", "parameter_type": "Integer", "default_value": "3", "optional": true}}}, "MedianFilter": {"name": "MedianFilter", "tool_name": "median_filter", "category": "Image Processing Tools", "label": "Median Filter", "description": "Performs a median filter on an input image.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/median_filter.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#MedianFilter", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "filterx": {"name": "Filter X-Dimension", "flags": ["--filterx"], "description": "Size of the filter kernel in the x-direction.", "parameter_type": "Integer", "default_value": "11", "optional": true}, "filtery": {"name": "Filter Y-Dimension", "flags": ["--filtery"], "description": "Size of the filter kernel in the y-direction.", "parameter_type": "Integer", "default_value": "11", "optional": true}, "sig_digits": {"name": "Number of Significant Digits", "flags": ["--sig_digits"], "description": "Number of significant digits.", "parameter_type": "Integer", "default_value": "2", "optional": true}}}, "Medoid": {"name": "Medoid", "tool_name": "medoid", "category": "GIS Analysis", "label": "Medoid", "description": "Calculates the medoid for a series of vector features contained in a shapefile.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/medoid.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#Medoid", "parameters": {"i": {"name": "Input Vector File", "flags": ["-i", "--input"], "description": "Input vector file.", "parameter_type": {"ExistingFile": {"Vector": "Any"}}, "default_value": null, "optional": false}, "output": {"name": "Output Vector File", "flags": ["-o", "--output"], "description": "Output vector file.", "parameter_type": {"NewFile": {"Vector": "Any"}}, "default_value": null, "optional": false}}}, "MergeLineSegments": {"name": "MergeLineSegments", "tool_name": "merge_line_segments", "category": "GIS Analysis", "label": "Merge Line Segments", "description": "Merges vector line segments into larger features.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/merge_line_segments.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#MergeLineSegments", "parameters": {"i": {"name": "Input Vector File", "flags": ["-i", "--input"], "description": "Input vector file.", "parameter_type": {"ExistingFile": {"Vector": "Line"}}, "default_value": null, "optional": false}, "output": {"name": "Output Vector File", "flags": ["-o", "--output"], "description": "Output vector file.", "parameter_type": {"NewFile": {"Vector": "Any"}}, "default_value": null, "optional": false}, "snap": {"name": "Snap Tolerance", "flags": ["--snap"], "description": "Snap tolerance.", "parameter_type": "Float", "default_value": "0.0", "optional": true}}}, "MergeTableWithCsv": {"name": "MergeTableWithCsv", "tool_name": "merge_table_with_csv", "category": "Data Tools", "label": "Merge Table With Csv", "description": "Merge a vector's attribute table with a table contained within a CSV text file.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/data_tools/merge_table_with_csv.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/data_tools.html#MergeTableWithCsv", "parameters": {"i": {"name": "Input Primary Vector File", "flags": ["-i", "--input"], "description": "Input primary vector file (i.e. the table to be modified).", "parameter_type": {"ExistingFile": {"Vector": "Any"}}, "default_value": null, "optional": false}, "pkey": {"name": "Primary Key Field", "flags": ["--pkey"], "description": "Primary key field.", "parameter_type": {"VectorAttributeField": ["Any", "--input"]}, "default_value": null, "optional": false}, "csv": {"name": "Input CSV File", "flags": ["--csv"], "description": "Input CSV file (i.e. source of data to be imported).", "parameter_type": {"ExistingFile": "Csv"}, "default_value": null, "optional": false}, "fkey": {"name": "Foreign Key Field", "flags": ["--fkey"], "description": "Foreign key field.", "parameter_type": {"VectorAttributeField": ["Any", "--csv"]}, "default_value": null, "optional": false}, "import_field": {"name": "Imported Field", "flags": ["--import_field"], "description": "Imported field (all fields will be imported if not specified).", "parameter_type": {"VectorAttributeField": ["Any", "--csv"]}, "default_value": null, "optional": true}}}, "MergeVectors": {"name": "MergeVectors", "tool_name": "merge_vectors", "category": "Data Tools", "label": "Merge Vectors", "description": "Combines two or more input vectors of the same ShapeType creating a single, new output vector.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/data_tools/merge_vectors.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/data_tools.html#MergeVectors", "parameters": {"inputs": {"name": "Input Vector Files", "flags": ["-i", "--inputs"], "description": "Input vector files.", "parameter_type": {"FileList": {"Vector": "Any"}}, "default_value": null, "optional": false}, "output": {"name": "Output Vector File", "flags": ["-o", "--output"], "description": "Output vector file.", "parameter_type": {"NewFile": {"Vector": "Any"}}, "default_value": null, "optional": false}}}, "Min": {"name": "Min", "tool_name": "min", "category": "Math and Stats Tools", "label": "Min", "description": "Performs a MIN operation on two rasters or a raster and a constant value.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/min.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#Min", "parameters": {"input1": {"name": "Input File Or Constant Value", "flags": ["--input1"], "description": "Input raster file or constant value.", "parameter_type": {"ExistingFileOrFloat": "Raster"}, "default_value": null, "optional": false}, "input2": {"name": "Input File Or Constant Value", "flags": ["--input2"], "description": "Input raster file or constant value.", "parameter_type": {"ExistingFileOrFloat": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "MinAbsoluteOverlay": {"name": "MinAbsoluteOverlay", "tool_name": "min_absolute_overlay", "category": "GIS Analysis", "label": "Min Absolute Overlay", "description": "Evaluates the minimum absolute value for each grid cell from a stack of input rasters.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/min_abs_overlay.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#MinAbsoluteOverlay", "parameters": {"inputs": {"name": "Input Files", "flags": ["-i", "--inputs"], "description": "Input raster files.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "MinDistClassification": {"name": "MinDistClassification", "tool_name": "min_dist_classification", "category": "Image Processing Tools", "label": "Min Dist Classification", "description": "Performs a supervised minimum-distance classification using training site polygons and multi-spectral images.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools/classification.html#MinDistClassification", "parameters": {"inputs": {"name": "Input Band Images", "flags": ["-i", "--inputs"], "description": "Names of the input band images.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "polys": {"name": "Input Training Polygons", "flags": ["-p", "--polys"], "description": "Name of the input training site polygons shapefile.", "parameter_type": {"ExistingFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}, "field": {"name": "Class Name Field", "flags": ["-f", "--field"], "description": "Name of the attribute containing class name data.", "parameter_type": {"VectorAttributeField": ["Any", "--polys"]}, "default_value": null, "optional": false}, "output": {"name": "Output Raster File", "flags": ["-o", "--output"], "description": "Name of the output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "threshold": {"name": "Distance Threshold (z-scores; blank for none)", "flags": ["--threshold"], "description": "Distance threshold, in z-scores; blank for none.", "parameter_type": "Float", "default_value": null, "optional": true}}}, "MinDownslopeElevChange": {"name": "MinDownslopeElevChange", "tool_name": "min_downslope_elev_change", "category": "Geomorphometric Analysis", "label": "Min Downslope Elev Change", "description": "Calculates the minimum downslope change in elevation between a grid cell and its eight downslope neighbors.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/min_downslope_elev_change.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#MinDownslopeElevChange", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "MinMaxContrastStretch": {"name": "MinMaxContrastStretch", "tool_name": "min_max_contrast_stretch", "category": "Image Processing Tools", "label": "Min Max Contrast Stretch", "description": "Performs a min-max contrast stretch on an input greytone image.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/min_max_contrast_stretch.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#MinMaxContrastStretch", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "min_val": {"name": "Lower Tail Clip Value", "flags": ["--min_val"], "description": "Lower tail clip value.", "parameter_type": "Float", "default_value": null, "optional": false}, "max_val": {"name": "Upper Tail Clip Value", "flags": ["--max_val"], "description": "Upper tail clip value.", "parameter_type": "Float", "default_value": null, "optional": false}, "num_tones": {"name": "Number of Tones", "flags": ["--num_tones"], "description": "Number of tones in the output image.", "parameter_type": "Integer", "default_value": "256", "optional": false}}}, "MinOverlay": {"name": "MinOverlay", "tool_name": "min_overlay", "category": "GIS Analysis", "label": "Min Overlay", "description": "Evaluates the minimum value for each grid cell from a stack of input rasters.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/min_overlay.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#MinOverlay", "parameters": {"inputs": {"name": "Input Files", "flags": ["-i", "--inputs"], "description": "Input raster files.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "MinimalCurvature": {"name": "MinimalCurvature", "tool_name": "minimal_curvature", "category": "Geomorphometric Analysis", "label": "Minimal Curvature", "description": "Calculates a mean curvature raster from an input DEM.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/minimal_curvature.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#MinimalCurvature", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "log": {"name": "Log-transform the output?", "flags": ["--log"], "description": "Display output values using a log-scale.", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "zfactor": {"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}}}, "MinimumBoundingBox": {"name": "MinimumBoundingBox", "tool_name": "minimum_bounding_box", "category": "GIS Analysis", "label": "Minimum Bounding Box", "description": "Creates a vector minimum bounding rectangle around vector features.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/minimum_bounding_box.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#MinimumBoundingBox", "parameters": {"i": {"name": "Input Vector File", "flags": ["-i", "--input"], "description": "Input vector file.", "parameter_type": {"ExistingFile": {"Vector": "Any"}}, "default_value": null, "optional": false}, "output": {"name": "Output Polygon File", "flags": ["-o", "--output"], "description": "Output vector polygon file.", "parameter_type": {"NewFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}, "criterion": {"name": "Minimization Criterion", "flags": ["--criterion"], "description": "Minimization criterion; options include 'area' (default), 'length', 'width', and 'perimeter'.", "parameter_type": {"OptionList": ["area", "length", "width", "perimeter"]}, "default_value": "area", "optional": true}, "features": {"name": "Find bounding rectangles around each individual feature.", "flags": ["--features"], "description": "Find the minimum bounding rectangles around each individual vector feature", "parameter_type": "Boolean", "default_value": "true", "optional": true}}}, "MinimumBoundingCircle": {"name": "MinimumBoundingCircle", "tool_name": "minimum_bounding_circle", "category": "GIS Analysis", "label": "Minimum Bounding Circle", "description": "Delineates the minimum bounding circle (i.e. smallest enclosing circle) for a group of vectors.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/minimum_bounding_circle.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#MinimumBoundingCircle", "parameters": {"i": {"name": "Input Vector File", "flags": ["-i", "--input"], "description": "Input vector file.", "parameter_type": {"ExistingFile": {"Vector": "Any"}}, "default_value": null, "optional": false}, "output": {"name": "Output Polygon File", "flags": ["-o", "--output"], "description": "Output vector polygon file.", "parameter_type": {"NewFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}, "features": {"name": "Find bounding circle around each individual feature.", "flags": ["--features"], "description": "Find the minimum bounding circle around each individual vector feature", "parameter_type": "Boolean", "default_value": "true", "optional": true}}}, "MinimumBoundingEnvelope": {"name": "MinimumBoundingEnvelope", "tool_name": "minimum_bounding_envelope", "category": "GIS Analysis", "label": "Minimum Bounding Envelope", "description": "Creates a vector axis-aligned minimum bounding rectangle (envelope) around vector features.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/minimum_bounding_envelope.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#MinimumBoundingEnvelope", "parameters": {"i": {"name": "Input Vector File", "flags": ["-i", "--input"], "description": "Input vector file.", "parameter_type": {"ExistingFile": {"Vector": "Any"}}, "default_value": null, "optional": false}, "output": {"name": "Output Polygon File", "flags": ["-o", "--output"], "description": "Output vector polygon file.", "parameter_type": {"NewFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}, "features": {"name": "Find bounding envelop around each individual feature.", "flags": ["--features"], "description": "Find the minimum bounding envelop around each individual vector feature", "parameter_type": "Boolean", "default_value": "true", "optional": true}}}, "MinimumConvexHull": {"name": "MinimumConvexHull", "tool_name": "minimum_convex_hull", "category": "GIS Analysis", "label": "Minimum Convex Hull", "description": "Creates a vector convex polygon around vector features.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/minimum_convex_hull.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#MinimumConvexHull", "parameters": {"i": {"name": "Input Vector File", "flags": ["-i", "--input"], "description": "Input vector file.", "parameter_type": {"ExistingFile": {"Vector": "Any"}}, "default_value": null, "optional": false}, "output": {"name": "Output Polygon File", "flags": ["-o", "--output"], "description": "Output vector polygon file.", "parameter_type": {"NewFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}, "features": {"name": "Find hulls around each individual feature.", "flags": ["--features"], "description": "Find the hulls around each vector feature", "parameter_type": "Boolean", "default_value": "true", "optional": true}}}, "MinimumFilter": {"name": "MinimumFilter", "tool_name": "minimum_filter", "category": "Image Processing Tools", "label": "Minimum Filter", "description": "Assigns each cell in the output grid the minimum value in a moving window centred on each grid cell in the input raster.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/min_filter.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#MinimumFilter", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "filterx": {"name": "Filter X-Dimension", "flags": ["--filterx"], "description": "Size of the filter kernel in the x-direction.", "parameter_type": "Integer", "default_value": "11", "optional": true}, "filtery": {"name": "Filter Y-Dimension", "flags": ["--filtery"], "description": "Size of the filter kernel in the y-direction.", "parameter_type": "Integer", "default_value": "11", "optional": true}}}, "ModifiedKMeansClustering": {"name": "ModifiedKMeansClustering", "tool_name": "modified_k_means_clustering", "category": "Machine Learning", "label": "Modified K Means Clustering", "description": "Performs a modified k-means clustering operation on a multi-spectral dataset.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/modified_k_means_clustering.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/machine_learning.html#ModifiedKMeansClustering", "parameters": {"inputs": {"name": "Input Files", "flags": ["-i", "--inputs"], "description": "Input raster files.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "out_html": {"name": "Output HTML Report File", "flags": ["--out_html"], "description": "Output HTML report file.", "parameter_type": {"NewFile": "Html"}, "default_value": null, "optional": true}, "start_clusters": {"name": "Initial Num. of Clusters", "flags": ["--start_clusters"], "description": "Initial number of clusters", "parameter_type": "Integer", "default_value": "1000", "optional": true}, "merge_dist": {"name": "Cluster Merger Distance", "flags": ["--merge_dist"], "description": "Cluster merger distance", "parameter_type": "Float", "default_value": null, "optional": true}, "max_iterations": {"name": "Max. Iterations", "flags": ["--max_iterations"], "description": "Maximum number of iterations", "parameter_type": "Integer", "default_value": "10", "optional": true}, "class_change": {"name": "Percent Class Change Threshold", "flags": ["--class_change"], "description": "Minimum percent of cells changed between iterations before completion", "parameter_type": "Float", "default_value": "2.0", "optional": true}}}, "ModifyLidar": {"name": "ModifyLidar", "tool_name": "modify_lidar", "category": "LiDAR Tools", "label": "Modify Lidar", "description": "Modify points within a LiDAR point cloud based on point properties.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#ModifyLidar", "parameters": {"i": {"name": "Input LiDAR Points", "flags": ["-i", "--input"], "description": "Name of the input LiDAR points.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": true}, "output": {"name": "Output LiDAR Points", "flags": ["-o", "--output"], "description": "Name of the output LiDAR points.", "parameter_type": {"NewFile": "Lidar"}, "default_value": null, "optional": true}, "statement": {"name": "Statement:", "flags": ["-s", "--statement"], "description": "Modify statement e.g. x += 5000.0.", "parameter_type": "String", "default_value": "", "optional": false}}}, "ModifyNoDataValue": {"name": "ModifyNoDataValue", "tool_name": "modify_no_data_value", "category": "Data Tools", "label": "Modify No Data Value", "description": "Modifies nodata values in a raster.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/data_tools/modify_nodata_value.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/data_tools.html#ModifyNoDataValue", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "new_value": {"name": "New NoData Value", "flags": ["--new_value"], "description": "New NoData value.", "parameter_type": "Float", "default_value": "-32768.0", "optional": true}}}, "Modulo": {"name": "Modulo", "tool_name": "modulo", "category": "Math and Stats Tools", "label": "Modulo", "description": "Performs a modulo operation on two rasters or a raster and a constant value.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/modulo.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#Modulo", "parameters": {"input1": {"name": "Input File Or Constant Value", "flags": ["--input1"], "description": "Input raster file or constant value.", "parameter_type": {"ExistingFileOrFloat": "Raster"}, "default_value": null, "optional": false}, "input2": {"name": "Input File Or Constant Value", "flags": ["--input2"], "description": "Input raster file or constant value.", "parameter_type": {"ExistingFileOrFloat": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "Mosaic": {"name": "Mosaic", "tool_name": "mosaic", "category": "Image Processing Tools", "label": "Mosaic", "description": "Mosaics two or more images together.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/mosaic.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#Mosaic", "parameters": {"inputs": {"name": "Input Files", "flags": ["-i", "--inputs"], "description": "Input raster files.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": true}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "method": {"name": "Resampling Method", "flags": ["--method"], "description": "Resampling method; options include 'nn' (nearest neighbour), 'bilinear', and 'cc' (cubic convolution)", "parameter_type": {"OptionList": ["nn", "bilinear", "cc"]}, "default_value": "nn", "optional": true}}}, "MosaicWithFeathering": {"name": "MosaicWithFeathering", "tool_name": "mosaic_with_feathering", "category": "Image Processing Tools", "label": "Mosaic With Feathering", "description": "Mosaics two images together using a feathering technique in overlapping areas to reduce edge-effects.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/mosaic_with_feathering.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#MosaicWithFeathering", "parameters": {"input1": {"name": "Input File To Modify", "flags": ["--i1", "--input1"], "description": "Input raster file to modify.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "input2": {"name": "Input Reference File", "flags": ["--i2", "--input2"], "description": "Input reference raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "method": {"name": "Resampling Method", "flags": ["--method"], "description": "Resampling method; options include 'nn' (nearest neighbour), 'bilinear', and 'cc' (cubic convolution)", "parameter_type": {"OptionList": ["nn", "bilinear", "cc"]}, "default_value": "cc", "optional": true}, "weight": {"name": "Distance Weight", "flags": ["--weight"], "description": "", "parameter_type": "Float", "default_value": "4.0", "optional": true}}}, "MultiPartToSinglePart": {"name": "MultiPartToSinglePart", "tool_name": "multi_part_to_single_part", "category": "Data Tools", "label": "Multi Part To Single Part", "description": "Converts a vector file containing multi-part features into a vector containing only single-part features.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/data_tools/multipart_to_singlepart.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/data_tools.html#MultiPartToSinglePart", "parameters": {"i": {"name": "Input Line or Polygon File", "flags": ["-i", "--input"], "description": "Input vector line or polygon file.", "parameter_type": {"ExistingFile": {"Vector": "Any"}}, "default_value": null, "optional": false}, "output": {"name": "Output Line or Polygon File", "flags": ["-o", "--output"], "description": "Output vector line or polygon file.", "parameter_type": {"NewFile": {"Vector": "Any"}}, "default_value": null, "optional": false}, "exclude_holes": {"name": "Exclude hole parts?", "flags": ["--exclude_holes"], "description": "Exclude hole parts from the feature splitting? (holes will continue to belong to their features in output.)", "parameter_type": "Boolean", "default_value": "true", "optional": true}}}, "MultidirectionalHillshade": {"name": "MultidirectionalHillshade", "tool_name": "multidirectional_hillshade", "category": "Geomorphometric Analysis", "label": "Multidirectional Hillshade", "description": "Calculates a multi-direction hillshade raster from an input DEM.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/multidirectional_hillshade.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#MultidirectionalHillshade", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "altitude": {"name": "Altitude (degrees)", "flags": ["--altitude"], "description": "Illumination source altitude in degrees.", "parameter_type": "Float", "default_value": "45.0", "optional": true}, "zfactor": {"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}, "full_mode": {"name": "Full 360-degree mode?", "flags": ["--full_mode"], "description": "Optional flag indicating whether to use full 360-degrees of illumination sources.", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "Multiply": {"name": "Multiply", "tool_name": "multiply", "category": "Math and Stats Tools", "label": "Multiply", "description": "Performs a multiplication operation on two rasters or a raster and a constant value.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/multiply.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#Multiply", "parameters": {"input1": {"name": "Input File Or Constant Value", "flags": ["--input1"], "description": "Input raster file or constant value.", "parameter_type": {"ExistingFileOrFloat": "Raster"}, "default_value": null, "optional": false}, "input2": {"name": "Input File Or Constant Value", "flags": ["--input2"], "description": "Input raster file or constant value.", "parameter_type": {"ExistingFileOrFloat": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "MultiplyOverlay": {"name": "MultiplyOverlay", "tool_name": "multiply_overlay", "category": "GIS Analysis", "label": "Multiply Overlay", "description": "Calculates the sum for each grid cell from a group of raster images.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/multiply_overlay.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#MultiplyOverlay", "parameters": {"inputs": {"name": "Input Files", "flags": ["-i", "--inputs"], "description": "Input raster files.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "MultiscaleCurvatures": {"name": "MultiscaleCurvatures", "tool_name": "multiscale_curvatures", "category": "Geomorphometric Analysis", "label": "Multiscale Curvatures", "description": "This tool calculates several multiscale curvatures and curvature-based indices from an input DEM.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#MultiscaleCurvatures", "parameters": {"dem": {"name": "Input Raster DEM", "flags": ["-i", "--input", "--dem"], "description": "Name of the input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "curv_type": {"name": "Curvature Type", "flags": ["--curv_type"], "description": "Curvature type", "parameter_type": {"OptionList": ["AccumulationCurv", "Curvedness", "DifferenceCurv", "GaussianCurv", "GeneratingFunction", "HorizontalExcessCurv", "MaximalCurv", "MeanCurv", "MinimalCurv", "PlanCurv", "ProfileCurv", "RingCurv", "Rotor", "ShapeIndex", "TangentialCurv", "TotalCurv", "Unsphericity", "VerticalExcessCurv"]}, "default_value": "ProfileCurv", "optional": true}, "out_mag": {"name": "Output Magnitude File", "flags": ["--out_mag"], "description": "Output raster magnitude file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "out_scale": {"name": "Output Scale File", "flags": ["--out_scale"], "description": "Output raster scale file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": true}, "min_scale": {"name": "Minimum Search Neighbourhood Radius (grid cells)", "flags": ["--min_scale"], "description": "Minimum search neighbourhood radius in grid cells.", "parameter_type": "Integer", "default_value": "0", "optional": true}, "step": {"name": "Base Step Size", "flags": ["--step"], "description": "Step size as any positive non-zero integer.", "parameter_type": "Integer", "default_value": "1", "optional": true}, "num_steps": {"name": "Number of Steps", "flags": ["--num_steps"], "description": "Number of steps.", "parameter_type": "Integer", "default_value": "1", "optional": false}, "step_nonlinearity": {"name": "Step Nonlinearity", "flags": ["--step_nonlinearity"], "description": "Step nonlinearity factor (1.0-2.0 is typical).", "parameter_type": "Float", "default_value": "1.0", "optional": false}, "log": {"name": "Log-transform the output?", "flags": ["--log"], "description": "Display output values using a log-scale.", "parameter_type": "Boolean", "default_value": "true", "optional": true}, "standardize": {"name": "Standardize Each Scale?", "flags": ["--standardize"], "description": "Should each scale be standardized to z-scores?", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "MultiscaleElevationPercentile": {"name": "MultiscaleElevationPercentile", "tool_name": "multiscale_elevation_percentile", "category": "Geomorphometric Analysis", "label": "Multiscale Elevation Percentile", "description": "Calculates surface roughness over a range of spatial scales.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/multiscale_elev_percentile.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#MultiscaleElevationPercentile", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "out_mag": {"name": "Output Roughness Magnitude File", "flags": ["--out_mag"], "description": "Output raster roughness magnitude file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "out_scale": {"name": "Output Roughness Scale File", "flags": ["--out_scale"], "description": "Output raster roughness scale file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "sig_digits": {"name": "Number of Significant Digits", "flags": ["--sig_digits"], "description": "Number of significant digits.", "parameter_type": "Integer", "default_value": "3", "optional": true}, "min_scale": {"name": "Minimum Search Neighbourhood Radius (grid cells)", "flags": ["--min_scale"], "description": "Minimum search neighbourhood radius in grid cells.", "parameter_type": "Integer", "default_value": "4", "optional": true}, "step": {"name": "Base Step Size", "flags": ["--step"], "description": "Step size as any positive non-zero integer.", "parameter_type": "Integer", "default_value": "1", "optional": true}, "num_steps": {"name": "Number of Steps", "flags": ["--num_steps"], "description": "Number of steps", "parameter_type": "Integer", "default_value": "10", "optional": true}, "step_nonlinearity": {"name": "Step Nonlinearity", "flags": ["--step_nonlinearity"], "description": "Step nonlinearity factor (1.0-2.0 is typical)", "parameter_type": "Float", "default_value": "1.0", "optional": true}}}, "MultiscaleRoughness": {"name": "MultiscaleRoughness", "tool_name": "multiscale_roughness", "category": "Geomorphometric Analysis", "label": "Multiscale Roughness", "description": "Calculates surface roughness over a range of spatial scales.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/multiscale_roughness.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#MultiscaleRoughness", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "out_mag": {"name": "Output Roughness Magnitude File", "flags": ["--out_mag"], "description": "Output raster roughness magnitude file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "out_scale": {"name": "Output Roughness Scale File", "flags": ["--out_scale"], "description": "Output raster roughness scale file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "min_scale": {"name": "Minimum Search Neighbourhood Radius (grid cells)", "flags": ["--min_scale"], "description": "Minimum search neighbourhood radius in grid cells.", "parameter_type": "Integer", "default_value": "1", "optional": true}, "max_scale": {"name": "Maximum Search Neighbourhood Radius (grid cells)", "flags": ["--max_scale"], "description": "Maximum search neighbourhood radius in grid cells.", "parameter_type": "Integer", "default_value": null, "optional": false}, "step": {"name": "Step Size", "flags": ["--step"], "description": "Step size as any positive non-zero integer.", "parameter_type": "Integer", "default_value": "1", "optional": true}}}, "MultiscaleRoughnessSignature": {"name": "MultiscaleRoughnessSignature", "tool_name": "multiscale_roughness_signature", "category": "Geomorphometric Analysis", "label": "Multiscale Roughness Signature", "description": "Calculates the surface roughness for points over a range of spatial scales.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/multiscale_roughness_signature.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#MultiscaleRoughnessSignature", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "points": {"name": "Input Vector Points File", "flags": ["--points"], "description": "Input vector points file.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "output": {"name": "Output HTML File", "flags": ["-o", "--output"], "description": "Output HTML file.", "parameter_type": {"NewFile": "Html"}, "default_value": null, "optional": false}, "min_scale": {"name": "Minimum Search Neighbourhood Radius (grid cells)", "flags": ["--min_scale"], "description": "Minimum search neighbourhood radius in grid cells.", "parameter_type": "Integer", "default_value": "1", "optional": true}, "max_scale": {"name": "Maximum Search Neighbourhood Radius (grid cells)", "flags": ["--max_scale"], "description": "Maximum search neighbourhood radius in grid cells.", "parameter_type": "Integer", "default_value": null, "optional": false}, "step": {"name": "Step Size", "flags": ["--step"], "description": "Step size as any positive non-zero integer.", "parameter_type": "Integer", "default_value": "1", "optional": true}}}, "MultiscaleStdDevNormals": {"name": "MultiscaleStdDevNormals", "tool_name": "multiscale_std_dev_normals", "category": "Geomorphometric Analysis", "label": "Multiscale Std Dev Normals", "description": "Calculates surface roughness over a range of spatial scales.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/multiscale_std_dev_normals.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#MultiscaleStdDevNormals", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "out_mag": {"name": "Output Roughness Magnitude File", "flags": ["--out_mag"], "description": "Output raster roughness magnitude file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "out_scale": {"name": "Output Roughness Scale File", "flags": ["--out_scale"], "description": "Output raster roughness scale file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "min_scale": {"name": "Minimum Search Neighbourhood Radius (grid cells)", "flags": ["--min_scale"], "description": "Minimum search neighbourhood radius in grid cells.", "parameter_type": "Integer", "default_value": "1", "optional": true}, "step": {"name": "Base Step Size", "flags": ["--step"], "description": "Step size as any positive non-zero integer.", "parameter_type": "Integer", "default_value": "1", "optional": true}, "num_steps": {"name": "Number of Steps", "flags": ["--num_steps"], "description": "Number of steps", "parameter_type": "Integer", "default_value": "10", "optional": false}, "step_nonlinearity": {"name": "Step Nonlinearity", "flags": ["--step_nonlinearity"], "description": "Step nonlinearity factor (1.0-2.0 is typical)", "parameter_type": "Float", "default_value": "1.0", "optional": false}}}, "MultiscaleStdDevNormalsSignature": {"name": "MultiscaleStdDevNormalsSignature", "tool_name": "multiscale_std_dev_normals_signature", "category": "Geomorphometric Analysis", "label": "Multiscale Std Dev Normals Signature", "description": "Calculates the surface roughness for points over a range of spatial scales.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/multiscale_std_dev_normals_signature.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#MultiscaleStdDevNormalsSignature", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "points": {"name": "Input Vector Points File", "flags": ["--points"], "description": "Input vector points file.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "output": {"name": "Output HTML File", "flags": ["-o", "--output"], "description": "Output HTML file.", "parameter_type": {"NewFile": "Html"}, "default_value": null, "optional": false}, "min_scale": {"name": "Minimum Search Neighbourhood Radius (grid cells)", "flags": ["--min_scale"], "description": "Minimum search neighbourhood radius in grid cells.", "parameter_type": "Integer", "default_value": "1", "optional": true}, "step": {"name": "Base Step Size", "flags": ["--step"], "description": "Step size as any positive non-zero integer.", "parameter_type": "Integer", "default_value": "1", "optional": true}, "num_steps": {"name": "Number of Steps", "flags": ["--num_steps"], "description": "Number of steps", "parameter_type": "Integer", "default_value": "10", "optional": false}, "step_nonlinearity": {"name": "Step Nonlinearity", "flags": ["--step_nonlinearity"], "description": "Step nonlinearity factor (1.0-2.0 is typical)", "parameter_type": "Float", "default_value": "1.0", "optional": false}}}, "MultiscaleTopographicPositionImage": {"name": "MultiscaleTopographicPositionImage", "tool_name": "multiscale_topographic_position_image", "category": "Geomorphometric Analysis", "label": "Multiscale Topographic Position Image", "description": "Creates a multiscale topographic position image from three DEVmax rasters of differing spatial scale ranges.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/multiscale_topographic_position_image.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#MultiscaleTopographicPositionImage", "parameters": {"local": {"name": "Input Local-Scale File", "flags": ["--local"], "description": "Input local-scale topographic position (DEVmax) raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "meso": {"name": "Input Meso-Scale File", "flags": ["--meso"], "description": "Input meso-scale topographic position (DEVmax) raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "broad": {"name": "Input Broad-Scale File", "flags": ["--broad"], "description": "Input broad-scale topographic position (DEVmax) raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "hillshade": {"name": "Optional Hillshade File", "flags": ["--hillshade"], "description": "Input optional hillshade raster file. Note: a multi-directional (360-degree option) hillshade tends to work best in this application.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": true}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "lightness": {"name": "Image Lightness Value", "flags": ["--lightness"], "description": "Image lightness value (default is 1.2).", "parameter_type": "Float", "default_value": "1.2", "optional": true}}}, "NarrownessIndex": {"name": "NarrownessIndex", "tool_name": "narrowness_index", "category": "GIS Analysis", "label": "Narrowness Index", "description": "Calculates the narrowness of raster polygons.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/narrowness_index.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#NarrownessIndex", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "NaturalNeighbourInterpolation": {"name": "NaturalNeighbourInterpolation", "tool_name": "natural_neighbour_interpolation", "category": "GIS Analysis", "label": "Natural Neighbour Interpolation", "description": "Creates a raster grid based on Sibson's natural neighbour method.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/natural_neighbour_interpolation.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#NaturalNeighbourInterpolation", "parameters": {"i": {"name": "Input Vector Points File", "flags": ["-i", "--input"], "description": "Input vector points file.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "field": {"name": "Field Name", "flags": ["--field"], "description": "Input field name in attribute table.", "parameter_type": {"VectorAttributeField": ["Number", "--input"]}, "default_value": null, "optional": true}, "use_z": {"name": "Use Shapefile 'z' values?", "flags": ["--use_z"], "description": "Use the 'z' dimension of the Shapefile's geometry instead of an attribute field?", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "output": {"name": "Output Raster File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "cell_size": {"name": "Cell Size (optional)", "flags": ["--cell_size"], "description": "Optionally specified cell size of output raster. Not used when base raster is specified.", "parameter_type": "Float", "default_value": null, "optional": true}, "base": {"name": "Base Raster File (optional)", "flags": ["--base"], "description": "Optionally specified input base raster file. Not used when a cell size is specified.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": true}, "clip": {"name": "Clip to convex hull?", "flags": ["--clip"], "description": "Clip the data to the convex hull of the points?", "parameter_type": "Boolean", "default_value": "true", "optional": true}}}, "NearestNeighbourGridding": {"name": "NearestNeighbourGridding", "tool_name": "nearest_neighbour_gridding", "category": "GIS Analysis", "label": "Nearest Neighbour Gridding", "description": "Creates a raster grid based on a set of vector points and assigns grid values using the nearest neighbour.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/nearest_neighbour_gridding.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#NearestNeighbourGridding", "parameters": {"i": {"name": "Input Vector Points File", "flags": ["-i", "--input"], "description": "Input vector Points file.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "field": {"name": "Field Name", "flags": ["--field"], "description": "Input field name in attribute table.", "parameter_type": {"VectorAttributeField": ["Number", "--input"]}, "default_value": null, "optional": false}, "use_z": {"name": "Use z-coordinate instead of field?", "flags": ["--use_z"], "description": "Use z-coordinate instead of field?", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "cell_size": {"name": "Cell Size (optional)", "flags": ["--cell_size"], "description": "Optionally specified cell size of output raster. Not used when base raster is specified.", "parameter_type": "Float", "default_value": null, "optional": true}, "base": {"name": "Base Raster File (optional)", "flags": ["--base"], "description": "Optionally specified input base raster file. Not used when a cell size is specified.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": true}, "max_dist": {"name": "Maximum Search Distance", "flags": ["--max_dist"], "description": "Maximum search distance (optional)", "parameter_type": "Float", "default_value": null, "optional": true}}}, "Negate": {"name": "Negate", "tool_name": "negate", "category": "Math and Stats Tools", "label": "Negate", "description": "Changes the sign of values in a raster or the 0-1 values of a Boolean raster.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/negate.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#Negate", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "NewRasterFromBase": {"name": "NewRasterFromBase", "tool_name": "new_raster_from_base", "category": "Data Tools", "label": "New Raster From Base", "description": "Creates a new raster using a base image.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/data_tools/new_raster.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/data_tools.html#NewRasterFromBase", "parameters": {"base": {"name": "Input Base File", "flags": ["-i", "--base"], "description": "Input base raster file.", "parameter_type": {"ExistingFile": {"RasterAndVector": "Any"}}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "value": {"name": "Constant Value", "flags": ["--value"], "description": "Constant value to fill raster with; either 'nodata' or numeric value.", "parameter_type": "StringOrNumber", "default_value": "nodata", "optional": true}, "data_type": {"name": "Data Type", "flags": ["--data_type"], "description": "Output raster data type; options include 'double' (64-bit), 'float' (32-bit), and 'integer' (signed 16-bit) (default is 'float').", "parameter_type": {"OptionList": ["double", "float", "integer"]}, "default_value": "float", "optional": true}, "cell_size": {"name": "Cell Size (optional)", "flags": ["--cell_size"], "description": "Optionally specified cell size of output raster. Not used when base raster is specified.", "parameter_type": "Float", "default_value": null, "optional": true}}}, "NormalVectors": {"name": "NormalVectors", "tool_name": "normal_vectors", "category": "LiDAR Tools", "label": "Normal Vectors", "description": "Calculates normal vectors for points within a LAS file and stores these data (XYZ vector components) in the RGB field.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/lidar_analysis/normal_vectors.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#NormalVectors", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input LiDAR file.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output LiDAR file.", "parameter_type": {"NewFile": "Lidar"}, "default_value": null, "optional": false}, "radius": {"name": "Search Radius", "flags": ["--radius"], "description": "Search Radius.", "parameter_type": "Float", "default_value": "1.0", "optional": false}}}, "NormalizeLidar": {"name": "NormalizeLidar", "tool_name": "normalize_lidar", "category": "LiDAR Tools", "label": "Normalize Lidar", "description": "Normalizes a LiDAR point cloud.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#NormalizeLidar", "parameters": {"i": {"name": "Input LiDAR File", "flags": ["-i", "--input"], "description": "Name of the input LiDAR file.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": false}, "output": {"name": "Output Lidar File", "flags": ["-o", "--output"], "description": "Name of the output LiDAR file.", "parameter_type": {"NewFile": "Lidar"}, "default_value": null, "optional": false}, "dtm": {"name": "Input DTM Raster File", "flags": ["--dtm"], "description": "Name of the input digital terrain model (DTM) raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}}}, "NormalizedDifferenceIndex": {"name": "NormalizedDifferenceIndex", "tool_name": "normalized_difference_index", "category": "Image Processing Tools", "label": "Normalized Difference Index", "description": "Calculate a normalized-difference index (NDI) from two bands of multispectral image data.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/normalized_difference_index.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#NormalizedDifferenceIndex", "parameters": {"input1": {"name": "Input 1 File", "flags": ["--input1"], "description": "Input image 1 (e.g. near-infrared band).", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "input2": {"name": "Input 2 File", "flags": ["--input2"], "description": "Input image 2 (e.g. red band).", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "clip": {"name": "Distribution Tail Clip Amount (%)", "flags": ["--clip"], "description": "Optional amount to clip the distribution tails by, in percent.", "parameter_type": "Float", "default_value": "0.0", "optional": true}, "correction": {"name": "Correction value", "flags": ["--correction"], "description": "Optional adjustment value (e.g. 1, or 0.16 for the optimal soil adjusted vegetation index, OSAVI).", "parameter_type": "Float", "default_value": "0.0", "optional": true}}}, "Not": {"name": "Not", "tool_name": "not", "category": "Math and Stats Tools", "label": "Not", "description": "Performs a logical NOT operator on two Boolean raster images.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/not.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#Not", "parameters": {"input1": {"name": "Input File", "flags": ["--input1"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "input2": {"name": "Input File", "flags": ["--input2"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "NotEqualTo": {"name": "NotEqualTo", "tool_name": "not_equal_to", "category": "Math and Stats Tools", "label": "Not Equal To", "description": "Performs a not-equal-to comparison operation on two rasters or a raster and a constant value.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/not_equal_to.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#NotEqualTo", "parameters": {"input1": {"name": "Input File Or Constant Value", "flags": ["--input1"], "description": "Input raster file or constant value.", "parameter_type": {"ExistingFileOrFloat": "Raster"}, "default_value": null, "optional": false}, "input2": {"name": "Input File Or Constant Value", "flags": ["--input2"], "description": "Input raster file or constant value.", "parameter_type": {"ExistingFileOrFloat": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "NumDownslopeNeighbours": {"name": "NumDownslopeNeighbours", "tool_name": "num_downslope_neighbours", "category": "Geomorphometric Analysis", "label": "Num Downslope Neighbours", "description": "Calculates the number of downslope neighbours to each grid cell in a DEM.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/num_downslope_neighbours.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#NumDownslopeNeighbours", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "NumInflowingNeighbours": {"name": "NumInflowingNeighbours", "tool_name": "num_inflowing_neighbours", "category": "Hydrological Analysis", "label": "Num Inflowing Neighbours", "description": "Computes the number of inflowing neighbours to each cell in an input DEM based on the D8 algorithm.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/num_inflowing_neighbours.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#NumInflowingNeighbours", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "NumUpslopeNeighbours": {"name": "NumUpslopeNeighbours", "tool_name": "num_upslope_neighbours", "category": "Geomorphometric Analysis", "label": "Num Upslope Neighbours", "description": "Calculates the number of upslope neighbours to each grid cell in a DEM.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/num_upslope_neighbours.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#NumUpslopeNeighbours", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "OlympicFilter": {"name": "OlympicFilter", "tool_name": "olympic_filter", "category": "Image Processing Tools", "label": "Olympic Filter", "description": "Performs an olympic smoothing filter on an image.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/olympic_filter.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#OlympicFilter", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "filterx": {"name": "Filter X-Dimension", "flags": ["--filterx"], "description": "Size of the filter kernel in the x-direction.", "parameter_type": "Integer", "default_value": "11", "optional": true}, "filtery": {"name": "Filter Y-Dimension", "flags": ["--filtery"], "description": "Size of the filter kernel in the y-direction.", "parameter_type": "Integer", "default_value": "11", "optional": true}}}, "Opening": {"name": "Opening", "tool_name": "opening", "category": "Image Processing Tools", "label": "Opening", "description": "An opening is a mathematical morphology operation involving a dilation (max filter) of an erosion (min filter) set.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/opening.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#Opening", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "filterx": {"name": "Filter X-Dimension", "flags": ["--filterx"], "description": "Size of the filter kernel in the x-direction.", "parameter_type": "Integer", "default_value": "11", "optional": true}, "filtery": {"name": "Filter Y-Dimension", "flags": ["--filtery"], "description": "Size of the filter kernel in the y-direction.", "parameter_type": "Integer", "default_value": "11", "optional": true}}}, "Openness": {"name": "Openness", "tool_name": "openness", "category": "Geomorphometric Analysis", "label": "Openness", "description": "This tool calculates the topographic openness index from an input DEM.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#Openness", "parameters": {"i": {"name": "Input Raster DEM", "flags": ["-i", "--input"], "description": "Name of the input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "pos_output": {"name": "Positive Openness Output Raster", "flags": ["--pos_output"], "description": "Name of the positive openness output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "neg_output": {"name": "Negative Openness Output Raster", "flags": ["--neg_output"], "description": "Name of the negative openness output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "dist": {"name": "Search Distance (grid cells)", "flags": ["--dist"], "description": "Search distance, in grid cells.", "parameter_type": "Integer", "default_value": "20", "optional": true}}}, "Or": {"name": "Or", "tool_name": "or", "category": "Math and Stats Tools", "label": "Or", "description": "Performs a logical OR operator on two Boolean raster images.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/or.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#Or", "parameters": {"input1": {"name": "Input File", "flags": ["--input1"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "input2": {"name": "Input File", "flags": ["--input2"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "PairedSampleTTest": {"name": "PairedSampleTTest", "tool_name": "paired_sample_t_test", "category": "Math and Stats Tools", "label": "Paired Sample T Test", "description": "Performs a 2-sample K-S test for significant differences on two input rasters.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/paired_sample_t_test.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#PairedSampleTTest", "parameters": {"input1": {"name": "First Input File", "flags": ["--input1"], "description": "First input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "input2": {"name": "Second Input File", "flags": ["--input2"], "description": "Second input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output HTML file.", "parameter_type": {"NewFile": "Html"}, "default_value": null, "optional": false}, "num_samples": {"name": "Num. Samples (blank for whole image)", "flags": ["--num_samples"], "description": "Number of samples. Leave blank to use whole image.", "parameter_type": "Integer", "default_value": null, "optional": true}}}, "PanchromaticSharpening": {"name": "PanchromaticSharpening", "tool_name": "panchromatic_sharpening", "category": "Image Processing Tools", "label": "Panchromatic Sharpening", "description": "Increases the spatial resolution of image data by combining multispectral bands with panchromatic data.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/pan_sharpening.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#PanchromaticSharpening", "parameters": {"red": {"name": "Input Red Band File (optional; only if colour-composite not specified)", "flags": ["--red"], "description": "Input red band image file. Optionally specified if colour-composite not specified.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": true}, "green": {"name": "Input Green Band File (optional; only if colour-composite not specified)", "flags": ["--green"], "description": "Input green band image file. Optionally specified if colour-composite not specified.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": true}, "blue": {"name": "Input Blue Band File (optional; only if colour-composite not specified)", "flags": ["--blue"], "description": "Input blue band image file. Optionally specified if colour-composite not specified.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": true}, "composite": {"name": "Input Colour-Composite Image File (optional; only if individual bands not specified)", "flags": ["--composite"], "description": "Input colour-composite image file. Only used if individual bands are not specified.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": true}, "pan": {"name": "Input Panchromatic Band File", "flags": ["--pan"], "description": "Input panchromatic band file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Colour Composite File", "flags": ["-o", "--output"], "description": "Output colour composite file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "method": {"name": "Pan-Sharpening Method", "flags": ["--method"], "description": "Options include 'brovey' (default) and 'ihs'", "parameter_type": {"OptionList": ["brovey", "ihs"]}, "default_value": "brovey", "optional": true}}}, "ParallelepipedClassification": {"name": "ParallelepipedClassification", "tool_name": "parallelepiped_classification", "category": "Image Processing Tools", "label": "Parallelepiped Classification", "description": "Performs a supervised parallelepiped classification using training site polygons and multi-spectral images.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools/classification.html#ParallelepipedClassification", "parameters": {"inputs": {"name": "Input Band Images", "flags": ["-i", "--inputs"], "description": "Name of the input band images.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "polys": {"name": "Input Training Polygons", "flags": ["-p", "--polys"], "description": "Name of the input training site polygons shapefile.", "parameter_type": {"ExistingFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}, "field": {"name": "Class Name Field", "flags": ["-f", "--field"], "description": "Name of the attribute containing class name data.", "parameter_type": {"VectorAttributeField": ["Any", "--polys"]}, "default_value": null, "optional": false}, "output": {"name": "Output Raster File", "flags": ["-o", "--output"], "description": "Name of the output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "PatchOrientation": {"name": "PatchOrientation", "tool_name": "patch_orientation", "category": "GIS Analysis", "label": "Patch Orientation", "description": "Calculates the orientation of vector polygons.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/patch_orientation.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#PatchOrientation", "parameters": {"i": {"name": "Input Vector Polygon File", "flags": ["-i", "--input"], "description": "Input vector polygon file.", "parameter_type": {"ExistingFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}}}, "PennockLandformClass": {"name": "PennockLandformClass", "tool_name": "pennock_landform_class", "category": "Geomorphometric Analysis", "label": "Pennock Landform Class", "description": "Classifies hillslope zones based on slope, profile curvature, and plan curvature.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/pennock_landform_class.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#PennockLandformClass", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "slope": {"name": "Slope Threshold (degrees)", "flags": ["--slope"], "description": "Slope threshold value, in degrees (default is 3.0)", "parameter_type": "Float", "default_value": "3.0", "optional": false}, "prof": {"name": "Profile Curvature Threshold", "flags": ["--prof"], "description": "Profile curvature threshold value (default is 0.1)", "parameter_type": "Float", "default_value": "0.1", "optional": false}, "plan": {"name": "Plan Curvature Threshold", "flags": ["--plan"], "description": "Plan curvature threshold value (default is 0.0).", "parameter_type": "Float", "default_value": "0.0", "optional": false}, "zfactor": {"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}}}, "PercentElevRange": {"name": "PercentElevRange", "tool_name": "percent_elev_range", "category": "Geomorphometric Analysis", "label": "Percent Elev Range", "description": "Calculates percent of elevation range from a DEM.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/percent_elev_range.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#PercentElevRange", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--input", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "filterx": {"name": "Filter X-Dimension", "flags": ["--filterx"], "description": "Size of the filter kernel in the x-direction.", "parameter_type": "Integer", "default_value": "3", "optional": true}, "filtery": {"name": "Filter Y-Dimension", "flags": ["--filtery"], "description": "Size of the filter kernel in the y-direction.", "parameter_type": "Integer", "default_value": "3", "optional": true}}}, "PercentEqualTo": {"name": "PercentEqualTo", "tool_name": "percent_equal_to", "category": "GIS Analysis", "label": "Percent Equal To", "description": "Calculates the percentage of a raster stack that have cell values equal to an input on a cell-by-cell basis.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/percent_equal_to.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#PercentEqualTo", "parameters": {"inputs": {"name": "Input Files", "flags": ["-i", "--inputs"], "description": "Input raster files.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "comparison": {"name": "Input Comparison File", "flags": ["--comparison"], "description": "Input comparison raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "PercentGreaterThan": {"name": "PercentGreaterThan", "tool_name": "percent_greater_than", "category": "GIS Analysis", "label": "Percent Greater Than", "description": "Calculates the percentage of a raster stack that have cell values greater than an input on a cell-by-cell basis.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/percent_greater_than.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#PercentGreaterThan", "parameters": {"inputs": {"name": "Input Files", "flags": ["-i", "--inputs"], "description": "Input raster files.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "comparison": {"name": "Input Comparison File", "flags": ["--comparison"], "description": "Input comparison raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "PercentLessThan": {"name": "PercentLessThan", "tool_name": "percent_less_than", "category": "GIS Analysis", "label": "Percent Less Than", "description": "Calculates the percentage of a raster stack that have cell values less than an input on a cell-by-cell basis.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/percent_less_than.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#PercentLessThan", "parameters": {"inputs": {"name": "Input Files", "flags": ["-i", "--inputs"], "description": "Input raster files.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "comparison": {"name": "Input Comparison File", "flags": ["--comparison"], "description": "Input comparison raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "PercentageContrastStretch": {"name": "PercentageContrastStretch", "tool_name": "percentage_contrast_stretch", "category": "Image Processing Tools", "label": "Percentage Contrast Stretch", "description": "Performs a percentage linear contrast stretch on input images.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/percentage_contrast_stretch.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#PercentageContrastStretch", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "clip": {"name": "Distribution Tail Clip Amount (%)", "flags": ["--clip"], "description": "Optional amount to clip the distribution tails by, in percent.", "parameter_type": "Float", "default_value": "1.0", "optional": true}, "tail": {"name": "Tail", "flags": ["--tail"], "description": "Specified which tails to clip; options include 'upper', 'lower', and 'both' (default is 'both').", "parameter_type": {"OptionList": ["upper", "lower", "both"]}, "default_value": "both", "optional": true}, "num_tones": {"name": "Number of Tones", "flags": ["--num_tones"], "description": "Number of tones in the output image.", "parameter_type": "Integer", "default_value": "256", "optional": false}}}, "PercentileFilter": {"name": "PercentileFilter", "tool_name": "percentile_filter", "category": "Image Processing Tools", "label": "Percentile Filter", "description": "Performs a percentile filter on an input image.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/percentile_filter.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#PercentileFilter", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "filterx": {"name": "Filter X-Dimension", "flags": ["--filterx"], "description": "Size of the filter kernel in the x-direction.", "parameter_type": "Integer", "default_value": "11", "optional": true}, "filtery": {"name": "Filter Y-Dimension", "flags": ["--filtery"], "description": "Size of the filter kernel in the y-direction.", "parameter_type": "Integer", "default_value": "11", "optional": true}, "sig_digits": {"name": "Number of Significant Digits", "flags": ["--sig_digits"], "description": "Number of significant digits.", "parameter_type": "Integer", "default_value": "2", "optional": true}}}, "PerimeterAreaRatio": {"name": "PerimeterAreaRatio", "tool_name": "perimeter_area_ratio", "category": "GIS Analysis", "label": "Perimeter Area Ratio", "description": "Calculates the perimeter-area ratio of vector polygons.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/perimeter_area_ratio.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#PerimeterAreaRatio", "parameters": {"i": {"name": "Input Vector Polygon File", "flags": ["-i", "--input"], "description": "Input vector polygon file.", "parameter_type": {"ExistingFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}}}, "PhiCoefficient": {"name": "PhiCoefficient", "tool_name": "phi_coefficient", "category": "Math and Stats Tools", "label": "Phi Coefficient", "description": "This tool performs a binary classification accuracy assessment.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#PhiCoefficient", "parameters": {"input1": {"name": "Input Raster Image 1", "flags": ["--input1"], "description": "Name of the first input raster image file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "input2": {"name": "Input Raster Image 2", "flags": ["--input2"], "description": "Name of the second input raster image file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output HTML File", "flags": ["-o", "--output"], "description": "Name of the output HTML file.", "parameter_type": {"NewFile": "Html"}, "default_value": null, "optional": false}}}, "PickFromList": {"name": "PickFromList", "tool_name": "pick_from_list", "category": "GIS Analysis", "label": "Pick From List", "description": "Outputs the value from a raster stack specified by a position raster.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/pick_from_list.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#PickFromList", "parameters": {"inputs": {"name": "Input Files", "flags": ["-i", "--inputs"], "description": "Input raster files.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "pos_input": {"name": "Input Position File", "flags": ["--pos_input"], "description": "Input position raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "PiecewiseContrastStretch": {"name": "PiecewiseContrastStretch", "tool_name": "piecewise_contrast_stretch", "category": "Image Processing Tools", "label": "Piecewise Contrast Stretch", "description": "Performs a piecewise contrast stretch on an input image.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools/image_enhancement.html#PiecewiseContrastStretch", "parameters": {"i": {"name": "Input Raster Image", "flags": ["-i", "--input"], "description": "Name of the input raster image file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster Image", "flags": ["-o", "--output"], "description": "Name of the output raster image file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "function": {"name": "Piecewise Function Break-points:", "flags": ["-f", "--function"], "description": "Piecewise function break-points e.g. '(50, 0.1); (150, 0.8); (255; 1.0)", "parameter_type": "String", "default_value": "", "optional": false}, "greytones": {"name": "Number of Output Greytones:", "flags": ["-g", "--greytones"], "description": "Number of greytones in the output image.", "parameter_type": "Integer", "default_value": "1024", "optional": true}}}, "PlanCurvature": {"name": "PlanCurvature", "tool_name": "plan_curvature", "category": "Geomorphometric Analysis", "label": "Plan Curvature", "description": "Calculates a plan (contour) curvature raster from an input DEM.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/plan_curvature.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#PlanCurvature", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "log": {"name": "Log-transform the output?", "flags": ["--log"], "description": "Display output values using a log-scale.", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "zfactor": {"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}}}, "PolygonArea": {"name": "PolygonArea", "tool_name": "polygon_area", "category": "GIS Analysis", "label": "Polygon Area", "description": "Calculates the area of vector polygons.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/polygon_area.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#PolygonArea", "parameters": {"i": {"name": "Input Vector Polygon File", "flags": ["-i", "--input"], "description": "Input vector polygon file.", "parameter_type": {"ExistingFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}}}, "PolygonLongAxis": {"name": "PolygonLongAxis", "tool_name": "polygon_long_axis", "category": "GIS Analysis", "label": "Polygon Long Axis", "description": "Used to map the long axis of polygon features.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/polygon_long_axis.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#PolygonLongAxis", "parameters": {"i": {"name": "Input Polygon File", "flags": ["-i", "--input"], "description": "Input vector polygons file.", "parameter_type": {"ExistingFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}, "output": {"name": "Output Polygon File", "flags": ["-o", "--output"], "description": "Output vector polyline file.", "parameter_type": {"NewFile": {"Vector": "Line"}}, "default_value": null, "optional": false}}}, "PolygonPerimeter": {"name": "PolygonPerimeter", "tool_name": "polygon_perimeter", "category": "GIS Analysis", "label": "Polygon Perimeter", "description": "Calculates the perimeter of vector polygons.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/polygon_perimeter.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#PolygonPerimeter", "parameters": {"i": {"name": "Input Vector Polygon File", "flags": ["-i", "--input"], "description": "Input vector polygon file.", "parameter_type": {"ExistingFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}}}, "PolygonShortAxis": {"name": "PolygonShortAxis", "tool_name": "polygon_short_axis", "category": "GIS Analysis", "label": "Polygon Short Axis", "description": "Used to map the short axis of polygon features.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/polygon_short_axis.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#PolygonShortAxis", "parameters": {"i": {"name": "Input Polygon File", "flags": ["-i", "--input"], "description": "Input vector polygons file.", "parameter_type": {"ExistingFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}, "output": {"name": "Output Polygon File", "flags": ["-o", "--output"], "description": "Output vector polyline file.", "parameter_type": {"NewFile": {"Vector": "Line"}}, "default_value": null, "optional": false}}}, "Polygonize": {"name": "Polygonize", "tool_name": "polygonize", "category": "GIS Analysis", "label": "Polygonize", "description": "Creates a polygon layer from two or more intersecting line features contained in one or more input vector line files.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/polygonize.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#Polygonize", "parameters": {"inputs": {"name": "Input Vector Lines File", "flags": ["-i", "--inputs"], "description": "Input vector polyline file.", "parameter_type": {"FileList": {"Vector": "Line"}}, "default_value": null, "optional": false}, "output": {"name": "Output Vector Polygon File", "flags": ["-o", "--output"], "description": "Output vector polygon file.", "parameter_type": {"NewFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}}}, "PolygonsToLines": {"name": "PolygonsToLines", "tool_name": "polygons_to_lines", "category": "Data Tools", "label": "Polygons To Lines", "description": "Converts vector polygons to polylines.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/data_tools/polygons_to_lines.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/data_tools.html#PolygonsToLines", "parameters": {"i": {"name": "Input Polygon File", "flags": ["-i", "--input"], "description": "Input vector polygon file.", "parameter_type": {"ExistingFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}, "output": {"name": "Output Line File", "flags": ["-o", "--output"], "description": "Output vector lines file.", "parameter_type": {"NewFile": {"Vector": "Line"}}, "default_value": null, "optional": false}}}, "Power": {"name": "Power", "tool_name": "power", "category": "Math and Stats Tools", "label": "Power", "description": "Raises the values in grid cells of one rasters, or a constant value, by values in another raster or constant value.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/power.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#Power", "parameters": {"input1": {"name": "Input File Or Constant Value", "flags": ["--input1"], "description": "Input raster file or constant value.", "parameter_type": {"ExistingFileOrFloat": "Raster"}, "default_value": null, "optional": false}, "input2": {"name": "Input File Or Constant Value", "flags": ["--input2"], "description": "Input raster file or constant value.", "parameter_type": {"ExistingFileOrFloat": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "PrewittFilter": {"name": "PrewittFilter", "tool_name": "prewitt_filter", "category": "Image Processing Tools", "label": "Prewitt Filter", "description": "Performs a Prewitt edge-detection filter on an image.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/prewitt_filter.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#PrewittFilter", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "clip": {"name": "Distribution Tail Clip Amount (Percent)", "flags": ["--clip"], "description": "Optional amount to clip the distribution tails by, in percent.", "parameter_type": "Float", "default_value": "0.0", "optional": true}}}, "PrincipalComponentAnalysis": {"name": "PrincipalComponentAnalysis", "tool_name": "principal_component_analysis", "category": "Math and Stats Tools", "label": "Principal Component Analysis", "description": "Performs a principal component analysis (PCA) on a multi-spectral dataset.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/principal_component_analysis.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#PrincipalComponentAnalysis", "parameters": {"inputs": {"name": "Input Files", "flags": ["-i", "--inputs"], "description": "Input raster files.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output HTML Report File", "flags": ["--out_html", "--output"], "description": "Output HTML report file.", "parameter_type": {"NewFile": "Html"}, "default_value": null, "optional": false}, "num_comp": {"name": "Num. of Component Images (blank for all)", "flags": ["--num_comp"], "description": "Number of component images to output; <= to num. input images", "parameter_type": "Integer", "default_value": null, "optional": true}, "standardized": {"name": "Perform Standaradized PCA?", "flags": ["--standardized"], "description": "Perform standardized PCA?", "parameter_type": "Boolean", "default_value": null, "optional": true}}}, "PrintGeoTiffTags": {"name": "PrintGeoTiffTags", "tool_name": "print_geo_tiff_tags", "category": "Data Tools", "label": "Print Geo Tiff Tags", "description": "Prints the tags within a GeoTIFF.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/data_tools/print_geotiff_tags.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/data_tools.html#PrintGeoTiffTags", "parameters": {"i": {"name": "Input GeoTIFF Raster File", "flags": ["-i", "--input"], "description": "Input GeoTIFF file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}}}, "Profile": {"name": "Profile", "tool_name": "profile", "category": "Geomorphometric Analysis", "label": "Profile", "description": "Plots profiles from digital surface models.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/profile.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#Profile", "parameters": {"lines": {"name": "Input Vector Line File", "flags": ["--lines"], "description": "Input vector line file.", "parameter_type": {"ExistingFile": {"Vector": "Line"}}, "default_value": null, "optional": false}, "surface": {"name": "Input Surface File", "flags": ["--surface"], "description": "Input raster surface file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output HTML File", "flags": ["-o", "--output"], "description": "Output HTML file.", "parameter_type": {"NewFile": "Html"}, "default_value": null, "optional": false}}}, "ProfileCurvature": {"name": "ProfileCurvature", "tool_name": "profile_curvature", "category": "Geomorphometric Analysis", "label": "Profile Curvature", "description": "Calculates a profile curvature raster from an input DEM.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/prof_curvature.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#ProfileCurvature", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "log": {"name": "Log-transform the output?", "flags": ["--log"], "description": "Display output values using a log-scale.", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "zfactor": {"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}}}, "QinFlowAccumulation": {"name": "QinFlowAccumulation", "tool_name": "qin_flow_accumulation", "category": "Hydrological Analysis", "label": "Qin Flow Accumulation", "description": "Calculates Qin et al. (2007) flow accumulation.", "github": "https://github.com/jblindsay/whitebox-tools/tree/master/whitebox-plugins/src/QinFlowAccumulation/main.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#QinFlowAccumulation", "parameters": {"dem": {"name": "Input DEM Raster", "flags": ["-d", "--dem"], "description": "Name of the input DEM raster file; must be depressionless.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster File", "flags": ["--output"], "description": "Name of the output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "out_type": {"name": "Output Type", "flags": ["--out_type"], "description": "Output type; one of 'cells', 'specific contributing area' (default), and 'catchment area'.", "parameter_type": {"OptionList": ["cells", "specific contributing area", "catchment area"]}, "default_value": "specific contributing area", "optional": true}, "exponent": {"name": "Upper-bound Exponent Parameter", "flags": ["--exponent"], "description": "Optional upper-bound exponent parameter; default is 10.0.", "parameter_type": "Float", "default_value": "10.0", "optional": true}, "max_slope": {"name": "Upper-bound Slope Parameter (in degrees)", "flags": ["--max_slope"], "description": "Optional upper-bound slope parameter, in degrees (0-90); default is 45.0.", "parameter_type": "Float", "default_value": "45.0", "optional": true}, "threshold": {"name": "Convergence Threshold (grid cells; blank for none)", "flags": ["--threshold"], "description": "Optional convergence threshold parameter, in grid cells; default is infinity.", "parameter_type": "Float", "default_value": null, "optional": true}, "log": {"name": "Log-transform the output?", "flags": ["--log"], "description": "Log-transform the output values?", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "clip": {"name": "Clip the upper tail by 1%?", "flags": ["--clip"], "description": "Optional flag to request clipping the display max by 1%.", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "Quantiles": {"name": "Quantiles", "tool_name": "quantiles", "category": "Math and Stats Tools", "label": "Quantiles", "description": "Transforms raster values into quantiles.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/quantiles.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#Quantiles", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "num_quantiles": {"name": "Number of Quantiles", "flags": ["--num_quantiles"], "description": "Number of quantiles.", "parameter_type": "Integer", "default_value": "5", "optional": false}}}, "QuinnFlowAccumulation": {"name": "QuinnFlowAccumulation", "tool_name": "quinn_flow_accumulation", "category": "Hydrological Analysis", "label": "Quinn Flow Accumulation", "description": "Calculates Quinn et al. (1995) flow accumulation.", "github": "https://github.com/jblindsay/whitebox-tools/tree/master/whitebox-plugins/src/QuinnFlowAccumulation/main.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#QuinnFlowAccumulation", "parameters": {"dem": {"name": "Input DEM Raster", "flags": ["-d", "--dem"], "description": "Name of the input DEM raster file; must be depressionless.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster File", "flags": ["--output"], "description": "Name of the output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "out_type": {"name": "Output Type", "flags": ["--out_type"], "description": "Output type; one of 'cells', 'specific contributing area' (default), and 'catchment area'.", "parameter_type": {"OptionList": ["cells", "specific contributing area", "catchment area"]}, "default_value": "specific contributing area", "optional": true}, "exponent": {"name": "Exponent Parameter", "flags": ["--exponent"], "description": "Optional exponent parameter; default is 1.0.", "parameter_type": "Float", "default_value": "1.0", "optional": true}, "threshold": {"name": "Convergence Threshold (grid cells; blank for none)", "flags": ["--threshold"], "description": "Optional convergence threshold parameter, in grid cells; default is infinity.", "parameter_type": "Float", "default_value": null, "optional": true}, "log": {"name": "Log-transform the output?", "flags": ["--log"], "description": "Log-transform the output values?", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "clip": {"name": "Clip the upper tail by 1%?", "flags": ["--clip"], "description": "Optional flag to request clipping the display max by 1%.", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "RadialBasisFunctionInterpolation": {"name": "RadialBasisFunctionInterpolation", "tool_name": "radial_basis_function_interpolation", "category": "GIS Analysis", "label": "Radial Basis Function Interpolation", "description": "Interpolates vector points into a raster surface using a radial basis function scheme.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/radial_basis_function_interpolation.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#RadialBasisFunctionInterpolation", "parameters": {"i": {"name": "Input Vector Points File", "flags": ["-i", "--input"], "description": "Input vector points file.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "field": {"name": "Field Name", "flags": ["--field"], "description": "Input field name in attribute table.", "parameter_type": {"VectorAttributeField": ["Number", "--input"]}, "default_value": null, "optional": false}, "use_z": {"name": "Use z-coordinate instead of field?", "flags": ["--use_z"], "description": "Use z-coordinate instead of field?", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "radius": {"name": "Search Radius (map units)", "flags": ["--radius"], "description": "Search Radius (in map units).", "parameter_type": "Float", "default_value": null, "optional": true}, "min_points": {"name": "Min. Number of Points", "flags": ["--min_points"], "description": "Minimum number of points.", "parameter_type": "Integer", "default_value": null, "optional": true}, "func_type": {"name": "Radial Basis Function Type", "flags": ["--func_type"], "description": "Radial basis function type; options are 'ThinPlateSpline' (default), 'PolyHarmonic', 'Gaussian', 'MultiQuadric', 'InverseMultiQuadric'.", "parameter_type": {"OptionList": ["ThinPlateSpline", "PolyHarmonic", "Gaussian", "MultiQuadric", "InverseMultiQuadric"]}, "default_value": "ThinPlateSpline", "optional": true}, "poly_order": {"name": "Polynomial Order", "flags": ["--poly_order"], "description": "Polynomial order; options are 'none' (default), 'constant', 'affine'.", "parameter_type": {"OptionList": ["none", "constant", "affine"]}, "default_value": "none", "optional": true}, "weight": {"name": "Weight", "flags": ["--weight"], "description": "Weight parameter used in basis function.", "parameter_type": "Float", "default_value": "0.1", "optional": false}, "cell_size": {"name": "Cell Size (optional)", "flags": ["--cell_size"], "description": "Optionally specified cell size of output raster. Not used when base raster is specified.", "parameter_type": "Float", "default_value": null, "optional": true}, "base": {"name": "Base Raster File (optional)", "flags": ["--base"], "description": "Optionally specified input base raster file. Not used when a cell size is specified.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": true}}}, "RadiusOfGyration": {"name": "RadiusOfGyration", "tool_name": "radius_of_gyration", "category": "GIS Analysis", "label": "Radius Of Gyration", "description": "Calculates the distance of cells from their polygon's centroid.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/radius_of_gyration.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#RadiusOfGyration", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "text_output": {"name": "Output text?", "flags": ["--text_output"], "description": "Optional text output.", "parameter_type": "Boolean", "default_value": null, "optional": false}}}, "RaiseWalls": {"name": "RaiseWalls", "tool_name": "raise_walls", "category": "Hydrological Analysis", "label": "Raise Walls", "description": "Raises walls in a DEM along a line or around a polygon, e.g. a watershed.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/raise_walls.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#RaiseWalls", "parameters": {"input": {"name": "Input Vector Line or Polygon File", "flags": ["-i", "walls", "--input"], "description": "Input vector lines or polygons file.", "parameter_type": {"ExistingFile": {"Vector": "Any"}}, "default_value": null, "optional": false}, "breach": {"name": "Input Breach Lines (optional)", "flags": ["--breach"], "description": "Optional input vector breach lines.", "parameter_type": {"ExistingFile": {"Vector": "Line"}}, "default_value": null, "optional": true}, "dem": {"name": "Input DEM File", "flags": ["--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "height": {"name": "Wall Height", "flags": ["--height"], "description": "Wall height.", "parameter_type": "Float", "default_value": "100.0", "optional": true}}}, "RandomField": {"name": "RandomField", "tool_name": "random_field", "category": "Math and Stats Tools", "label": "Random Field", "description": "Creates an image containing random values.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/random_field.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#RandomField", "parameters": {"base": {"name": "Input Base File", "flags": ["-i", "--base"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "RandomForestClassification": {"name": "RandomForestClassification", "tool_name": "random_forest_classification", "category": "Machine Learning", "label": "Random Forest Classification", "description": "Performs a supervised random forest classification using training site polygons/points and predictor rasters.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/machine_learning.html#RandomForestClassification", "parameters": {"inputs": {"name": "Input Predictor Rasters", "flags": ["-i", "--inputs"], "description": "Names of the input predictor rasters.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "training": {"name": "Input Training Polygons/Points", "flags": ["-t", "--training"], "description": "Name of the input training site polygons/points shapefile.", "parameter_type": {"ExistingFile": {"Vector": "Any"}}, "default_value": null, "optional": false}, "field": {"name": "Class Field Name", "flags": ["-f", "--field"], "description": "Name of the attribute containing class data.", "parameter_type": {"VectorAttributeField": ["Any", "--training"]}, "default_value": null, "optional": false}, "output": {"name": "Output Raster File", "flags": ["-o", "--output"], "description": "Name of the output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": true}, "split_criterion": {"name": "Split Criterion", "flags": ["--split_criterion"], "description": "Split criterion to use when building a tree. Options include 'Gini', 'Entropy', and 'ClassificationError'", "parameter_type": {"OptionList": ["Gini", "Entropy", "ClassificationError"]}, "default_value": "Gini", "optional": true}, "n_trees": {"name": "Number of Trees in Forest", "flags": ["--n_trees"], "description": "The number of trees in the forest.", "parameter_type": "Integer", "default_value": "500", "optional": true}, "min_samples_leaf": {"name": "Min Number of Samples to be a Leaf", "flags": ["--min_samples_leaf"], "description": "The minimum number of samples required to be at a leaf node.", "parameter_type": "Integer", "default_value": "1", "optional": true}, "min_samples_split": {"name": "Min Number of Samples Needed to Split Node", "flags": ["--min_samples_split"], "description": "The minimum number of samples required to split an internal node.", "parameter_type": "Integer", "default_value": "2", "optional": true}, "test_proportion": {"name": "Test Proportion", "flags": ["--test_proportion"], "description": "The proportion of the dataset to include in the test split; default is 0.2.", "parameter_type": "Float", "default_value": "0.2", "optional": true}}}, "RandomForestRegression": {"name": "RandomForestRegression", "tool_name": "random_forest_regression", "category": "Machine Learning", "label": "Random Forest Regression", "description": "Performs a random forest regression analysis using training site data and predictor rasters.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/machine_learning.html#RandomForestRegression", "parameters": {"inputs": {"name": "Input Predictor Rasters", "flags": ["-i", "--inputs"], "description": "Names of the input predictor rasters.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "training": {"name": "Input Training Points", "flags": ["-t", "--training"], "description": "Name of the input training site points shapefile.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "field": {"name": "Response Variable Field Name", "flags": ["-f", "--field"], "description": "Name of the attribute containing response variable name data.", "parameter_type": {"VectorAttributeField": ["Any", "--training"]}, "default_value": null, "optional": false}, "output": {"name": "Output Raster File", "flags": ["-o", "--output"], "description": "Name of the output raster file. This parameter is optional. When unspecified, the tool will only build the model. When specified, the tool will use the built model and predictor rasters to perform a spatial prediction.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": true}, "n_trees": {"name": "Number of Trees in Forest", "flags": ["--n_trees"], "description": "The number of trees in the forest.", "parameter_type": "Integer", "default_value": "100", "optional": true}, "min_samples_leaf": {"name": "Min Number of Samples to be a Leaf", "flags": ["--min_samples_leaf"], "description": "The minimum number of samples required to be at a leaf node.", "parameter_type": "Integer", "default_value": "1", "optional": true}, "min_samples_split": {"name": "Min Number of Samples Needed to Split Node", "flags": ["--min_samples_split"], "description": "The minimum number of samples required to split an internal node.", "parameter_type": "Integer", "default_value": "2", "optional": true}, "test_proportion": {"name": "Test Proportion", "flags": ["--test_proportion"], "description": "The proportion of the dataset to include in the test split; default is 0.2.", "parameter_type": "Float", "default_value": "0.2", "optional": true}}}, "RandomSample": {"name": "RandomSample", "tool_name": "random_sample", "category": "Math and Stats Tools", "label": "Random Sample", "description": "Creates an image containing randomly located sample grid cells with unique IDs.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/random_sample.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#RandomSample", "parameters": {"base": {"name": "Input Base File", "flags": ["-i", "--base"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "num_samples": {"name": "Num. Samples", "flags": ["--num_samples"], "description": "Number of samples", "parameter_type": "Integer", "default_value": "1000", "optional": false}}}, "RangeFilter": {"name": "RangeFilter", "tool_name": "range_filter", "category": "Image Processing Tools", "label": "Range Filter", "description": "Assigns each cell in the output grid the range of values in a moving window centred on each grid cell in the input raster.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/range_filter.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#RangeFilter", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "filterx": {"name": "Filter X-Dimension", "flags": ["--filterx"], "description": "Size of the filter kernel in the x-direction.", "parameter_type": "Integer", "default_value": "11", "optional": true}, "filtery": {"name": "Filter Y-Dimension", "flags": ["--filtery"], "description": "Size of the filter kernel in the y-direction.", "parameter_type": "Integer", "default_value": "11", "optional": true}}}, "RasterArea": {"name": "RasterArea", "tool_name": "raster_area", "category": "GIS Analysis", "label": "Raster Area", "description": "Calculates the area of polygons or classes within a raster image.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/raster_area.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#RasterArea", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": true}, "out_text": {"name": "Output text?", "flags": ["--out_text"], "description": "Would you like to output polygon areas to text?", "parameter_type": "Boolean", "default_value": null, "optional": false}, "units": {"name": "Units", "flags": ["--units"], "description": "Area units; options include 'grid cells' and 'map units'.", "parameter_type": {"OptionList": ["grid cells", "map units"]}, "default_value": "grid cells", "optional": true}, "zero_back": {"name": "Treat zero values as background?", "flags": ["--zero_back"], "description": "Flag indicating whether zero values should be treated as a background.", "parameter_type": "Boolean", "default_value": null, "optional": false}}}, "RasterCalculator": {"name": "RasterCalculator", "tool_name": "raster_calculator", "category": "Math and Stats Tools", "label": "Raster Calculator", "description": "Performs a complex mathematical operations on one or more input raster images on a cell-to-cell basis.", "github": "https://github.com/jblindsay/whitebox-tools/tree/master/whitebox-plugins/src/RasterCalculator/main.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#RasterCalculator", "parameters": {"statement": {"name": "Statement:", "flags": ["--statement"], "description": "Statement e.g. cos(\"raster1\") * 35.0 + \"raster2\". This statement must be a valid Rust statement.", "parameter_type": "String", "default_value": "", "optional": false}, "output": {"name": "Output Raster File", "flags": ["--output"], "description": "Name of the output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "RasterCellAssignment": {"name": "RasterCellAssignment", "tool_name": "raster_cell_assignment", "category": "GIS Analysis", "label": "Raster Cell Assignment", "description": "Assign row or column number to cells.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/raster_cell_assignment.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#RasterCellAssignment", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "assign": {"name": "Which spatial variable should be assigned?", "flags": ["-a", "--assign"], "description": "Which variable would you like to assign to grid cells? Options include 'column', 'row', 'x', and 'y'.", "parameter_type": {"OptionList": ["column", "row", "x", "y"]}, "default_value": "column", "optional": false}}}, "RasterHistogram": {"name": "RasterHistogram", "tool_name": "raster_histogram", "category": "Math and Stats Tools", "label": "Raster Histogram", "description": "Creates a histogram from raster values.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/raster_histogram.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#RasterHistogram", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output HTML File", "flags": ["-o", "--output"], "description": "Output HTML file (default name will be based on input file if unspecified).", "parameter_type": {"NewFile": "Html"}, "default_value": null, "optional": false}}}, "RasterPerimeter": {"name": "RasterPerimeter", "tool_name": "raster_perimeter", "category": "GIS Analysis", "label": "Raster Perimeter", "description": "Calculates the perimeters of polygons or classes within a raster image.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/raster_perimeter.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#RasterPerimeter", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": true}, "out_text": {"name": "Output text?", "flags": ["--out_text"], "description": "Would you like to output polygon areas to text?", "parameter_type": "Boolean", "default_value": null, "optional": false}, "units": {"name": "Units", "flags": ["--units"], "description": "Area units; options include 'grid cells' and 'map units'.", "parameter_type": {"OptionList": ["grid cells", "map units"]}, "default_value": "grid cells", "optional": true}, "zero_back": {"name": "Treat zero values as background?", "flags": ["--zero_back"], "description": "Flag indicating whether zero values should be treated as a background.", "parameter_type": "Boolean", "default_value": null, "optional": false}}}, "RasterStreamsToVector": {"name": "RasterStreamsToVector", "tool_name": "raster_streams_to_vector", "category": "Stream Network Analysis", "label": "Raster Streams To Vector", "description": "Converts a raster stream file into a vector file.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/stream_network_analysis/raster_streams_to_vector.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/stream_network_analysis.html#RasterStreamsToVector", "parameters": {"streams": {"name": "Input Streams File", "flags": ["--streams"], "description": "Input raster streams file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "d8_pntr": {"name": "Input D8 Pointer File", "flags": ["--d8_pntr"], "description": "Input raster D8 pointer file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output vector file.", "parameter_type": {"NewFile": {"Vector": "Line"}}, "default_value": null, "optional": false}, "esri_pntr": {"name": "Does the pointer file use the ESRI pointer scheme?", "flags": ["--esri_pntr"], "description": "D8 pointer uses the ESRI style scheme.", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "RasterSummaryStats": {"name": "RasterSummaryStats", "tool_name": "raster_summary_stats", "category": "Math and Stats Tools", "label": "Raster Summary Stats", "description": "Measures a rasters min, max, average, standard deviation, num. non-nodata cells, and total.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/raster_summary_stats.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#RasterSummaryStats", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}}}, "RasterToVectorLines": {"name": "RasterToVectorLines", "tool_name": "raster_to_vector_lines", "category": "Data Tools", "label": "Raster To Vector Lines", "description": "Converts a raster lines features into a vector of the POLYLINE shapetype", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/data_tools/raster_to_vector_lines.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/data_tools.html#RasterToVectorLines", "parameters": {"i": {"name": "Input Raster Lines File", "flags": ["-i", "--input"], "description": "Input raster lines file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": {"Vector": "Line"}}, "default_value": null, "optional": false}}}, "RasterToVectorPoints": {"name": "RasterToVectorPoints", "tool_name": "raster_to_vector_points", "category": "Data Tools", "label": "Raster To Vector Points", "description": "Converts a raster dataset to a vector of the POINT shapetype.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/data_tools/raster_to_vector_points.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/data_tools.html#RasterToVectorPoints", "parameters": {"i": {"name": "Input Raster File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Points File", "flags": ["-o", "--output"], "description": "Output vector points file.", "parameter_type": {"NewFile": {"Vector": "Point"}}, "default_value": null, "optional": false}}}, "RasterToVectorPolygons": {"name": "RasterToVectorPolygons", "tool_name": "raster_to_vector_polygons", "category": "Data Tools", "label": "Raster To Vector Polygons", "description": "Converts a raster dataset to a vector of the POLYGON shapetype.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/data_tools/raster_to_vector_polygons.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/data_tools.html#RasterToVectorPolygons", "parameters": {"i": {"name": "Input Raster File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Polygons File", "flags": ["-o", "--output"], "description": "Output vector polygons file.", "parameter_type": {"NewFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}}}, "RasterizeStreams": {"name": "RasterizeStreams", "tool_name": "rasterize_streams", "category": "Stream Network Analysis", "label": "Rasterize Streams", "description": "Rasterizes vector streams based on Lindsay (2016) method.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/stream_network_analysis/rasterize_streams.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/stream_network_analysis.html#RasterizeStreams", "parameters": {"streams": {"name": "Input Vector Streams File", "flags": ["--streams"], "description": "Input vector streams file.", "parameter_type": {"ExistingFile": {"Vector": "Line"}}, "default_value": null, "optional": false}, "base": {"name": "Input Base Raster File", "flags": ["--base"], "description": "Input base raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "nodata": {"name": "Use NoData value for background?", "flags": ["--nodata"], "description": "Use NoData value for background?", "parameter_type": "Boolean", "default_value": "true", "optional": true}, "feature_id": {"name": "Use feature number as output value?", "flags": ["--feature_id"], "description": "Use feature number as output value?", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "Reciprocal": {"name": "Reciprocal", "tool_name": "reciprocal", "category": "Math and Stats Tools", "label": "Reciprocal", "description": "Returns the reciprocal (i.e. 1 / z) of values in a raster.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/reciprocal.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#Reciprocal", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "Reclass": {"name": "Reclass", "tool_name": "reclass", "category": "GIS Analysis", "label": "Reclass", "description": "Reclassifies the values in a raster image.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/reclass.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#Reclass", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "reclass_vals": {"name": "Reclass Values (new value; from value; to less than)", "flags": ["--reclass_vals"], "description": "Reclassification triplet values (new value; from value; to less than), e.g. '0.0;0.0;1.0;1.0;1.0;2.0'", "parameter_type": "String", "default_value": null, "optional": false}, "assign_mode": {"name": "Operate in assign mode? (i.e. Reclass data are pair values rather than triplets)", "flags": ["--assign_mode"], "description": "Optional Boolean flag indicating whether to operate in assign mode, reclass_vals values are interpreted as new value; old value pairs.", "parameter_type": "Boolean", "default_value": null, "optional": true}}}, "ReclassEqualInterval": {"name": "ReclassEqualInterval", "tool_name": "reclass_equal_interval", "category": "GIS Analysis", "label": "Reclass Equal Interval", "description": "Reclassifies the values in a raster image based on equal-ranges.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/reclass_equal_interval.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#ReclassEqualInterval", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "interval": {"name": "Class Interval Size", "flags": ["--interval"], "description": "Class interval size.", "parameter_type": "Float", "default_value": "10.0", "optional": false}, "start_val": {"name": "Starting Value", "flags": ["--start_val"], "description": "Optional starting value (default is input minimum value).", "parameter_type": "Float", "default_value": null, "optional": true}, "end_val": {"name": "Ending Value", "flags": ["--end_val"], "description": "Optional ending value (default is input maximum value).", "parameter_type": "Float", "default_value": null, "optional": true}}}, "ReclassFromFile": {"name": "ReclassFromFile", "tool_name": "reclass_from_file", "category": "GIS Analysis", "label": "Reclass From File", "description": "Reclassifies the values in a raster image using reclass ranges in a text file.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/reclass_from_file.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#ReclassFromFile", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "reclass_file": {"name": "Input Reclass Text File", "flags": ["--reclass_file"], "description": "Input text file containing reclass ranges.", "parameter_type": {"ExistingFile": "Text"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "ReconcileMultipleHeaders": {"name": "ReconcileMultipleHeaders", "tool_name": "reconcile_multiple_headers", "category": "Precision Agriculture", "label": "Reconcile Multiple Headers", "description": "This tool adjusts the crop yield values for data sets collected with multiple headers or combines.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/precision_agriculture.html#ReconcileMultipleHeaders", "parameters": {"i": {"name": "Input Points", "flags": ["-i", "--input"], "description": "Name of the input points shapefile.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "region_field": {"name": "Region Field Name", "flags": ["--region_field"], "description": "Name of the attribute containing region data.", "parameter_type": {"VectorAttributeField": ["Any", "--input"]}, "default_value": null, "optional": false}, "yield_field": {"name": "Yield Field Name", "flags": ["-y", "--yield_field"], "description": "Name of the attribute containing yield data.", "parameter_type": {"VectorAttributeField": ["Any", "--input"]}, "default_value": null, "optional": false}, "output": {"name": "Output Points", "flags": ["-o", "--output"], "description": "Name of the output points shapefile.", "parameter_type": {"NewFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "radius": {"name": "Search Radius (m)", "flags": ["--radius"], "description": "Optional search radius, in metres. Only specify this value if you want to calculate locally normalized yield.", "parameter_type": "Float", "default_value": null, "optional": true}, "min_yield": {"name": "Minimum Yield", "flags": ["--min_yield"], "description": "Minimum yield value in output.", "parameter_type": "Float", "default_value": null, "optional": true}, "max_yield": {"name": "Maximum Yield", "flags": ["--max_yield"], "description": "Maximum yield value in output.", "parameter_type": "Float", "default_value": null, "optional": true}, "mean_tonnage": {"name": "Overall Average Tonnage (Optional)", "flags": ["--mean_tonnage"], "description": "Use this optional parameter to force the output to have a certain overall average tonnage.", "parameter_type": "Float", "default_value": null, "optional": true}}}, "RecoverFlightlineInfo": {"name": "RecoverFlightlineInfo", "tool_name": "recover_flightline_info", "category": "LiDAR Tools", "label": "Recover Flightline Info", "description": "Associates LiDAR points by their flightlines.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#RecoverFlightlineInfo", "parameters": {"i": {"name": "Input LiDAR Points", "flags": ["-i", "--input"], "description": "Name of the input LiDAR points.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": false}, "output": {"name": "Output LiDAR Points", "flags": ["-o", "--output"], "description": "Name of the output LiDAR points.", "parameter_type": {"NewFile": "Lidar"}, "default_value": null, "optional": false}, "max_time_diff": {"name": "Maximum In-Flightline Time Difference (seconds)", "flags": ["--max_time_diff"], "description": "Maximum in-flightline time difference (seconds)", "parameter_type": "Float", "default_value": "5.0", "optional": true}, "pt_src_id": {"name": "Add flightline info to the Point Source ID?", "flags": ["--pt_src_id"], "description": "Add flightline information to the point source ID", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "user_data": {"name": "Add flightline info to the User Data?", "flags": ["--user_data"], "description": "Add flightline information to the user data", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "rgb": {"name": "Add flightline info to the RGB colour data?", "flags": ["--rgb"], "description": "Add flightline information to the RGB colour data", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "RecreatePassLines": {"name": "RecreatePassLines", "tool_name": "recreate_pass_lines", "category": "Precision Agriculture", "label": "Recreate Pass Lines", "description": "This tool can be used to approximate the harvester pass lines from yield points.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/precision_agriculture.html#RecreatePassLines", "parameters": {"i": {"name": "Input Points", "flags": ["-i", "--input"], "description": "Name of the input points shapefile.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "yield_field_name": {"name": "Yield Field Name", "flags": ["-y", "--yield_field_name"], "description": "Name of the attribute containing yield data.", "parameter_type": {"VectorAttributeField": ["Any", "--input"]}, "default_value": null, "optional": false}, "output_lines": {"name": "Output Pass Line", "flags": ["--output_lines"], "description": "Name of the output pass lines shapefile.", "parameter_type": {"NewFile": {"Vector": "Line"}}, "default_value": null, "optional": false}, "output_points": {"name": "Output Points", "flags": ["--output_points"], "description": "Name of the output points shapefile.", "parameter_type": {"NewFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "max_change_in_heading": {"name": "Max Change In Heading (degrees)", "flags": ["-m", "--max_change_in_heading"], "description": "Max change in heading.", "parameter_type": "Float", "default_value": "25.0", "optional": true}, "ignore_zeros": {"name": "Ignore zero-valued yield points?", "flags": ["--ignore_zeros"], "description": "Ignore zero-valued yield points?", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "ReinitializeAttributeTable": {"name": "ReinitializeAttributeTable", "tool_name": "reinitialize_attribute_table", "category": "Data Tools", "label": "Reinitialize Attribute Table", "description": "Reinitializes a vector's attribute table deleting all fields but the feature ID (FID).", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/data_tools/reinitialize_attribute_table.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/data_tools.html#ReinitializeAttributeTable", "parameters": {"i": {"name": "Input Vector File", "flags": ["-i", "--input"], "description": "Input vector file.", "parameter_type": {"ExistingFile": {"Vector": "Any"}}, "default_value": null, "optional": false}}}, "RelatedCircumscribingCircle": {"name": "RelatedCircumscribingCircle", "tool_name": "related_circumscribing_circle", "category": "GIS Analysis", "label": "Related Circumscribing Circle", "description": "Calculates the related circumscribing circle of vector polygons.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/related_circumscribing_circle.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#RelatedCircumscribingCircle", "parameters": {"i": {"name": "Input Vector Polygon File", "flags": ["-i", "--input"], "description": "Input vector polygon file.", "parameter_type": {"ExistingFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}}}, "RelativeAspect": {"name": "RelativeAspect", "tool_name": "relative_aspect", "category": "Geomorphometric Analysis", "label": "Relative Aspect", "description": "Calculates relative aspect (relative to a user-specified direction) from an input DEM.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/relative_aspect.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#RelativeAspect", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "azimuth": {"name": "Azimuth", "flags": ["--azimuth"], "description": "Illumination source azimuth.", "parameter_type": "Float", "default_value": "0.0", "optional": false}, "zfactor": {"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}}}, "RelativeTopographicPosition": {"name": "RelativeTopographicPosition", "tool_name": "relative_topographic_position", "category": "Geomorphometric Analysis", "label": "Relative Topographic Position", "description": "Calculates the relative topographic position index from a DEM.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/relative_topographic_position.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#RelativeTopographicPosition", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "filterx": {"name": "Filter X-Dimension", "flags": ["--filterx"], "description": "Size of the filter kernel in the x-direction.", "parameter_type": "Integer", "default_value": "11", "optional": true}, "filtery": {"name": "Filter Y-Dimension", "flags": ["--filtery"], "description": "Size of the filter kernel in the y-direction.", "parameter_type": "Integer", "default_value": "11", "optional": true}}}, "RemoveFieldEdgePoints": {"name": "RemoveFieldEdgePoints", "tool_name": "remove_field_edge_points", "category": "Precision Agriculture", "label": "Remove Field Edge Points", "description": "This tool can be used to remove, or flag, most of the points along the edges from a crop yield data set.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/precision_agriculture.html#RemoveFieldEdgePoints", "parameters": {"i": {"name": "Input Points", "flags": ["-i", "--input"], "description": "Name of the input points shapefile.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "output": {"name": "Output Points", "flags": ["-o", "--output"], "description": "Name of the output points shapefile.", "parameter_type": {"NewFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "dist": {"name": "Average Distance Between Passes (m)", "flags": ["-d", "--dist"], "description": "Average distance between passes, in meters.", "parameter_type": "Float", "default_value": null, "optional": true}, "max_change_in_heading": {"name": "Max Change In Heading (degrees)", "flags": ["-m", "--max_change_in_heading"], "description": "Max change in heading.", "parameter_type": "Float", "default_value": "25.0", "optional": true}, "flag_edges": {"name": "Don't remove edge points, just flag them?", "flags": ["--flag_edges"], "description": "Don't remove edge points, just flag them in the attribute table?", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "RemoveOffTerrainObjects": {"name": "RemoveOffTerrainObjects", "tool_name": "remove_off_terrain_objects", "category": "Geomorphometric Analysis", "label": "Remove Off Terrain Objects", "description": "Removes off-terrain objects from a raster digital elevation model (DEM).", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/remove_off_terrain_objects.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#RemoveOffTerrainObjects", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--input", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "filter": {"name": "Filter Dimension", "flags": ["--filter"], "description": "Filter size (cells).", "parameter_type": "Integer", "default_value": "11", "optional": false}, "slope": {"name": "Slope Threshold", "flags": ["--slope"], "description": "Slope threshold value.", "parameter_type": "Float", "default_value": "15.0", "optional": false}}}, "RemovePolygonHoles": {"name": "RemovePolygonHoles", "tool_name": "remove_polygon_holes", "category": "Data Tools", "label": "Remove Polygon Holes", "description": "Removes holes within the features of a vector polygon file.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/data_tools/remove_polygon_holes.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/data_tools.html#RemovePolygonHoles", "parameters": {"i": {"name": "Input Vector Polygon File", "flags": ["-i", "--input"], "description": "Input vector polygon file.", "parameter_type": {"ExistingFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}, "output": {"name": "Output Polygon File", "flags": ["-o", "--output"], "description": "Output vector polygon file.", "parameter_type": {"NewFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}}}, "RemoveRasterPolygonHoles": {"name": "RemoveRasterPolygonHoles", "tool_name": "remove_raster_polygon_holes", "category": "Data Tools", "label": "Remove Raster Polygon Holes", "description": "Removes polygon holes, or 'donut-holes', from raster polygons.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/data_tools.html#RemoveRasterPolygonHoles", "parameters": {"i": {"name": "Input Raster Image", "flags": ["-i", "--input"], "description": "Name of the input raster image file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster File", "flags": ["-o", "--output"], "description": "Name of the output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "threshold": {"name": "Threshold Size (Grid Cells):", "flags": ["--threshold"], "description": "Maximum size of removed holes, in grid cells. Blank for no threshold, i.e. remove all holes.", "parameter_type": "Integer", "default_value": "3", "optional": true}, "use_diagonals": {"name": "Use diagonal neighbours during clumping?", "flags": ["--use_diagonals"], "description": "Use diagonal neighbours during clumping operation.", "parameter_type": "Boolean", "default_value": "true", "optional": true}}}, "RemoveShortStreams": {"name": "RemoveShortStreams", "tool_name": "remove_short_streams", "category": "Stream Network Analysis", "label": "Remove Short Streams", "description": "Removes short first-order streams from a stream network.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/stream_network_analysis/remove_short_streams.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/stream_network_analysis.html#RemoveShortStreams", "parameters": {"d8_pntr": {"name": "Input D8 Pointer File", "flags": ["--d8_pntr"], "description": "Input raster D8 pointer file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "streams": {"name": "Input Streams File", "flags": ["--streams"], "description": "Input raster streams file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "min_length": {"name": "Minimum Tributary Length (map units)", "flags": ["--min_length"], "description": "Minimum tributary length (in map units) used for network pruning.", "parameter_type": "Float", "default_value": null, "optional": false}, "esri_pntr": {"name": "Does the pointer file use the ESRI pointer scheme?", "flags": ["--esri_pntr"], "description": "D8 pointer uses the ESRI style scheme.", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "RemoveSpurs": {"name": "RemoveSpurs", "tool_name": "remove_spurs", "category": "Image Processing Tools", "label": "Remove Spurs", "description": "Removes the spurs (pruning operation) from a Boolean line image; intended to be used on the output of the LineThinning tool.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/remove_spurs.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#RemoveSpurs", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "iterations": {"name": "Maximum Iterations", "flags": ["--iterations"], "description": "Maximum number of iterations", "parameter_type": "Integer", "default_value": "10", "optional": false}}}, "RepairStreamVectorTopology": {"name": "RepairStreamVectorTopology", "tool_name": "repair_stream_vector_topology", "category": "Stream Network Analysis", "label": "Repair Stream Vector Topology", "description": "This tool resolves topological errors and inconsistencies associated with digitized vector streams.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/stream_network_analysis.html#RepairStreamVectorTopology", "parameters": {"i": {"name": "Input Vector Lines", "flags": ["-i", "--input"], "description": "Name of the input lines vector file.", "parameter_type": {"ExistingFile": {"Vector": "Line"}}, "default_value": null, "optional": false}, "output": {"name": "Output Lines", "flags": ["-o", "--output"], "description": "Name of the output lines vector file.", "parameter_type": {"NewFile": {"Vector": "Line"}}, "default_value": null, "optional": false}, "dist": {"name": "Snap Distance", "flags": ["--snap", "--dist"], "description": "Snap distance, in xy units (metres).", "parameter_type": "Float", "default_value": "", "optional": false}}}, "Resample": {"name": "Resample", "tool_name": "resample", "category": "Image Processing Tools", "label": "Resample", "description": "Resamples one or more input images into a destination image.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/resample.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#Resample", "parameters": {"inputs": {"name": "Input Files", "flags": ["-i", "--inputs"], "description": "Input raster files.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "cell_size": {"name": "Cell Size (optional)", "flags": ["--cell_size"], "description": "Optionally specified cell size of output raster. Not used when base raster is specified.", "parameter_type": "Float", "default_value": null, "optional": true}, "base": {"name": "Base Raster File (optional)", "flags": ["--base"], "description": "Optionally specified input base raster file. Not used when a cell size is specified.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": true}, "method": {"name": "Resampling Method", "flags": ["--method"], "description": "Resampling method; options include 'nn' (nearest neighbour), 'bilinear', and 'cc' (cubic convolution)", "parameter_type": {"OptionList": ["nn", "bilinear", "cc"]}, "default_value": "cc", "optional": true}}}, "RescaleValueRange": {"name": "RescaleValueRange", "tool_name": "rescale_value_range", "category": "Math and Stats Tools", "label": "Rescale Value Range", "description": "Performs a min-max contrast stretch on an input greytone image.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/rescale_value_range.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#RescaleValueRange", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "out_min_val": {"name": "Output Raster Minimum Value", "flags": ["--out_min_val"], "description": "New minimum value in output image.", "parameter_type": "Float", "default_value": null, "optional": false}, "out_max_val": {"name": "Output Raster Maximum Value", "flags": ["--out_max_val"], "description": "New maximum value in output image.", "parameter_type": "Float", "default_value": null, "optional": false}, "clip_min": {"name": "Lower-Tail Clip Value (optional)", "flags": ["--clip_min"], "description": "Optional lower tail clip value.", "parameter_type": "Float", "default_value": null, "optional": true}, "clip_max": {"name": "Upper-Tail Clip Value (optional)", "flags": ["--clip_max"], "description": "Optional upper tail clip value.", "parameter_type": "Float", "default_value": null, "optional": true}}}, "RgbToIhs": {"name": "RgbToIhs", "tool_name": "rgb_to_ihs", "category": "Image Processing Tools", "label": "Rgb To Ihs", "description": "Converts red, green, and blue (RGB) images into intensity, hue, and saturation (IHS) images.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/rgb_to_ihs.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#RgbToIhs", "parameters": {"red": {"name": "Input Red Band File (optional; only if colour-composite not specified)", "flags": ["--red"], "description": "Input red band image file. Optionally specified if colour-composite not specified.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": true}, "green": {"name": "Input Green Band File (optional; only if colour-composite not specified)", "flags": ["--green"], "description": "Input green band image file. Optionally specified if colour-composite not specified.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": true}, "blue": {"name": "Input Blue Band File (optional; only if colour-composite not specified)", "flags": ["--blue"], "description": "Input blue band image file. Optionally specified if colour-composite not specified.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": true}, "composite": {"name": "Input Colour-Composite Image File (optional; only if individual bands not specified)", "flags": ["--composite"], "description": "Input colour-composite image file. Only used if individual bands are not specified.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": true}, "intensity": {"name": "Output Intensity File", "flags": ["--intensity"], "description": "Output intensity raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "hue": {"name": "Output Hue File", "flags": ["--hue"], "description": "Output hue raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "saturation": {"name": "Output Saturation File", "flags": ["--saturation"], "description": "Output saturation raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "Rho8FlowAccumulation": {"name": "Rho8FlowAccumulation", "tool_name": "rho8_flow_accumulation", "category": "Hydrological Analysis", "label": "Rho8 Flow Accumulation", "description": "Calculates Fairfield and Leymarie (1991) flow accumulation.", "github": "https://github.com/jblindsay/whitebox-tools/tree/master/whitebox-plugins/src/Rho8FlowAccumulation/main.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#Rho8FlowAccumulation", "parameters": {"i": {"name": "Input DEM or Rho8 Pointer File", "flags": ["-i", "--input"], "description": "Input DEM or Rho8 pointer file; if a DEM is used, it must be depressionless.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster File", "flags": ["--output"], "description": "Name of the output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "out_type": {"name": "Output Type", "flags": ["--out_type"], "description": "Output type; one of 'cells', 'specific contributing area' (default), and 'catchment area'.", "parameter_type": {"OptionList": ["cells", "specific contributing area", "catchment area"]}, "default_value": "specific contributing area", "optional": true}, "log": {"name": "Log-transform the output?", "flags": ["--log"], "description": "Log-transform the output values?", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "clip": {"name": "Clip the upper tail by 1%?", "flags": ["--clip"], "description": "Optional flag to request clipping the display max by 1%.", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "pntr": {"name": "Is the input raster a Rho8 flow pointer?", "flags": ["--pntr"], "description": "Is the input raster a Rho8 flow pointer rather than a DEM?", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "esri_pntr": {"name": "If a pointer is input, does it use the ESRI pointer scheme?", "flags": ["--esri_pntr"], "description": "Does the input Rho8 pointer use the ESRI style scheme?", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "Rho8Pointer": {"name": "Rho8Pointer", "tool_name": "rho8_pointer", "category": "Hydrological Analysis", "label": "Rho8 Pointer", "description": "Calculates a stochastic Rho8 flow pointer raster from an input DEM.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/rho8_pointer.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#Rho8Pointer", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "esri_pntr": {"name": "Should the pointer file use the ESRI pointer scheme?", "flags": ["--esri_pntr"], "description": "D8 pointer uses the ESRI style scheme.", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "RingCurvature": {"name": "RingCurvature", "tool_name": "ring_curvature", "category": "Geomorphometric Analysis", "label": "Ring Curvature", "description": "This tool calculates ring curvature from an input DEM.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#RingCurvature", "parameters": {"dem": {"name": "Input Raster DEM", "flags": ["-i", "--dem"], "description": "Name of the input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster Image", "flags": ["-o", "--output"], "description": "Name of the output raster image file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "log": {"name": "Log-transform the output?", "flags": ["--log"], "description": "Display output values using a log-scale.", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "zfactor": {"name": "Z-factor", "flags": ["--zfactor"], "description": "Z conversion factor.", "parameter_type": "Float", "default_value": "1.0", "optional": true}}}, "RiverCenterlines": {"name": "RiverCenterlines", "tool_name": "river_centerlines", "category": "Hydrological Analysis", "label": "River Centerlines", "description": "Maps river centerlines from an input water raster.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#RiverCenterlines", "parameters": {"i": {"name": "Input Raster Image", "flags": ["-i", "--input"], "description": "Name of the input raster image file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Vector Lines File", "flags": ["-o", "--output"], "description": "Name of the output vector lines file.", "parameter_type": {"NewFile": {"Vector": "Line"}}, "default_value": null, "optional": false}, "min_length": {"name": "Min. Line Length (In Grid Cells)", "flags": ["--min_length"], "description": "Minimum line length, in grid cells.", "parameter_type": "Integer", "default_value": "3", "optional": true}, "radius": {"name": "Search Radius (In Grid Cells)", "flags": ["--radius"], "description": "Search radius for joining distant endnodes, in grid cells.", "parameter_type": "Integer", "default_value": "4", "optional": true}}}, "RobertsCrossFilter": {"name": "RobertsCrossFilter", "tool_name": "roberts_cross_filter", "category": "Image Processing Tools", "label": "Roberts Cross Filter", "description": "Performs a Robert's cross edge-detection filter on an image.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/roberts_filter.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#RobertsCrossFilter", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "clip": {"name": "Distribution Tail Clip Amount (Percent)", "flags": ["--clip"], "description": "Optional amount to clip the distribution tails by, in percent.", "parameter_type": "Float", "default_value": "0.0", "optional": true}}}, "RootMeanSquareError": {"name": "RootMeanSquareError", "tool_name": "root_mean_square_error", "category": "Math and Stats Tools", "label": "Root Mean Square Error", "description": "Calculates the RMSE and other accuracy statistics.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/root_mean_square_error.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#RootMeanSquareError", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "base": {"name": "Input Base File", "flags": ["--base"], "description": "Input base raster file used for comparison.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}}}, "Rotor": {"name": "Rotor", "tool_name": "rotor", "category": "Geomorphometric Analysis", "label": "Rotor", "description": "This tool calculates rotor from an input DEM.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#Rotor", "parameters": {"dem": {"name": "Input Raster DEM", "flags": ["-i", "--dem"], "description": "Name of the input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster Image", "flags": ["-o", "--output"], "description": "Name of the output raster image file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "log": {"name": "Log-transform the output?", "flags": ["--log"], "description": "Display output values using a log-scale.", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "zfactor": {"name": "Z-factor", "flags": ["--zfactor"], "description": "Z conversion factor.", "parameter_type": "Float", "default_value": "1.0", "optional": true}}}, "Round": {"name": "Round", "tool_name": "round", "category": "Math and Stats Tools", "label": "Round", "description": "Rounds the values in an input raster to the nearest integer value.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/round.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#Round", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "RuggednessIndex": {"name": "RuggednessIndex", "tool_name": "ruggedness_index", "category": "Geomorphometric Analysis", "label": "Ruggedness Index", "description": "Calculates the Riley et al.'s (1999) terrain ruggedness index from an input DEM.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/ruggedness_index.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#RuggednessIndex", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "ScharrFilter": {"name": "ScharrFilter", "tool_name": "scharr_filter", "category": "Image Processing Tools", "label": "Scharr Filter", "description": "Performs a Scharr edge-detection filter on an image.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/scharr_filter.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#ScharrFilter", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "clip": {"name": "Distribution Tail Clip Amount (Percent)", "flags": ["--clip"], "description": "Optional amount to clip the distribution tails by, in percent.", "parameter_type": "Float", "default_value": "0.0", "optional": true}}}, "SedimentTransportIndex": {"name": "SedimentTransportIndex", "tool_name": "sediment_transport_index", "category": "Geomorphometric Analysis", "label": "Sediment Transport Index", "description": "Calculates the sediment transport index.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/sediment_transport_index.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#SedimentTransportIndex", "parameters": {"sca": {"name": "Input Specific Contributing Area (SCA) File", "flags": ["--sca"], "description": "Input raster specific contributing area (SCA) file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "slope": {"name": "Input Slope File", "flags": ["--slope"], "description": "Input raster slope file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "sca_exponent": {"name": "Specific Contributing Area (SCA) Exponent", "flags": ["--sca_exponent"], "description": "SCA exponent value.", "parameter_type": "Float", "default_value": "0.4", "optional": false}, "slope_exponent": {"name": "Slope Exponent", "flags": ["--slope_exponent"], "description": "Slope exponent value.", "parameter_type": "Float", "default_value": "1.3", "optional": false}}}, "SelectTilesByPolygon": {"name": "SelectTilesByPolygon", "tool_name": "select_tiles_by_polygon", "category": "LiDAR Tools", "label": "Select Tiles By Polygon", "description": "Copies LiDAR tiles overlapping with a polygon into an output directory.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/lidar_analysis/select_tiles_by_polygon.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#SelectTilesByPolygon", "parameters": {"indir": {"name": "Input Directory", "flags": ["--indir"], "description": "Input LAS file source directory.", "parameter_type": "Directory", "default_value": null, "optional": false}, "outdir": {"name": "Output Directory", "flags": ["--outdir"], "description": "Output directory into which LAS files within the polygon are copied.", "parameter_type": "Directory", "default_value": null, "optional": false}, "polygons": {"name": "Input Vector Polygon File", "flags": ["--polygons"], "description": "Input vector polygons file.", "parameter_type": {"ExistingFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}}}, "SetNodataValue": {"name": "SetNodataValue", "tool_name": "set_nodata_value", "category": "Data Tools", "label": "Set Nodata Value", "description": "Assign the NoData value for an input image.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/data_tools/set_nodata_value.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/data_tools.html#SetNodataValue", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "back_value": {"name": "Background Value", "flags": ["--back_value"], "description": "Background value to set to nodata.", "parameter_type": "Float", "default_value": "0.0", "optional": true}}}, "ShadowAnimation": {"name": "ShadowAnimation", "tool_name": "shadow_animation", "category": "Geomorphometric Analysis", "label": "Shadow Animation", "description": "This tool creates an animated GIF of shadows based on an input DEM.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#ShadowAnimation", "parameters": {"i": {"name": "Input Digital Surface Model (DSM) Raster", "flags": ["-i", "--input"], "description": "Name of the input digital surface model (DSM) raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "palette": {"name": "DSM Palette", "flags": ["-p", "--palette"], "description": "DSM image palette; options are 'atlas', 'high_relief', 'arid', 'soft', 'muted', 'light_quant', 'purple', 'viridis', 'gn_yl', 'pi_y_g', 'bl_yl_rd', 'deep', and 'none'.", "parameter_type": {"OptionList": ["atlas", "high_relief", "arid", "soft", "muted", "light_quant", "purple", "viridi", "gn_yl", "pi_y_g", "bl_yl_rd", "deep", "none"]}, "default_value": "atlas", "optional": true}, "output": {"name": "Output File (*.html)", "flags": ["-o", "--output"], "description": "Name of the output HTML file (*.html).", "parameter_type": {"NewFile": "Html"}, "default_value": null, "optional": false}, "max_dist": {"name": "Maximum Search Distance (xy units)", "flags": ["--max_dist"], "description": "Optional maximum search distance, in xy units. Minimum value is 5 x cell size.", "parameter_type": "Float", "default_value": "", "optional": true}, "date": {"name": "Date (DD/MM/YYYY)", "flags": ["-d", "--date"], "description": "Date in format DD/MM/YYYY.", "parameter_type": "String", "default_value": "21/06/2021", "optional": true}, "interval": {"name": "Time Interval (in minutes)", "flags": ["--interval"], "description": "Time interval, in minutes (1-60).", "parameter_type": "Integer", "default_value": "15", "optional": true}, "location": {"name": "Lat/Long/UTC-offset (e.g. 43.5448/-80.2482/-4)", "flags": ["--location"], "description": "Location, defined as Lat/Long/UTC-offset (e.g. 43.5448/-80.2482/-4).", "parameter_type": "String", "default_value": "43.5448/-80.2482/-4", "optional": true}, "height": {"name": "Image Height (in pixels)", "flags": ["-h", "--height"], "description": "Image height, in pixels.", "parameter_type": "Integer", "default_value": "600", "optional": true}, "delay": {"name": "Delay (in milliseconds)", "flags": ["--delay"], "description": "GIF time delay in milliseconds.", "parameter_type": "Integer", "default_value": "250", "optional": true}, "label": {"name": "Label text (blank for none)", "flags": ["-l", "--label"], "description": "Label text (leave blank for none)", "parameter_type": "String", "default_value": "", "optional": true}}}, "ShadowImage": {"name": "ShadowImage", "tool_name": "shadow_image", "category": "Geomorphometric Analysis", "label": "Shadow Image", "description": "This tool creates a raster of shadow areas based on an input DEM.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#ShadowImage", "parameters": {"i": {"name": "Input Digital Surface Model (DSM) Raster", "flags": ["-i", "--input"], "description": "Name of the input digital surface model (DSM) raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Name of the output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "palette": {"name": "DSM Palette", "flags": ["-p", "--palette"], "description": "DSM image palette; options are 'atlas', 'high_relief', 'arid', 'soft', 'muted', 'light_quant', 'purple', 'viridi', 'gn_yl', 'pi_y_g', 'bl_yl_rd', 'deep', and 'none'.", "parameter_type": {"OptionList": ["atlas", "high_relief", "arid", "soft", "muted", "light_quant", "purple", "viridis", "gn_yl", "pi_y_g", "bl_yl_rd", "deep", "none"]}, "default_value": "soft", "optional": true}, "max_dist": {"name": "Maximum Search Distance (xy units)", "flags": ["--max_dist"], "description": "Optional maximum search distance, in xy unites. Minimum value is 5 x cell size.", "parameter_type": "Float", "default_value": "", "optional": true}, "date": {"name": "Date (DD/MM/YYYY)", "flags": ["-d", "--date"], "description": "Date in format DD/MM/YYYY.", "parameter_type": "String", "default_value": "21/06/2021", "optional": true}, "time": {"name": "Time (HH:MM, e.g. 03:15AM or 14:30)", "flags": ["-t", "--time"], "description": "Time in format HH::MM, e.g. 03:15AM or 14:30", "parameter_type": "String", "default_value": "13:00", "optional": true}, "location": {"name": "Lat/Long/UTC-offset (e.g. 43.5448/-80.2482/-4)", "flags": ["--location"], "description": "Location, defined as Lat/Long/UTC-offset (e.g. 43.5448/-80.2482/-4).", "parameter_type": "String", "default_value": "43.5448/-80.2482/-4", "optional": true}}}, "ShapeComplexityIndex": {"name": "ShapeComplexityIndex", "tool_name": "shape_complexity_index", "category": "GIS Analysis", "label": "Shape Complexity Index", "description": "Calculates overall polygon shape complexity or irregularity.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/shape_complexity_index.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#ShapeComplexityIndex", "parameters": {"i": {"name": "Input Vector Polygon File", "flags": ["-i", "--input"], "description": "Input vector polygon file.", "parameter_type": {"ExistingFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}}}, "ShapeComplexityIndexRaster": {"name": "ShapeComplexityIndexRaster", "tool_name": "shape_complexity_index_raster", "category": "GIS Analysis", "label": "Shape Complexity Index Raster", "description": "Calculates the complexity of raster polygons or classes.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/shape_complexity_raster.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#ShapeComplexityIndexRaster", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "ShapeIndex": {"name": "ShapeIndex", "tool_name": "shape_index", "category": "Geomorphometric Analysis", "label": "Shape Index", "description": "This tool calculates the shape index from an input DEM.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#ShapeIndex", "parameters": {"dem": {"name": "Input Raster DEM", "flags": ["-i", "--dem"], "description": "Name of the input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster Image", "flags": ["-o", "--output"], "description": "Name of the output raster image file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "zfactor": {"name": "Z-factor", "flags": ["--zfactor"], "description": "Z conversion factor.", "parameter_type": "Float", "default_value": "1.0", "optional": true}}}, "ShreveStreamMagnitude": {"name": "ShreveStreamMagnitude", "tool_name": "shreve_stream_magnitude", "category": "Stream Network Analysis", "label": "Shreve Stream Magnitude", "description": "Assigns the Shreve stream magnitude to each link in a stream network.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/stream_network_analysis/shreve_magnitude.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/stream_network_analysis.html#ShreveStreamMagnitude", "parameters": {"d8_pntr": {"name": "Input D8 Pointer File", "flags": ["--d8_pntr"], "description": "Input raster D8 pointer file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "streams": {"name": "Input Streams File", "flags": ["--streams"], "description": "Input raster streams file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "esri_pntr": {"name": "Does the pointer file use the ESRI pointer scheme?", "flags": ["--esri_pntr"], "description": "D8 pointer uses the ESRI style scheme.", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "zero_background": {"name": "Should a background value of zero be used?", "flags": ["--zero_background"], "description": "Flag indicating whether a background value of zero should be used.", "parameter_type": "Boolean", "default_value": null, "optional": true}}}, "SigmoidalContrastStretch": {"name": "SigmoidalContrastStretch", "tool_name": "sigmoidal_contrast_stretch", "category": "Image Processing Tools", "label": "Sigmoidal Contrast Stretch", "description": "Performs a sigmoidal contrast stretch on input images.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/sigmoidal_contrast_stretch.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#SigmoidalContrastStretch", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "cutoff": {"name": "Cutoff Value (0.0 - 0.95)", "flags": ["--cutoff"], "description": "Cutoff value between 0.0 and 0.95.", "parameter_type": "Float", "default_value": "0.0", "optional": true}, "gain": {"name": "Gain Value", "flags": ["--gain"], "description": "Gain value.", "parameter_type": "Float", "default_value": "1.0", "optional": false}, "num_tones": {"name": "Number of Tones", "flags": ["--num_tones"], "description": "Number of tones in the output image.", "parameter_type": "Integer", "default_value": "256", "optional": false}}}, "Sin": {"name": "Sin", "tool_name": "sin", "category": "Math and Stats Tools", "label": "Sin", "description": "Returns the sine (sin) of each values in a raster.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/sin.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#Sin", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "SinglePartToMultiPart": {"name": "SinglePartToMultiPart", "tool_name": "single_part_to_multi_part", "category": "Data Tools", "label": "Single Part To Multi Part", "description": "Converts a vector file containing multi-part features into a vector containing only single-part features.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/data_tools/singlepart_to_multipart.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/data_tools.html#SinglePartToMultiPart", "parameters": {"i": {"name": "Input Line or Polygon File", "flags": ["-i", "--input"], "description": "Input vector line or polygon file.", "parameter_type": {"ExistingFile": {"Vector": "Any"}}, "default_value": null, "optional": false}, "field": {"name": "Grouping ID Field Name", "flags": ["--field"], "description": "Grouping ID field name in attribute table.", "parameter_type": {"VectorAttributeField": ["Number", "--input"]}, "default_value": null, "optional": true}, "output": {"name": "Output Line or Polygon File", "flags": ["-o", "--output"], "description": "Output vector line or polygon file.", "parameter_type": {"NewFile": {"Vector": "Any"}}, "default_value": null, "optional": false}}}, "Sinh": {"name": "Sinh", "tool_name": "sinh", "category": "Math and Stats Tools", "label": "Sinh", "description": "Returns the hyperbolic sine (sinh) of each values in a raster.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/sinh.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#Sinh", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "Sink": {"name": "Sink", "tool_name": "sink", "category": "Hydrological Analysis", "label": "Sink", "description": "Identifies the depressions in a DEM, giving each feature a unique identifier.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/sink.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#Sink", "parameters": {"input": {"name": "Input DEM File", "flags": ["-i", "--dem", "--input"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "zero_background": {"name": "Should a background value of zero be used?", "flags": ["--zero_background"], "description": "Flag indicating whether a background value of zero should be used.", "parameter_type": "Boolean", "default_value": null, "optional": true}}}, "Slope": {"name": "Slope", "tool_name": "slope", "category": "Geomorphometric Analysis", "label": "Slope", "description": "Calculates a slope raster from an input DEM.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/slope.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#Slope", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "zfactor": {"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}, "units": {"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}}}, "SlopeVsAspectPlot": {"name": "SlopeVsAspectPlot", "tool_name": "slope_vs_aspect_plot", "category": "Geomorphometric Analysis", "label": "Slope Vs Aspect Plot", "description": "This tool creates a slope-aspect relation plot from an input DEM.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#SlopeVsAspectPlot", "parameters": {"i": {"name": "Input Raster Image", "flags": ["-i", "--input"], "description": "Name of the input raster image file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File (*.html)", "flags": ["-o", "--output"], "description": "Name of the output report file (*.html).", "parameter_type": {"NewFile": "Html"}, "default_value": null, "optional": false}, "bin_size": {"name": "Aspect Bin Size (degrees)", "flags": ["--bin_size"], "description": "Aspect bin size, in degrees.", "parameter_type": "Float", "default_value": "2.0", "optional": true}, "min_slope": {"name": "Minimum Slope (degrees)", "flags": ["--min_slope"], "description": "Minimum slope, in degrees.", "parameter_type": "Float", "default_value": "0.1", "optional": true}, "zfactor": {"name": "Z-factor", "flags": ["--zfactor"], "description": "Z conversion factor.", "parameter_type": "Float", "default_value": "1.0", "optional": true}}}, "SlopeVsElevationPlot": {"name": "SlopeVsElevationPlot", "tool_name": "slope_vs_elevation_plot", "category": "Geomorphometric Analysis", "label": "Slope Vs Elevation Plot", "description": "Creates a slope vs. elevation plot for one or more DEMs.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/slope_vs_elev_plot.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#SlopeVsElevationPlot", "parameters": {"inputs": {"name": "Input DEM Files", "flags": ["-i", "--inputs"], "description": "Input DEM files.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "watershed": {"name": "Input Watershed Files (optional)", "flags": ["--watershed"], "description": "Input watershed files (optional).", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": true}, "output": {"name": "Output HTML File", "flags": ["-o", "--output"], "description": "Output HTML file (default name will be based on input file if unspecified).", "parameter_type": {"NewFile": "Html"}, "default_value": null, "optional": false}}}, "SmoothVectors": {"name": "SmoothVectors", "tool_name": "smooth_vectors", "category": "GIS Analysis", "label": "Smooth Vectors", "description": "Smooths a vector coverage of either a POLYLINE or POLYGON base ShapeType.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/smooth_vectors.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#SmoothVectors", "parameters": {"i": {"name": "Input Vector File", "flags": ["-i", "--input"], "description": "Input vector POLYLINE or POLYGON file.", "parameter_type": {"ExistingFile": {"Vector": "Any"}}, "default_value": null, "optional": false}, "output": {"name": "Output Vector File", "flags": ["-o", "--output"], "description": "Output vector file.", "parameter_type": {"NewFile": {"Vector": "Any"}}, "default_value": null, "optional": false}, "filter": {"name": "Filter Size", "flags": ["--filter"], "description": "The filter size, any odd integer greater than or equal to 3; default is 3.", "parameter_type": "Integer", "default_value": "3", "optional": true}}}, "SmoothVegetationResidual": {"name": "SmoothVegetationResidual", "tool_name": "smooth_vegetation_residual", "category": "Geomorphometric Analysis", "label": "Smooth Vegetation Residual", "description": "This tool can smooth the residual roughness due to vegetation cover in LiDAR DEMs.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#SmoothVegetationResidual", "parameters": {"i": {"name": "Input Digital Elevation Model (DEM) Raster", "flags": ["-i", "--input"], "description": "Name of the input digital elevation model (DEM) raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster File", "flags": ["-o", "--output"], "description": "Name of the output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "max_scale": {"name": "Maximum Search Neighbourhood Radius (grid cells)", "flags": ["--max_scale"], "description": "Maximum search neighbourhood radius in grid cells.", "parameter_type": "Integer", "default_value": "30", "optional": true}, "dev_threshold": {"name": "DEVmax Threshold", "flags": ["--dev_threshold"], "description": "DEVmax Threshold.", "parameter_type": "Float", "default_value": "1.0", "optional": true}, "scale_threshold": {"name": "DEVmax Scale Threshold", "flags": ["--scale_threshold"], "description": "DEVmax scale threshold", "parameter_type": "Integer", "default_value": "5", "optional": true}}}, "SnapPourPoints": {"name": "SnapPourPoints", "tool_name": "snap_pour_points", "category": "Hydrological Analysis", "label": "Snap Pour Points", "description": "Moves outlet points used to specify points of interest in a watershedding operation to the cell with the highest flow accumulation in its neighbourhood.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/snap_pour_points.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#SnapPourPoints", "parameters": {"pour_pts": {"name": "Input Pour Points (Outlet) File", "flags": ["--pour_pts"], "description": "Input vector pour points (outlet) file.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "flow_accum": {"name": "Input D8 Flow Accumulation File", "flags": ["--flow_accum"], "description": "Input raster D8 flow accumulation file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output vector file.", "parameter_type": {"NewFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "snap_dist": {"name": "Maximum Snap Distance (map units)", "flags": ["--snap_dist"], "description": "Maximum snap distance in map units.", "parameter_type": "Float", "default_value": null, "optional": false}}}, "SobelFilter": {"name": "SobelFilter", "tool_name": "sobel_filter", "category": "Image Processing Tools", "label": "Sobel Filter", "description": "Performs a Sobel edge-detection filter on an image.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/sobel_filter.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#SobelFilter", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "variant": {"name": "Variant", "flags": ["--variant"], "description": "Optional variant value. Options include 3x3 and 5x5 (default is 3x3).", "parameter_type": {"OptionList": ["3x3", "5x5"]}, "default_value": "3x3", "optional": true}, "clip": {"name": "Clip Tails (%)", "flags": ["--clip"], "description": "Optional amount to clip the distribution tails by, in percent (default is 0.0).", "parameter_type": "Float", "default_value": "0.0", "optional": true}}}, "SortLidar": {"name": "SortLidar", "tool_name": "sort_lidar", "category": "LiDAR Tools", "label": "Sort Lidar", "description": "Sorts LiDAR points based on their properties.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#SortLidar", "parameters": {"i": {"name": "Input LiDAR Points", "flags": ["-i", "--input"], "description": "Name of the input LiDAR points.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": true}, "output": {"name": "Output LiDAR Points", "flags": ["-o", "--output"], "description": "Name of the output LiDAR points.", "parameter_type": {"NewFile": "Lidar"}, "default_value": null, "optional": true}, "criteria": {"name": "Sort Criteria:", "flags": ["-c", "--criteria"], "description": "Sort criteria e.g. 'x 50.0, y 50.0, z'; criteria may include x, y, z, intensity, class, user_data, point_source_id, and scan_angle", "parameter_type": "String", "default_value": "", "optional": false}}}, "SphericalStdDevOfNormals": {"name": "SphericalStdDevOfNormals", "tool_name": "spherical_std_dev_of_normals", "category": "Geomorphometric Analysis", "label": "Spherical Std Dev Of Normals", "description": "Calculates the spherical standard deviation of surface normals for a DEM.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/spherical_std_dev_of_normals.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#SphericalStdDevOfNormals", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster File", "flags": ["--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "filter": {"name": "Filter Dimension", "flags": ["--filter"], "description": "Size of the filter kernel.", "parameter_type": "Integer", "default_value": "11", "optional": true}}}, "SplitColourComposite": {"name": "SplitColourComposite", "tool_name": "split_colour_composite", "category": "Image Processing Tools", "label": "Split Colour Composite", "description": "Splits an RGB colour composite image into separate multispectral images.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/split_colour_composite.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#SplitColourComposite", "parameters": {"i": {"name": "Input Colour Composite Image File", "flags": ["-i", "--input"], "description": "Input colour composite image file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "red": {"name": "Output Red Band File", "flags": ["--red"], "description": "Output red band file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": true}, "green": {"name": "Output Green Band File", "flags": ["--green"], "description": "Output green band file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": true}, "blue": {"name": "Output Blue Band File", "flags": ["--blue"], "description": "Output blue band file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": true}}}, "SplitLidar": {"name": "SplitLidar", "tool_name": "split_lidar", "category": "LiDAR Tools", "label": "Split Lidar", "description": "Splits LiDAR points up into a series of new files based on their properties.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#SplitLidar", "parameters": {"i": {"name": "Input LiDAR Points", "flags": ["-i", "--input"], "description": "Name of the input LiDAR points.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": true}, "criterion": {"name": "Split Criterion", "flags": ["--criterion"], "description": "Criterion on which to base the split of the input file. Options include 'num_pts, 'x', 'y', 'z', intensity, 'class', 'user_data', 'point_source_id', 'scan_angle', 'time'", "parameter_type": {"OptionList": ["num_pts", "x", "y", "z", "intensity", "class", "user_data", "point_source_id", "scan_angle", "time"]}, "default_value": "num_pts", "optional": false}, "interval": {"name": "Interval", "flags": ["--interval"], "description": "Interval", "parameter_type": "Float", "default_value": "", "optional": true}, "min_pts": {"name": "Minimum Number of Points", "flags": ["--min_pts"], "description": "Minimum number of points in an output file", "parameter_type": "Integer", "default_value": "5", "optional": true}}}, "SplitVectorLines": {"name": "SplitVectorLines", "tool_name": "split_vector_lines", "category": "GIS Analysis", "label": "Split Vector Lines", "description": "Used to split a vector line coverage into even-lengthed segments.", "github": "https://github.com/jblindsay/whitebox-tools/tree/master/whitebox-plugins/src/SplitVectorLines/main.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#SplitVectorLines", "parameters": {"i": {"name": "Input Lines", "flags": ["-i", "--input"], "description": "Name of the input lines shapefile.", "parameter_type": {"ExistingFile": {"Vector": "Line"}}, "default_value": null, "optional": false}, "output": {"name": "Output Lines", "flags": ["-o", "--output"], "description": "Name of the output lines shapefile.", "parameter_type": {"NewFile": {"Vector": "Line"}}, "default_value": null, "optional": false}, "length": {"name": "Max Segment Length", "flags": ["--length"], "description": "Maximum segment length (m).", "parameter_type": "Float", "default_value": null, "optional": true}}}, "SplitWithLines": {"name": "SplitWithLines", "tool_name": "split_with_lines", "category": "GIS Analysis", "label": "Split With Lines", "description": "Splits the lines or polygons in one layer using the lines in another layer.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/split_with_lines.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#SplitWithLines", "parameters": {"i": {"name": "Input Vector Lines or Polygon File", "flags": ["-i", "--input"], "description": "Input vector line or polygon file.", "parameter_type": {"ExistingFile": {"Vector": "Any"}}, "default_value": null, "optional": false}, "split": {"name": "Input Vector Lines File", "flags": ["--split"], "description": "Input vector polyline file.", "parameter_type": {"ExistingFile": {"Vector": "Line"}}, "default_value": null, "optional": false}, "output": {"name": "Output Vector File", "flags": ["-o", "--output"], "description": "Output vector file.", "parameter_type": {"NewFile": {"Vector": "Any"}}, "default_value": null, "optional": false}}}, "Square": {"name": "Square", "tool_name": "square", "category": "Math and Stats Tools", "label": "Square", "description": "Squares the values in a raster.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/square.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#Square", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "SquareRoot": {"name": "SquareRoot", "tool_name": "square_root", "category": "Math and Stats Tools", "label": "Square Root", "description": "Returns the square root of the values in a raster.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/sqrt.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#SquareRoot", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "StandardDeviationContrastStretch": {"name": "StandardDeviationContrastStretch", "tool_name": "standard_deviation_contrast_stretch", "category": "Image Processing Tools", "label": "Standard Deviation Contrast Stretch", "description": "Performs a standard-deviation contrast stretch on input images.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/stdev_contrast_stretch.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#StandardDeviationContrastStretch", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "stdev": {"name": "Standard Deviation Threshold", "flags": ["--clip", "--stdev"], "description": "Standard deviation clip value.", "parameter_type": "Float", "default_value": "2.0", "optional": false}, "num_tones": {"name": "Number of Tones", "flags": ["--num_tones"], "description": "Number of tones in the output image.", "parameter_type": "Integer", "default_value": "256", "optional": false}}}, "StandardDeviationFilter": {"name": "StandardDeviationFilter", "tool_name": "standard_deviation_filter", "category": "Image Processing Tools", "label": "Standard Deviation Filter", "description": "Assigns each cell in the output grid the standard deviation of values in a moving window centred on each grid cell in the input raster.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/stdev_filter.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#StandardDeviationFilter", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "filterx": {"name": "Filter X-Dimension", "flags": ["--filterx"], "description": "Size of the filter kernel in the x-direction.", "parameter_type": "Integer", "default_value": "11", "optional": true}, "filtery": {"name": "Filter Y-Dimension", "flags": ["--filtery"], "description": "Size of the filter kernel in the y-direction.", "parameter_type": "Integer", "default_value": "11", "optional": true}}}, "StandardDeviationOfSlope": {"name": "StandardDeviationOfSlope", "tool_name": "standard_deviation_of_slope", "category": "Geomorphometric Analysis", "label": "Standard Deviation Of Slope", "description": "Calculates the standard deviation of slope from an input DEM.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/standard_deviation_of_slope.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#StandardDeviationOfSlope", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster DEM file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "zfactor": {"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}, "filterx": {"name": "Filter X-Dimension", "flags": ["--filterx"], "description": "Size of the filter kernel in the x-direction.", "parameter_type": "Integer", "default_value": "11", "optional": true}, "filtery": {"name": "Filter Y-Dimension", "flags": ["--filtery"], "description": "Size of the filter kernel in the y-direction.", "parameter_type": "Integer", "default_value": "11", "optional": true}}}, "StochasticDepressionAnalysis": {"name": "StochasticDepressionAnalysis", "tool_name": "stochastic_depression_analysis", "category": "Hydrological Analysis", "label": "Stochastic Depression Analysis", "description": "Performs a stochastic analysis of depressions within a DEM.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/stochastic_depression_analysis.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#StochasticDepressionAnalysis", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "rmse": {"name": "DEM root-mean-square-error (z units)", "flags": ["--rmse"], "description": "The DEM's root-mean-square-error (RMSE), in z units. This determines error magnitude.", "parameter_type": "Float", "default_value": null, "optional": false}, "range": {"name": "Range of Autocorrelation (map units)", "flags": ["--range"], "description": "The error field's correlation length, in xy-units.", "parameter_type": "Float", "default_value": null, "optional": false}, "iterations": {"name": "Iterations", "flags": ["--iterations"], "description": "The number of iterations.", "parameter_type": "Integer", "default_value": "100", "optional": true}}}, "StrahlerOrderBasins": {"name": "StrahlerOrderBasins", "tool_name": "strahler_order_basins", "category": "Hydrological Analysis", "label": "Strahler Order Basins", "description": "Identifies Strahler-order basins from an input stream network.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/strahler_basins.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#StrahlerOrderBasins", "parameters": {"d8_pntr": {"name": "Input D8 Pointer File", "flags": ["--d8_pntr"], "description": "Input raster D8 pointer file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "streams": {"name": "Input Streams File", "flags": ["--streams"], "description": "Input raster streams file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "esri_pntr": {"name": "Does the pointer file use the ESRI pointer scheme?", "flags": ["--esri_pntr"], "description": "D8 pointer uses the ESRI style scheme.", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "StrahlerStreamOrder": {"name": "StrahlerStreamOrder", "tool_name": "strahler_stream_order", "category": "Stream Network Analysis", "label": "Strahler Stream Order", "description": "Assigns the Strahler stream order to each link in a stream network.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/stream_network_analysis/strahler_order.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/stream_network_analysis.html#StrahlerStreamOrder", "parameters": {"d8_pntr": {"name": "Input D8 Pointer File", "flags": ["--d8_pntr"], "description": "Input raster D8 pointer file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "streams": {"name": "Input Streams File", "flags": ["--streams"], "description": "Input raster streams file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "esri_pntr": {"name": "Does the pointer file use the ESRI pointer scheme?", "flags": ["--esri_pntr"], "description": "D8 pointer uses the ESRI style scheme.", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "zero_background": {"name": "Should a background value of zero be used?", "flags": ["--zero_background"], "description": "Flag indicating whether a background value of zero should be used.", "parameter_type": "Boolean", "default_value": null, "optional": true}}}, "StreamLinkClass": {"name": "StreamLinkClass", "tool_name": "stream_link_class", "category": "Stream Network Analysis", "label": "Stream Link Class", "description": "Identifies the exterior/interior links and nodes in a stream network.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/stream_network_analysis/stream_link_class.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/stream_network_analysis.html#StreamLinkClass", "parameters": {"d8_pntr": {"name": "Input D8 Pointer File", "flags": ["--d8_pntr"], "description": "Input raster D8 pointer file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "streams": {"name": "Input Streams File", "flags": ["--streams"], "description": "Input raster streams file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "esri_pntr": {"name": "Does the pointer file use the ESRI pointer scheme?", "flags": ["--esri_pntr"], "description": "D8 pointer uses the ESRI style scheme.", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "zero_background": {"name": "Should a background value of zero be used?", "flags": ["--zero_background"], "description": "Flag indicating whether a background value of zero should be used.", "parameter_type": "Boolean", "default_value": null, "optional": true}}}, "StreamLinkIdentifier": {"name": "StreamLinkIdentifier", "tool_name": "stream_link_identifier", "category": "Stream Network Analysis", "label": "Stream Link Identifier", "description": "Assigns a unique identifier to each link in a stream network.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/stream_network_analysis/stream_link_id.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/stream_network_analysis.html#StreamLinkIdentifier", "parameters": {"d8_pntr": {"name": "Input D8 Pointer File", "flags": ["--d8_pntr"], "description": "Input raster D8 pointer file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "streams": {"name": "Input Streams File", "flags": ["--streams"], "description": "Input raster streams file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "esri_pntr": {"name": "Does the pointer file use the ESRI pointer scheme?", "flags": ["--esri_pntr"], "description": "D8 pointer uses the ESRI style scheme.", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "zero_background": {"name": "Should a background value of zero be used?", "flags": ["--zero_background"], "description": "Flag indicating whether a background value of zero should be used.", "parameter_type": "Boolean", "default_value": null, "optional": true}}}, "StreamLinkLength": {"name": "StreamLinkLength", "tool_name": "stream_link_length", "category": "Stream Network Analysis", "label": "Stream Link Length", "description": "Estimates the length of each link (or tributary) in a stream network.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/stream_network_analysis/stream_link_length.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/stream_network_analysis.html#StreamLinkLength", "parameters": {"d8_pntr": {"name": "Input D8 Pointer File", "flags": ["--d8_pntr"], "description": "Input raster D8 pointer file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "linkid": {"name": "Input Stream Link (Tributary) ID File", "flags": ["--linkid"], "description": "Input raster streams link ID (or tributary ID) file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "esri_pntr": {"name": "Does the pointer file use the ESRI pointer scheme?", "flags": ["--esri_pntr"], "description": "D8 pointer uses the ESRI style scheme.", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "zero_background": {"name": "Should a background value of zero be used?", "flags": ["--zero_background"], "description": "Flag indicating whether a background value of zero should be used.", "parameter_type": "Boolean", "default_value": null, "optional": true}}}, "StreamLinkSlope": {"name": "StreamLinkSlope", "tool_name": "stream_link_slope", "category": "Stream Network Analysis", "label": "Stream Link Slope", "description": "Estimates the average slope of each link (or tributary) in a stream network.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/stream_network_analysis/stream_link_slope.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/stream_network_analysis.html#StreamLinkSlope", "parameters": {"d8_pntr": {"name": "Input D8 Pointer File", "flags": ["--d8_pntr"], "description": "Input raster D8 pointer file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "linkid": {"name": "Input Stream Link (Tributary) ID File", "flags": ["--linkid"], "description": "Input raster streams link ID (or tributary ID) file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "esri_pntr": {"name": "Does the pointer file use the ESRI pointer scheme?", "flags": ["--esri_pntr"], "description": "D8 pointer uses the ESRI style scheme.", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "zero_background": {"name": "Should a background value of zero be used?", "flags": ["--zero_background"], "description": "Flag indicating whether a background value of zero should be used.", "parameter_type": "Boolean", "default_value": null, "optional": true}}}, "StreamPowerIndex": {"name": "StreamPowerIndex", "tool_name": "stream_power_index", "category": "Geomorphometric Analysis", "label": "Stream Power Index", "description": "Calculates the relative stream power index.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/relative_stream_power_index.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#StreamPowerIndex", "parameters": {"sca": {"name": "Input Specific Contributing Area (SCA) File", "flags": ["--sca"], "description": "Input raster specific contributing area (SCA) file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "slope": {"name": "Input Slope File", "flags": ["--slope"], "description": "Input raster slope file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "exponent": {"name": "Specific Contributing Area (SCA) Exponent", "flags": ["--exponent"], "description": "SCA exponent value.", "parameter_type": "Float", "default_value": "1.0", "optional": false}}}, "StreamSlopeContinuous": {"name": "StreamSlopeContinuous", "tool_name": "stream_slope_continuous", "category": "Stream Network Analysis", "label": "Stream Slope Continuous", "description": "Estimates the slope of each grid cell in a stream network.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/stream_network_analysis/stream_slope_continuous.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/stream_network_analysis.html#StreamSlopeContinuous", "parameters": {"d8_pntr": {"name": "Input D8 Pointer File", "flags": ["--d8_pntr"], "description": "Input raster D8 pointer file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "streams": {"name": "Input Streams File", "flags": ["--streams"], "description": "Input raster streams file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "esri_pntr": {"name": "Does the pointer file use the ESRI pointer scheme?", "flags": ["--esri_pntr"], "description": "D8 pointer uses the ESRI style scheme.", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "zero_background": {"name": "Should a background value of zero be used?", "flags": ["--zero_background"], "description": "Flag indicating whether a background value of zero should be used.", "parameter_type": "Boolean", "default_value": null, "optional": true}}}, "Subbasins": {"name": "Subbasins", "tool_name": "subbasins", "category": "Hydrological Analysis", "label": "Subbasins", "description": "Identifies the catchments, or sub-basin, draining to each link in a stream network.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/subbasins.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#Subbasins", "parameters": {"d8_pntr": {"name": "Input D8 Pointer File", "flags": ["--d8_pntr"], "description": "Input D8 pointer raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "streams": {"name": "Input Streams File", "flags": ["--streams"], "description": "Input raster streams file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "esri_pntr": {"name": "Does the pointer file use the ESRI pointer scheme?", "flags": ["--esri_pntr"], "description": "D8 pointer uses the ESRI style scheme.", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "Subtract": {"name": "Subtract", "tool_name": "subtract", "category": "Math and Stats Tools", "label": "Subtract", "description": "Performs a differencing operation on two rasters or a raster and a constant value.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/subtract.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#Subtract", "parameters": {"input1": {"name": "Input File Or Constant Value", "flags": ["--input1"], "description": "Input raster file or constant value.", "parameter_type": {"ExistingFileOrFloat": "Raster"}, "default_value": null, "optional": false}, "input2": {"name": "Input File Or Constant Value", "flags": ["--input2"], "description": "Input raster file or constant value.", "parameter_type": {"ExistingFileOrFloat": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "SumOverlay": {"name": "SumOverlay", "tool_name": "sum_overlay", "category": "GIS Analysis", "label": "Sum Overlay", "description": "Calculates the sum for each grid cell from a group of raster images.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/sum_overlay.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#SumOverlay", "parameters": {"inputs": {"name": "Input Files", "flags": ["-i", "--inputs"], "description": "Input raster files.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "SurfaceAreaRatio": {"name": "SurfaceAreaRatio", "tool_name": "surface_area_ratio", "category": "Geomorphometric Analysis", "label": "Surface Area Ratio", "description": "Calculates a the surface area ratio of each grid cell in an input DEM.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/surface_area_ratio.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#SurfaceAreaRatio", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "SvmClassification": {"name": "SvmClassification", "tool_name": "svm_classification", "category": "Machine Learning", "label": "Svm Classification", "description": "Performs an SVM binary classification using training site polygons/points and multiple input images.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/machine_learning.html#SvmClassification", "parameters": {"inputs": {"name": "Input Predictor Rasters", "flags": ["-i", "--inputs"], "description": "Names of the input predictor rasters.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "scaling": {"name": "Scaling Method", "flags": ["--scaling"], "description": "Scaling method for predictors. Options include 'None', 'Normalize', and 'Standardize'", "parameter_type": {"OptionList": ["None", "Normalize", "Standardize"]}, "default_value": "Normalize", "optional": true}, "training": {"name": "Input Training Polygons/Points", "flags": ["-t", "--training"], "description": "Name of the input training site polygons/points Shapefile.", "parameter_type": {"ExistingFile": {"Vector": "Any"}}, "default_value": null, "optional": false}, "field": {"name": "Class Field Name", "flags": ["-f", "--field"], "description": "Name of the attribute containing class data.", "parameter_type": {"VectorAttributeField": ["Any", "--training"]}, "default_value": null, "optional": false}, "output": {"name": "Output Raster File", "flags": ["-o", "--output"], "description": "Name of the output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": true}, "c": {"name": "c-Value", "flags": ["-c"], "description": "c-value, the regularization parameter.", "parameter_type": "Float", "default_value": "200.0", "optional": true}, "gamma": {"name": "Kernel Gamma", "flags": ["--gamma"], "description": "Gamma parameter used in setting the RBF (Gaussian) kernel function.", "parameter_type": "Float", "default_value": "50.0", "optional": true}, "tolerance": {"name": "Tolerance", "flags": ["--tolerance"], "description": "The tolerance parameter used in determining the stopping condition.", "parameter_type": "Float", "default_value": "0.1", "optional": true}, "test_proportion": {"name": "Test Proportion", "flags": ["--test_proportion"], "description": "The proportion of the dataset to include in the test split; default is 0.2.", "parameter_type": "Float", "default_value": "0.2", "optional": true}}}, "SvmRegression": {"name": "SvmRegression", "tool_name": "svm_regression", "category": "Machine Learning", "label": "Svm Regression", "description": "Performs a supervised SVM regression analysis using training site points and predictor rasters.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/machine_learning.html#SvmRegression", "parameters": {"inputs": {"name": "Input Predictor Rasters", "flags": ["-i", "--inputs"], "description": "Names of the input predictor rasters.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "scaling": {"name": "Scaling Method", "flags": ["--scaling"], "description": "Scaling method for predictors. Options include 'None', 'Normalize', and 'Standardize'", "parameter_type": {"OptionList": ["None", "Normalize", "Standardize"]}, "default_value": "Normalize", "optional": true}, "training": {"name": "Input Training Polygons/Points", "flags": ["-t", "--training"], "description": "Name of the input training site points Shapefile.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "field": {"name": "Class Field Name", "flags": ["-f", "--field"], "description": "Name of the attribute containing class data.", "parameter_type": {"VectorAttributeField": ["Any", "--training"]}, "default_value": null, "optional": false}, "output": {"name": "Output Raster File", "flags": ["-o", "--output"], "description": "Name of the output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": true}, "c": {"name": "c-Value", "flags": ["-c"], "description": "c-value, the regularization parameter.", "parameter_type": "Float", "default_value": "50.0", "optional": true}, "eps": {"name": "Epsilon Value", "flags": ["--eps"], "description": "Epsilon in the epsilon-SVR model.", "parameter_type": "Float", "default_value": "10.0", "optional": true}, "gamma": {"name": "Kernel Gamma", "flags": ["--gamma"], "description": "Gamma parameter used in setting the RBF (Gaussian) kernel function.", "parameter_type": "Float", "default_value": "0.5", "optional": true}, "test_proportion": {"name": "Test Proportion", "flags": ["--test_proportion"], "description": "The proportion of the dataset to include in the test split; default is 0.2.", "parameter_type": "Float", "default_value": "0.2", "optional": true}}}, "SymmetricalDifference": {"name": "SymmetricalDifference", "tool_name": "symmetrical_difference", "category": "GIS Analysis", "label": "Symmetrical Difference", "description": "Outputs the features that occur in one of the two vector inputs but not both, i.e. no overlapping features.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/symmetrical_difference.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#SymmetricalDifference", "parameters": {"i": {"name": "Input Vector File", "flags": ["-i", "--input"], "description": "Input vector file.", "parameter_type": {"ExistingFile": {"Vector": "Any"}}, "default_value": null, "optional": false}, "overlay": {"name": "Input Overlay Vector File", "flags": ["--overlay"], "description": "Input overlay vector file.", "parameter_type": {"ExistingFile": {"Vector": "Any"}}, "default_value": null, "optional": false}, "output": {"name": "Output Vector File", "flags": ["-o", "--output"], "description": "Output vector file.", "parameter_type": {"NewFile": {"Vector": "Any"}}, "default_value": null, "optional": false}, "snap": {"name": "Snap Tolerance", "flags": ["--snap"], "description": "Snap tolerance.", "parameter_type": "Float", "default_value": "0.0", "optional": true}}}, "TinGridding": {"name": "TinGridding", "tool_name": "tin_gridding", "category": "GIS Analysis", "label": "Tin Gridding", "description": "Creates a raster grid based on a triangular irregular network (TIN) fitted to vector points.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/tin_gridding.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#TinGridding", "parameters": {"i": {"name": "Input Vector Points File", "flags": ["-i", "--input"], "description": "Input vector points file.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "field": {"name": "Field Name", "flags": ["--field"], "description": "Input field name in attribute table.", "parameter_type": {"VectorAttributeField": ["Number", "--input"]}, "default_value": null, "optional": true}, "use_z": {"name": "Use Shapefile 'z' values?", "flags": ["--use_z"], "description": "Use the 'z' dimension of the Shapefile's geometry instead of an attribute field?", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "output": {"name": "Output Raster File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "resolution": {"name": "Grid Resolution", "flags": ["--resolution"], "description": "Output raster's grid resolution.", "parameter_type": "Float", "default_value": null, "optional": true}, "base": {"name": "Base Raster File (optional)", "flags": ["--base"], "description": "Optionally specified input base raster file. Not used when a cell size is specified.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": true}, "max_triangle_edge_length": {"name": "Maximum Triangle Edge Length (optional)", "flags": ["--max_triangle_edge_length"], "description": "Optional maximum triangle edge length; triangles larger than this size will not be gridded.", "parameter_type": "Float", "default_value": null, "optional": true}}}, "Tan": {"name": "Tan", "tool_name": "tan", "category": "Math and Stats Tools", "label": "Tan", "description": "Returns the tangent (tan) of each values in a raster.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/tan.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#Tan", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "TangentialCurvature": {"name": "TangentialCurvature", "tool_name": "tangential_curvature", "category": "Geomorphometric Analysis", "label": "Tangential Curvature", "description": "Calculates a tangential curvature raster from an input DEM.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/tan_curvature.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#TangentialCurvature", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "log": {"name": "Log-transform the output?", "flags": ["--log"], "description": "Display output values using a log-scale.", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "zfactor": {"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}}}, "Tanh": {"name": "Tanh", "tool_name": "tanh", "category": "Math and Stats Tools", "label": "Tanh", "description": "Returns the hyperbolic tangent (tanh) of each values in a raster.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/tanh.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#Tanh", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "ThickenRasterLine": {"name": "ThickenRasterLine", "tool_name": "thicken_raster_line", "category": "Image Processing Tools", "label": "Thicken Raster Line", "description": "Thickens single-cell wide lines within a raster image.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/thicken_line.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#ThickenRasterLine", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "TimeInDaylight": {"name": "TimeInDaylight", "tool_name": "time_in_daylight", "category": "Geomorphometric Analysis", "label": "Time In Daylight", "description": "Calculates the proportion of time a location is not within an area of shadow.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/time_in_daylight.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#TimeInDaylight", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "az_fraction": {"name": "Azimuth Fraction", "flags": ["--az_fraction"], "description": "Azimuth fraction in degrees.", "parameter_type": "Float", "default_value": "10.0", "optional": false}, "max_dist": {"name": "Maximum Search Distance", "flags": ["--max_dist"], "description": "Optional maximum search distance. Minimum value is 5 x cell size.", "parameter_type": "Float", "default_value": "100.0", "optional": false}, "lat": {"name": "Centre Point Latitude", "flags": ["--lat"], "description": "Centre point latitude.", "parameter_type": "Float", "default_value": null, "optional": false}, "long": {"name": "Centre Point Longitude", "flags": ["--long"], "description": "Centre point longitude.", "parameter_type": "Float", "default_value": null, "optional": false}, "utc_offset": {"name": "UTC Offset (e.g. -04:00, +06:00)", "flags": ["--utc_offset"], "description": "UTC time offset, in hours (e.g. -04:00, +06:00).", "parameter_type": "String", "default_value": "00:00", "optional": true}, "start_day": {"name": "Start Day Of The Year (1-365)", "flags": ["--start_day"], "description": "Start day of the year (1-365).", "parameter_type": "Integer", "default_value": "1", "optional": true}, "end_day": {"name": "End Day Of The Year (1-365)", "flags": ["--end_day"], "description": "End day of the year (1-365).", "parameter_type": "Integer", "default_value": "365", "optional": true}, "start_time": {"name": "Starting Hour (24-hour time: HH:MM:SS e.g. 05:00:00)", "flags": ["--start_time"], "description": "Starting hour to track shadows (e.g. 5, 5:00, 05:00:00). Assumes 24-hour time: HH:MM:SS. 'sunrise' is also a valid time.", "parameter_type": "String", "default_value": "00:00:00", "optional": true}, "end_time": {"name": "Ending Hour (24-hour time: HH:MM:SS e.g. 21:00:00)", "flags": ["--end_time"], "description": "Ending hour to track shadows (e.g. 21, 21:00, 21:00:00). Assumes 24-hour time: HH:MM:SS. 'sunset' is also a valid time.", "parameter_type": "String", "default_value": "23:59:59", "optional": true}}}, "ToDegrees": {"name": "ToDegrees", "tool_name": "to_degrees", "category": "Math and Stats Tools", "label": "To Degrees", "description": "Converts a raster from radians to degrees.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/to_degrees.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#ToDegrees", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "ToRadians": {"name": "ToRadians", "tool_name": "to_radians", "category": "Math and Stats Tools", "label": "To Radians", "description": "Converts a raster from degrees to radians.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/to_radians.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#ToRadians", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "TophatTransform": {"name": "TophatTransform", "tool_name": "tophat_transform", "category": "Image Processing Tools", "label": "Tophat Transform", "description": "Performs either a white or black top-hat transform on an input image.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/tophat.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#TophatTransform", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "filterx": {"name": "Filter X-Dimension", "flags": ["--filterx"], "description": "Size of the filter kernel in the x-direction.", "parameter_type": "Integer", "default_value": "11", "optional": true}, "filtery": {"name": "Filter Y-Dimension", "flags": ["--filtery"], "description": "Size of the filter kernel in the y-direction.", "parameter_type": "Integer", "default_value": "11", "optional": true}, "variant": {"name": "Variant", "flags": ["--variant"], "description": "Optional variant value. Options include 'white' and 'black'.", "parameter_type": {"OptionList": ["white", "black"]}, "default_value": "white", "optional": true}}}, "TopoRender": {"name": "TopoRender", "tool_name": "topo_render", "category": "Geomorphometric Analysis", "label": "Topo Render", "description": "This tool creates a pseudo-3D rendering from an input DEM, for the purpose of effective topographic visualization.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#TopoRender", "parameters": {"dem": {"name": "Input Digital Elevation Model (DEM) Raster", "flags": ["-i", "--input", "--dem"], "description": "Name of the input digital elevation model (DEM) raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Name of the output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "palette": {"name": "Palette", "flags": ["-p", "--palette"], "description": "Palette name; options are 'atlas', 'high_relief', 'arid', 'soft', 'earthtones', 'muted', 'light_quant', 'purple', 'viridi', 'gn_yl', 'pi_y_g', 'bl_yl_rd', 'deep', 'imhof', and 'white'.", "parameter_type": {"OptionList": ["atlas", "high_relief", "arid", "soft", "earthtones", "muted", "light_quant", "purple", "viridis", "gn_yl", "pi_y_g", "bl_yl_rd", "deep", "imhof", "white"]}, "default_value": "soft", "optional": true}, "rev_palette": {"name": "Reverse the palette?", "flags": ["--rev_palette"], "description": "Reverse the palette?", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "az": {"name": "Light Source Direction (degrees)", "flags": ["--az"], "description": "Light source azimuth direction (degrees, 0-360).", "parameter_type": "Float", "default_value": "315.0", "optional": true}, "alt": {"name": "Light Source Altitude (degrees)", "flags": ["--alt"], "description": "Light source altitude (degrees, 0-90).", "parameter_type": "Float", "default_value": "30.0", "optional": true}, "background_hgt_offset": {"name": "Offset Height of Background (z-units)", "flags": ["--background_hgt_offset"], "description": "Offset height of background, in z-units.", "parameter_type": "Float", "default_value": "10.0", "optional": true}, "polygon": {"name": "Clipping Polygon", "flags": ["--polygon"], "description": "Clipping polygon vector file (optional).", "parameter_type": {"ExistingFile": {"Vector": "Polygon"}}, "default_value": null, "optional": true}, "background_clr": {"name": "Background RGB colour", "flags": ["--background_clr"], "description": "Background red-green-blue (RGB) or red-green-blue-alpha (RGBA) colour, e.g. '[255, 255, 245]', '[255, 255, 245, 200]'", "parameter_type": "String", "default_value": "[255, 255, 255]", "optional": true}, "attenuation": {"name": "Attenuation Parameter", "flags": ["--attenuation"], "description": "Attenuation parameter. Range is 0-4. Zero means no attenuation.", "parameter_type": "Float", "default_value": "0.6", "optional": true}, "ambient_light": {"name": "Ambient Light", "flags": ["--ambient_light"], "description": "Ambient light parameter. Range is 0.0-0.7. Zero means no ambient light.", "parameter_type": "Float", "default_value": "0.2", "optional": true}, "z_factor": {"name": "Elevation Multiplier", "flags": ["--z_factor"], "description": "Elevation multiplier, or a vertical exageration.", "parameter_type": "Float", "default_value": "1.0", "optional": true}}}, "TopographicPositionAnimation": {"name": "TopographicPositionAnimation", "tool_name": "topographic_position_animation", "category": "Geomorphometric Analysis", "label": "Topographic Position Animation", "description": "This tool creates an animated GIF of multi-scale local topographic position (elevation deviation).", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#TopographicPositionAnimation", "parameters": {"i": {"name": "Input Digital Elevation Model (DEM) Raster", "flags": ["-i", "--input"], "description": "Name of the input digital elevation model (DEM) raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "palette": {"name": "Palette", "flags": ["-p", "--palette"], "description": "Image palette; options are 'bl_yl_rd', 'bl_w_rd', 'purple', 'gn_yl', 'pi_y_g', and 'viridis'.", "parameter_type": {"OptionList": ["bl_yl_rd", "bl_w_rd", "purple", "gn_yl", "pi_y_g", "viridis"]}, "default_value": "bl_yl_rd", "optional": true}, "output": {"name": "Output File (*.html)", "flags": ["-o", "--output"], "description": "Name of the output HTML file (*.html).", "parameter_type": {"NewFile": "Html"}, "default_value": null, "optional": false}, "min_scale": {"name": "Minimum Search Neighbourhood Radius (grid cells)", "flags": ["--min_scale"], "description": "Minimum search neighbourhood radius in grid cells.", "parameter_type": "Integer", "default_value": "1", "optional": true}, "num_steps": {"name": "Number of Steps", "flags": ["--num_steps"], "description": "Number of steps.", "parameter_type": "Integer", "default_value": "100", "optional": true}, "step_nonlinearity": {"name": "Step Nonlinearity", "flags": ["--step_nonlinearity"], "description": "Step nonlinearity factor (1.0-2.0 is typical)", "parameter_type": "Float", "default_value": "1.5", "optional": true}, "height": {"name": "Image Height (in pixels)", "flags": ["--height"], "description": "Image height, in pixels.", "parameter_type": "Integer", "default_value": "600", "optional": true}, "delay": {"name": "Delay (in milliseconds)", "flags": ["--delay"], "description": "GIF time delay in milliseconds.", "parameter_type": "Integer", "default_value": "250", "optional": true}, "label": {"name": "Label text (blank for none)", "flags": ["-l", "--label"], "description": "Label text (leave blank for none)", "parameter_type": "String", "default_value": "", "optional": true}, "dev_max": {"name": "Use DEVmax for topo position?", "flags": ["--dev_max"], "description": "Do you want to use DEVmax instead of DEV for measuring local topographic position?", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "TopologicalStreamOrder": {"name": "TopologicalStreamOrder", "tool_name": "topological_stream_order", "category": "Stream Network Analysis", "label": "Topological Stream Order", "description": "Assigns each link in a stream network its topological order.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/stream_network_analysis/topological_stream_order.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/stream_network_analysis.html#TopologicalStreamOrder", "parameters": {"d8_pntr": {"name": "Input D8 Pointer File", "flags": ["--d8_pntr"], "description": "Input raster D8 pointer file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "streams": {"name": "Input Streams File", "flags": ["--streams"], "description": "Input raster streams file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "esri_pntr": {"name": "Does the pointer file use the ESRI pointer scheme?", "flags": ["--esri_pntr"], "description": "D8 pointer uses the ESRI style scheme.", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "zero_background": {"name": "Should a background value of zero be used?", "flags": ["--zero_background"], "description": "Flag indicating whether a background value of zero should be used.", "parameter_type": "Boolean", "default_value": null, "optional": true}}}, "TotalCurvature": {"name": "TotalCurvature", "tool_name": "total_curvature", "category": "Geomorphometric Analysis", "label": "Total Curvature", "description": "Calculates a total curvature raster from an input DEM.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/total_curvature.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#TotalCurvature", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "log": {"name": "Log-transform the output?", "flags": ["--log"], "description": "Display output values using a log-scale.", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "zfactor": {"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}}}, "TotalFilter": {"name": "TotalFilter", "tool_name": "total_filter", "category": "Image Processing Tools", "label": "Total Filter", "description": "Performs a total filter on an input image.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/total_filter.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#TotalFilter", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "filterx": {"name": "Filter X-Dimension", "flags": ["--filterx"], "description": "Size of the filter kernel in the x-direction.", "parameter_type": "Integer", "default_value": "11", "optional": true}, "filtery": {"name": "Filter Y-Dimension", "flags": ["--filtery"], "description": "Size of the filter kernel in the y-direction.", "parameter_type": "Integer", "default_value": "11", "optional": true}}}, "TraceDownslopeFlowpaths": {"name": "TraceDownslopeFlowpaths", "tool_name": "trace_downslope_flowpaths", "category": "Hydrological Analysis", "label": "Trace Downslope Flowpaths", "description": "Traces downslope flowpaths from one or more target sites (i.e. seed points).", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/trace_downslope_flowpaths.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#TraceDownslopeFlowpaths", "parameters": {"seed_pts": {"name": "Input Vector Seed Points File", "flags": ["--seed_pts"], "description": "Input vector seed points file.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "d8_pntr": {"name": "Input D8 Pointer File", "flags": ["--d8_pntr"], "description": "Input D8 pointer raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "esri_pntr": {"name": "Does the pointer file use the ESRI pointer scheme?", "flags": ["--esri_pntr"], "description": "D8 pointer uses the ESRI style scheme.", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "zero_background": {"name": "Should a background value of zero be used?", "flags": ["--zero_background"], "description": "Flag indicating whether a background value of zero should be used.", "parameter_type": "Boolean", "default_value": null, "optional": true}}}, "TravellingSalesmanProblem": {"name": "TravellingSalesmanProblem", "tool_name": "travelling_salesman_problem", "category": "GIS Analysis", "label": "Travelling Salesman Problem", "description": "Finds approximate solutions to travelling salesman problems, the goal of which is to identify the shortest route connecting a set of locations.", "github": "https://github.com/jblindsay/whitebox-tools/tree/master/whitebox-plugins/src/TravellingSalesmanProblem/main.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#TravellingSalesmanProblem", "parameters": {"i": {"name": "Input Points", "flags": ["-i", "--input"], "description": "Name of the input points shapefile.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "output": {"name": "Output Lines", "flags": ["-o", "--output"], "description": "Name of the output lines shapefile.", "parameter_type": {"NewFile": {"Vector": "Line"}}, "default_value": null, "optional": false}, "duration": {"name": "Max Duration", "flags": ["--duration"], "description": "Maximum duration, in seconds.", "parameter_type": "Integer", "default_value": "60", "optional": false}}}, "TrendSurface": {"name": "TrendSurface", "tool_name": "trend_surface", "category": "Math and Stats Tools", "label": "Trend Surface", "description": "Estimates the trend surface of an input raster file.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/trend_surface.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#TrendSurface", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "order": {"name": "Polynomial Order", "flags": ["--order"], "description": "Polynomial order (1 to 10).", "parameter_type": "Integer", "default_value": "1", "optional": true}}}, "TrendSurfaceVectorPoints": {"name": "TrendSurfaceVectorPoints", "tool_name": "trend_surface_vector_points", "category": "Math and Stats Tools", "label": "Trend Surface Vector Points", "description": "Estimates a trend surface from vector points.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/trend_surface_vector_points.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#TrendSurfaceVectorPoints", "parameters": {"i": {"name": "Input Vector Points File", "flags": ["-i", "--input"], "description": "Input vector Points file.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "field": {"name": "Field Name", "flags": ["--field"], "description": "Input field name in attribute table.", "parameter_type": {"VectorAttributeField": ["Number", "--input"]}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "order": {"name": "Polynomial Order", "flags": ["--order"], "description": "Polynomial order (1 to 10).", "parameter_type": "Integer", "default_value": "1", "optional": true}, "cell_size": {"name": "Cell Size", "flags": ["--cell_size"], "description": "Optionally specified cell size of output raster. Not used when base raster is specified.", "parameter_type": "Float", "default_value": null, "optional": false}}}, "TributaryIdentifier": {"name": "TributaryIdentifier", "tool_name": "tributary_identifier", "category": "Stream Network Analysis", "label": "Tributary Identifier", "description": "Assigns a unique identifier to each tributary in a stream network.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/stream_network_analysis/tributary_id.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/stream_network_analysis.html#TributaryIdentifier", "parameters": {"d8_pntr": {"name": "Input D8 Pointer File", "flags": ["--d8_pntr"], "description": "Input raster D8 pointer file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "streams": {"name": "Input Streams File", "flags": ["--streams"], "description": "Input raster streams file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "esri_pntr": {"name": "Does the pointer file use the ESRI pointer scheme?", "flags": ["--esri_pntr"], "description": "D8 pointer uses the ESRI style scheme.", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "zero_background": {"name": "Should a background value of zero be used?", "flags": ["--zero_background"], "description": "Flag indicating whether a background value of zero should be used.", "parameter_type": "Boolean", "default_value": null, "optional": true}}}, "Truncate": {"name": "Truncate", "tool_name": "truncate", "category": "Math and Stats Tools", "label": "Truncate", "description": "Truncates the values in a raster to the desired number of decimal places.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/truncate.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#Truncate", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "num_decimals": {"name": "Number of Decimals After Truncation", "flags": ["--num_decimals"], "description": "Number of decimals left after truncation (default is zero).", "parameter_type": "Integer", "default_value": null, "optional": true}}}, "TurningBandsSimulation": {"name": "TurningBandsSimulation", "tool_name": "turning_bands_simulation", "category": "Math and Stats Tools", "label": "Turning Bands Simulation", "description": "Creates an image containing random values based on a turning-bands simulation.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/turning_bands.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#TurningBandsSimulation", "parameters": {"base": {"name": "Input Base File", "flags": ["-i", "--base"], "description": "Input base raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "range": {"name": "Range of Autocorrelation (map units)", "flags": ["--range"], "description": "The field's range, in xy-units, related to the extent of spatial autocorrelation.", "parameter_type": "Float", "default_value": null, "optional": false}, "iterations": {"name": "Iterations", "flags": ["--iterations"], "description": "The number of iterations.", "parameter_type": "Integer", "default_value": "1000", "optional": true}}}, "TwoSampleKsTest": {"name": "TwoSampleKsTest", "tool_name": "two_sample_ks_test", "category": "Math and Stats Tools", "label": "Two Sample Ks Test", "description": "Performs a 2-sample K-S test for significant differences on two input rasters.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/two_sample_ks_test.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#TwoSampleKsTest", "parameters": {"input1": {"name": "First Input File", "flags": ["--input1"], "description": "First input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "input2": {"name": "Second Input File", "flags": ["--input2"], "description": "Second input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output HTML file.", "parameter_type": {"NewFile": "Html"}, "default_value": null, "optional": false}, "num_samples": {"name": "Num. Samples (blank for while image)", "flags": ["--num_samples"], "description": "Number of samples. Leave blank to use whole image.", "parameter_type": "Integer", "default_value": null, "optional": true}}}, "Union": {"name": "Union", "tool_name": "union", "category": "GIS Analysis", "label": "Union", "description": "Splits vector layers at their overlaps, creating a layer containing all the portions from both input and overlay layers.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/union.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#Union", "parameters": {"i": {"name": "Input Vector File", "flags": ["-i", "--input"], "description": "Input vector file.", "parameter_type": {"ExistingFile": {"Vector": "Any"}}, "default_value": null, "optional": false}, "overlay": {"name": "Input Overlay Vector File", "flags": ["--overlay"], "description": "Input overlay vector file.", "parameter_type": {"ExistingFile": {"Vector": "Any"}}, "default_value": null, "optional": false}, "output": {"name": "Output Vector File", "flags": ["-o", "--output"], "description": "Output vector file.", "parameter_type": {"NewFile": {"Vector": "Any"}}, "default_value": null, "optional": false}, "snap": {"name": "Snap Tolerance", "flags": ["--snap"], "description": "Snap tolerance.", "parameter_type": "Float", "default_value": "0.0", "optional": true}}}, "UnnestBasins": {"name": "UnnestBasins", "tool_name": "unnest_basins", "category": "Hydrological Analysis", "label": "Unnest Basins", "description": "Extract whole watersheds for a set of outlet points.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/unnest_basins.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#UnnestBasins", "parameters": {"d8_pntr": {"name": "Input D8 Pointer File", "flags": ["--d8_pntr"], "description": "Input D8 pointer raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "pour_pts": {"name": "Input Pour Points (Outlet) File", "flags": ["--pour_pts"], "description": "Input vector pour points (outlet) file.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "esri_pntr": {"name": "Does the pointer file use the ESRI pointer scheme?", "flags": ["--esri_pntr"], "description": "D8 pointer uses the ESRI style scheme.", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "UnsharpMasking": {"name": "UnsharpMasking", "tool_name": "unsharp_masking", "category": "Image Processing Tools", "label": "Unsharp Masking", "description": "An image sharpening technique that enhances edges.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/unsharp_masking.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#UnsharpMasking", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "sigma": {"name": "Standard Deviation (pixels)", "flags": ["--sigma"], "description": "Standard deviation distance in pixels.", "parameter_type": "Float", "default_value": "0.75", "optional": true}, "amount": {"name": "Amount (%)", "flags": ["--amount"], "description": "A percentage and controls the magnitude of each overshoot.", "parameter_type": "Float", "default_value": "100.0", "optional": true}, "threshold": {"name": "Threshold", "flags": ["--threshold"], "description": "Controls the minimal brightness change that will be sharpened.", "parameter_type": "Float", "default_value": "0.0", "optional": true}}}, "Unsphericity": {"name": "Unsphericity", "tool_name": "unsphericity", "category": "Geomorphometric Analysis", "label": "Unsphericity", "description": "This tool calculates the unsphericity curvature from an input DEM.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#Unsphericity", "parameters": {"dem": {"name": "Input Raster DEM", "flags": ["-i", "--dem"], "description": "Name of the input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster Image", "flags": ["-o", "--output"], "description": "Name of the output raster image file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "log": {"name": "Log-transform the output?", "flags": ["--log"], "description": "Display output values using a log-scale.", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "zfactor": {"name": "Z-factor", "flags": ["--zfactor"], "description": "Z conversion factor.", "parameter_type": "Float", "default_value": "1.0", "optional": true}}}, "UpdateNodataCells": {"name": "UpdateNodataCells", "tool_name": "update_nodata_cells", "category": "GIS Analysis", "label": "Update Nodata Cells", "description": "Replaces the NoData values in an input raster with the corresponding values contained in a second update layer.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/update_nodata_cells.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#UpdateNodataCells", "parameters": {"input1": {"name": "Input File 1", "flags": ["--input1"], "description": "Input raster file 1.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "input2": {"name": "Input File 2 (Update Layer)", "flags": ["--input2"], "description": "Input raster file 2; update layer.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "UpslopeDepressionStorage": {"name": "UpslopeDepressionStorage", "tool_name": "upslope_depression_storage", "category": "Hydrological Analysis", "label": "Upslope Depression Storage", "description": "Estimates the average upslope depression storage depth.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/upslope_depression_storage.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#UpslopeDepressionStorage", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "UserDefinedWeightsFilter": {"name": "UserDefinedWeightsFilter", "tool_name": "user_defined_weights_filter", "category": "Image Processing Tools", "label": "User Defined Weights Filter", "description": "Performs a user-defined weights filter on an image.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/user_defined_weights_filter.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#UserDefinedWeightsFilter", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "weights": {"name": "Input Weights File", "flags": ["--weights"], "description": "Input weights file.", "parameter_type": {"ExistingFile": "Csv"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "center": {"name": "Kernel Center", "flags": ["--center"], "description": "Kernel center cell; options include 'center', 'upper-left', 'upper-right', 'lower-left', 'lower-right'", "parameter_type": {"OptionList": ["center", "upper-left", "upper-right", "lower-left", "lower-right"]}, "default_value": "center", "optional": true}, "normalize": {"name": "Normalize kernel weights?", "flags": ["--normalize"], "description": "Normalize kernel weights? This can reduce edge effects and lessen the impact of data gaps (nodata) but is not suited when the kernel weights sum to zero.", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "VectorHexBinning": {"name": "VectorHexBinning", "tool_name": "vector_hex_binning", "category": "GIS Analysis", "label": "Vector Hex Binning", "description": "Hex-bins a set of vector points.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/vector_hex_bin.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#VectorHexBinning", "parameters": {"i": {"name": "Input Base File", "flags": ["-i", "--input"], "description": "Input base file.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "output": {"name": "Output Polygon File", "flags": ["-o", "--output"], "description": "Output vector polygon file.", "parameter_type": {"NewFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}, "width": {"name": "Hexagon Width", "flags": ["--width"], "description": "The grid cell width.", "parameter_type": "Float", "default_value": null, "optional": false}, "orientation": {"name": "Grid Orientation", "flags": ["--orientation"], "description": "Grid Orientation, 'horizontal' or 'vertical'.", "parameter_type": {"OptionList": ["horizontal", "vertical"]}, "default_value": "horizontal", "optional": true}}}, "VectorLinesToRaster": {"name": "VectorLinesToRaster", "tool_name": "vector_lines_to_raster", "category": "Data Tools", "label": "Vector Lines To Raster", "description": "Converts a vector containing polylines into a raster.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/data_tools/vector_lines_to_raster.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/data_tools.html#VectorLinesToRaster", "parameters": {"i": {"name": "Input Vector Lines File", "flags": ["-i", "--input"], "description": "Input vector lines file.", "parameter_type": {"ExistingFile": {"Vector": "Line"}}, "default_value": null, "optional": false}, "field": {"name": "Field Name", "flags": ["--field"], "description": "Input field name in attribute table.", "parameter_type": {"VectorAttributeField": ["Number", "--input"]}, "default_value": "FID", "optional": true}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "nodata": {"name": "Background value is NoData?", "flags": ["--nodata"], "description": "Background value to set to NoData. Without this flag, it will be set to 0.0.", "parameter_type": "Boolean", "default_value": "true", "optional": true}, "cell_size": {"name": "Cell Size (optional)", "flags": ["--cell_size"], "description": "Optionally specified cell size of output raster. Not used when base raster is specified.", "parameter_type": "Float", "default_value": null, "optional": true}, "base": {"name": "Base Raster File (optional)", "flags": ["--base"], "description": "Optionally specified input base raster file. Not used when a cell size is specified.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": true}}}, "VectorPointsToRaster": {"name": "VectorPointsToRaster", "tool_name": "vector_points_to_raster", "category": "Data Tools", "label": "Vector Points To Raster", "description": "Converts a vector containing points into a raster.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/data_tools/vector_points_to_raster.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/data_tools.html#VectorPointsToRaster", "parameters": {"i": {"name": "Input Vector Points File", "flags": ["-i", "--input"], "description": "Input vector Points file.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "field": {"name": "Field Name", "flags": ["--field"], "description": "Input field name in attribute table.", "parameter_type": {"VectorAttributeField": ["Number", "--input"]}, "default_value": "FID", "optional": true}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "assign": {"name": "Assignment Operation", "flags": ["--assign"], "description": "Assignment operation, where multiple points are in the same grid cell; options include 'first', 'last' (default), 'min', 'max', 'sum', 'number'", "parameter_type": {"OptionList": ["first", "last", "min", "max", "sum", "number"]}, "default_value": "last", "optional": true}, "nodata": {"name": "Background value is NoData?", "flags": ["--nodata"], "description": "Background value to set to NoData. Without this flag, it will be set to 0.0.", "parameter_type": "Boolean", "default_value": "true", "optional": true}, "cell_size": {"name": "Cell Size (optional)", "flags": ["--cell_size"], "description": "Optionally specified cell size of output raster. Not used when base raster is specified.", "parameter_type": "Float", "default_value": null, "optional": true}, "base": {"name": "Base Raster File (optional)", "flags": ["--base"], "description": "Optionally specified input base raster file. Not used when a cell size is specified.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": true}}}, "VectorPolygonsToRaster": {"name": "VectorPolygonsToRaster", "tool_name": "vector_polygons_to_raster", "category": "Data Tools", "label": "Vector Polygons To Raster", "description": "Converts a vector containing polygons into a raster.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/data_tools/vector_polygons_to_raster.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/data_tools.html#VectorPolygonsToRaster", "parameters": {"i": {"name": "Input Vector Polygon File", "flags": ["-i", "--input"], "description": "Input vector polygons file.", "parameter_type": {"ExistingFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}, "field": {"name": "Field Name", "flags": ["--field"], "description": "Input field name in attribute table.", "parameter_type": {"VectorAttributeField": ["Number", "--input"]}, "default_value": "FID", "optional": true}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "nodata": {"name": "Background value is NoData?", "flags": ["--nodata"], "description": "Background value to set to NoData. Without this flag, it will be set to 0.0.", "parameter_type": "Boolean", "default_value": "true", "optional": true}, "cell_size": {"name": "Cell Size (optional)", "flags": ["--cell_size"], "description": "Optionally specified cell size of output raster. Not used when base raster is specified.", "parameter_type": "Float", "default_value": null, "optional": true}, "base": {"name": "Base Raster File (optional)", "flags": ["--base"], "description": "Optionally specified input base raster file. Not used when a cell size is specified.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": true}}}, "VectorStreamNetworkAnalysis": {"name": "VectorStreamNetworkAnalysis", "tool_name": "vector_stream_network_analysis", "category": "Stream Network Analysis", "label": "Vector Stream Network Analysis", "description": "This tool performs common stream network analysis operations on an input vector stream file.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/stream_network_analysis.html#VectorStreamNetworkAnalysis", "parameters": {"streams": {"name": "Input Streams Vector", "flags": ["--streams"], "description": "Name of the input streams vector file.", "parameter_type": {"ExistingFile": {"Vector": "Line"}}, "default_value": null, "optional": false}, "dem": {"name": "Input DEM Raster", "flags": ["--dem"], "description": "Name of the input DEM raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Lines", "flags": ["-o", "--output"], "description": "Name of the output lines shapefile.", "parameter_type": {"NewFile": {"Vector": "Line"}}, "default_value": null, "optional": false}, "cutting_height": {"name": "Maximum Ridge-cutting Height (z units)", "flags": ["--cutting_height"], "description": "Maximum ridge-cutting height (z units).", "parameter_type": "Float", "default_value": "10.0", "optional": true}, "snap": {"name": "Snap Distance", "flags": ["--snap"], "description": "Snap distance, in xy units (metres).", "parameter_type": "Float", "default_value": "0.1", "optional": true}}}, "VerticalExcessCurvature": {"name": "VerticalExcessCurvature", "tool_name": "vertical_excess_curvature", "category": "Geomorphometric Analysis", "label": "Vertical Excess Curvature", "description": "This tool calculates vertical excess curvature from an input DEM.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#VerticalExcessCurvature", "parameters": {"dem": {"name": "Input Raster DEM", "flags": ["-i", "--dem"], "description": "Name of the input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster Image", "flags": ["-o", "--output"], "description": "Name of the output raster image file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "log": {"name": "Log-transform the output?", "flags": ["--log"], "description": "Display output values using a log-scale.", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "zfactor": {"name": "Z-factor", "flags": ["--zfactor"], "description": "Z conversion factor.", "parameter_type": "Float", "default_value": "1.0", "optional": true}}}, "Viewshed": {"name": "Viewshed", "tool_name": "viewshed", "category": "Geomorphometric Analysis", "label": "Viewshed", "description": "Identifies the viewshed for a point or set of points.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/viewshed.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#Viewshed", "parameters": {"dem": {"name": "Input DEM File", "flags": ["--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "stations": {"name": "Viewing Station Vector File", "flags": ["--stations"], "description": "Input viewing station vector file.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "height": {"name": "Station Height (in z units)", "flags": ["--height"], "description": "Viewing station height, in z units.", "parameter_type": "Float", "default_value": "2.0", "optional": false}}}, "VisibilityIndex": {"name": "VisibilityIndex", "tool_name": "visibility_index", "category": "Geomorphometric Analysis", "label": "Visibility Index", "description": "Estimates the relative visibility of sites in a DEM.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/visibility_index.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#VisibilityIndex", "parameters": {"dem": {"name": "Input DEM File", "flags": ["--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "height": {"name": "Station Height (in z units)", "flags": ["--height"], "description": "Viewing station height, in z units.", "parameter_type": "Float", "default_value": "2.0", "optional": false}, "res_factor": {"name": "Resolution Factor", "flags": ["--res_factor"], "description": "The resolution factor determines the density of measured viewsheds.", "parameter_type": "Integer", "default_value": "2", "optional": false}}}, "VoronoiDiagram": {"name": "VoronoiDiagram", "tool_name": "voronoi_diagram", "category": "GIS Analysis", "label": "Voronoi Diagram", "description": "Creates a vector Voronoi diagram for a set of vector points.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/voronoi_diagram.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#VoronoiDiagram", "parameters": {"i": {"name": "Input Vector Points File", "flags": ["-i", "--input"], "description": "Input vector points file.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "output": {"name": "Output Polygon File", "flags": ["-o", "--output"], "description": "Output vector polygon file.", "parameter_type": {"NewFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}}}, "Watershed": {"name": "Watershed", "tool_name": "watershed", "category": "Hydrological Analysis", "label": "Watershed", "description": "Identifies the watershed, or drainage basin, draining to a set of target cells.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/watershed.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#Watershed", "parameters": {"d8_pntr": {"name": "Input D8 Pointer File", "flags": ["--d8_pntr"], "description": "Input D8 pointer raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "pour_pts": {"name": "Input Pour Points (Outlet) File", "flags": ["--pour_pts"], "description": "Input pour points (outlet) file.", "parameter_type": {"ExistingFile": {"RasterAndVector": "Point"}}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "esri_pntr": {"name": "Does the pointer file use the ESRI pointer scheme?", "flags": ["--esri_pntr"], "description": "D8 pointer uses the ESRI style scheme.", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "WeightedOverlay": {"name": "WeightedOverlay", "tool_name": "weighted_overlay", "category": "GIS Analysis", "label": "Weighted Overlay", "description": "Performs a weighted sum on multiple input rasters after converting each image to a common scale. The tool performs a multi-criteria evaluation (MCE).", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/weighted_overlay.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#WeightedOverlay", "parameters": {"factors": {"name": "Input Factor Files", "flags": ["--factors"], "description": "Input factor raster files.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "weights": {"name": "Weight Values (e.g. 1.7;3.5;1.2)", "flags": ["-w", "--weights"], "description": "Weight values, contained in quotes and separated by commas or semicolons. Must have the same number as factors.", "parameter_type": "String", "default_value": null, "optional": false}, "cost": {"name": "Cost Factor? (e.g. false;true;true)", "flags": ["--cost"], "description": "Boolean array indicating which factors are cost factors, contained in quotes and separated by commas or semicolons. Must have the same number as factors.", "parameter_type": "String", "default_value": null, "optional": true}, "constraints": {"name": "Input Constraints Files", "flags": ["--constraints"], "description": "Input constraints raster files.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": true}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "scale_max": {"name": "Suitability Scale Maximum", "flags": ["--scale_max"], "description": "Suitability scale maximum value (common values are 1.0, 100.0, and 255.0).", "parameter_type": "Float", "default_value": "1.0", "optional": true}}}, "WeightedSum": {"name": "WeightedSum", "tool_name": "weighted_sum", "category": "GIS Analysis", "label": "Weighted Sum", "description": "Performs a weighted-sum overlay on multiple input raster images.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/weighted_sum.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#WeightedSum", "parameters": {"inputs": {"name": "Input Files", "flags": ["-i", "--inputs"], "description": "Input raster files.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "weights": {"name": "Weight Values (e.g. 1.7;3.5;1.2)", "flags": ["-w", "--weights"], "description": "Weight values, contained in quotes and separated by commas or semicolons.", "parameter_type": "String", "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "WetnessIndex": {"name": "WetnessIndex", "tool_name": "wetness_index", "category": "Geomorphometric Analysis", "label": "Wetness Index", "description": "Calculates the topographic wetness index, Ln(A / tan(slope)).", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/wetness_index.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#WetnessIndex", "parameters": {"sca": {"name": "Input Specific Contributing Area (SCA) File", "flags": ["--sca"], "description": "Input raster specific contributing area (SCA) file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "slope": {"name": "Input Slope File", "flags": ["--slope"], "description": "Input raster slope file (in degrees).", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "WilcoxonSignedRankTest": {"name": "WilcoxonSignedRankTest", "tool_name": "wilcoxon_signed_rank_test", "category": "Math and Stats Tools", "label": "Wilcoxon Signed Rank Test", "description": "Performs a 2-sample K-S test for significant differences on two input rasters.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/wilcoxon_signed_rank_test.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#WilcoxonSignedRankTest", "parameters": {"input1": {"name": "First Input File", "flags": ["--input1"], "description": "First input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "input2": {"name": "Second Input File", "flags": ["--input2"], "description": "Second input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output HTML file.", "parameter_type": {"NewFile": "Html"}, "default_value": null, "optional": false}, "num_samples": {"name": "Num. Samples (blank for while image)", "flags": ["--num_samples"], "description": "Number of samples. Leave blank to use whole image.", "parameter_type": "Integer", "default_value": null, "optional": true}}}, "WriteFunctionMemoryInsertion": {"name": "WriteFunctionMemoryInsertion", "tool_name": "write_function_memory_insertion", "category": "Image Processing Tools", "label": "Write Function Memory Insertion", "description": "Performs a write function memory insertion for single-band multi-date change detection.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/write_func_memory_insertion.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#WriteFunctionMemoryInsertion", "parameters": {"input1": {"name": "First Date Input File", "flags": ["--i1", "--input1"], "description": "Input raster file associated with the first date.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "input2": {"name": "Second Date Input File", "flags": ["--i2", "--input2"], "description": "Input raster file associated with the second date.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "input3": {"name": "Third Date Input File (Optional)", "flags": ["--i3", "--input3"], "description": "Optional input raster file associated with the third date.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": true}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "Xor": {"name": "Xor", "tool_name": "xor", "category": "Math and Stats Tools", "label": "Xor", "description": "Performs a logical XOR operator on two Boolean raster images.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/xor.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#Xor", "parameters": {"input1": {"name": "Input File", "flags": ["--input1"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "input2": {"name": "Input File", "flags": ["--input2"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "YieldFilter": {"name": "YieldFilter", "tool_name": "yield_filter", "category": "Precision Agriculture", "label": "Yield Filter", "description": "Filters crop yield values of point data derived from combine harvester yield monitors.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/precision_agriculture.html#YieldFilter", "parameters": {"i": {"name": "Input Points", "flags": ["-i", "--input"], "description": "Name of the input points shapefile.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "yield_field": {"name": "Yield Field Name", "flags": ["-y", "--yield_field"], "description": "Name of the attribute containing yield data.", "parameter_type": {"VectorAttributeField": ["Any", "--input"]}, "default_value": null, "optional": false}, "pass_field": {"name": "Pass Field Name", "flags": ["-p", "--pass_field"], "description": "Name of the attribute containing pass line ID.", "parameter_type": {"VectorAttributeField": ["Any", "--input"]}, "default_value": null, "optional": false}, "output": {"name": "Output Points", "flags": ["-o", "--output"], "description": "Name of the output points shapefile.", "parameter_type": {"NewFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "width": {"name": "Swath Width", "flags": ["-w", "--width"], "description": "Pass swath width (m).", "parameter_type": "Float", "default_value": "6.096", "optional": true}, "z_score_threshold": {"name": "Z-score Threshold Value", "flags": ["-z", "--z_score_threshold"], "description": "Z-score threshold value (default=2.5).", "parameter_type": "Float", "default_value": "2.5", "optional": true}, "min_yield": {"name": "Minimum Yield", "flags": ["--min_yield"], "description": "Minimum yield value in output.", "parameter_type": "Float", "default_value": "0.0", "optional": true}, "max_yield": {"name": "Maximum Yield", "flags": ["--max_yield"], "description": "Maximum yield value in output.", "parameter_type": "Float", "default_value": "99999.9", "optional": true}}}, "YieldMap": {"name": "YieldMap", "tool_name": "yield_map", "category": "Precision Agriculture", "label": "Yield Map", "description": "This tool can be used to create a segmented-vector polygon yield map from a set of harvester points.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/precision_agriculture.html#YieldMap", "parameters": {"i": {"name": "Input Points", "flags": ["-i", "--input"], "description": "Name of the input points shapefile.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "pass_field_name": {"name": "Pass Field Name", "flags": ["-p", "--pass_field_name"], "description": "Name of the attribute containing pass line ID.", "parameter_type": {"VectorAttributeField": ["Any", "--input"]}, "default_value": null, "optional": false}, "output": {"name": "Output Vector Polygons", "flags": ["-o", "--output"], "description": "Name of the output polygon shapefile.", "parameter_type": {"NewFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}, "width": {"name": "Swath Width", "flags": ["-w", "--width"], "description": "Pass swath width (m).", "parameter_type": "Float", "default_value": "6.096", "optional": true}, "max_change_in_heading": {"name": "Max Change In Heading (degrees)", "flags": ["-m", "--max_change_in_heading"], "description": "Max change in heading.", "parameter_type": "Float", "default_value": "25.0", "optional": true}}}, "YieldNormalization": {"name": "YieldNormalization", "tool_name": "yield_normalization", "category": "Precision Agriculture", "label": "Yield Normalization", "description": "This tool can be used to normalize the yield points for a field.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/precision_agriculture.html#YieldNormalization", "parameters": {"i": {"name": "Input Points", "flags": ["-i", "--input"], "description": "Name of the input points shapefile.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "yield_field": {"name": "Yield Field Name", "flags": ["-y", "--yield_field"], "description": "Name of the attribute containing yield data.", "parameter_type": {"VectorAttributeField": ["Any", "--input"]}, "default_value": null, "optional": false}, "output": {"name": "Output Points", "flags": ["-o", "--output"], "description": "Name of the output points shapefile.", "parameter_type": {"NewFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "standardize": {"name": "Standardize rather than normalize?", "flags": ["--standardize"], "description": "Should the yield values be standardized (converted to z-scores) rather than normalized?", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "radius": {"name": "Search Radius (m)", "flags": ["--radius"], "description": "Optional search radius, in metres. Only specify this value if you want to calculate locally normalized yield.", "parameter_type": "Float", "default_value": null, "optional": true}, "min_yield": {"name": "Minimum Yield", "flags": ["--min_yield"], "description": "Minimum yield value in output.", "parameter_type": "Float", "default_value": "0.0", "optional": true}, "max_yield": {"name": "Maximum Yield", "flags": ["--max_yield"], "description": "Maximum yield value in output.", "parameter_type": "Float", "default_value": "99999.9", "optional": true}}}, "ZScores": {"name": "ZScores", "tool_name": "z_scores", "category": "Math and Stats Tools", "label": "Z Scores", "description": "Standardizes the values in an input raster by converting to z-scores.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/zscores.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#ZScores", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "ZlidarToLas": {"name": "ZlidarToLas", "tool_name": "zlidar_to_las", "category": "LiDAR Tools", "label": "Zlidar To Las", "description": "Converts one or more zlidar files into the LAS data format.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/lidar_analysis/zlidar_to_las.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#ZlidarToLas", "parameters": {"inputs": {"name": "Input ZLidar Files", "flags": ["-i", "--inputs"], "description": "Input ZLidar files.", "parameter_type": {"FileList": "Lidar"}, "default_value": null, "optional": true}, "outdir": {"name": "Output Directory", "flags": ["--outdir"], "description": "Output directory into which zlidar files are created. If unspecified, it is assumed to be the same as the inputs.", "parameter_type": "Directory", "default_value": null, "optional": true}}}, "ZonalStatistics": {"name": "ZonalStatistics", "tool_name": "zonal_statistics", "category": "Math and Stats Tools", "label": "Zonal Statistics", "description": "Extracts descriptive statistics for a group of patches in a raster.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/zonal_statistics.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#ZonalStatistics", "parameters": {"i": {"name": "Input Data File", "flags": ["-i", "--input"], "description": "Input data raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "features": {"name": "Input Feature Definition File", "flags": ["--features"], "description": "Input feature definition raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": true}, "stat": {"name": "Statistic Type", "flags": ["--stat"], "description": "Statistic to extract, including 'mean', 'median', 'minimum', 'maximum', 'range', 'standard deviation', and 'total'.", "parameter_type": {"OptionList": ["mean", "median", "minimum", "maximum", "range", "standard deviation", "total"]}, "default_value": "mean", "optional": true}, "out_table": {"name": "Output HTML Table File", "flags": ["--out_table"], "description": "Output HTML Table file.", "parameter_type": {"NewFile": "Html"}, "default_value": null, "optional": true}}}} \ No newline at end of file +{"AbsoluteValue": {"name": "AbsoluteValue", "tool_name": "absolute_value", "category": "Math and Stats Tools", "label": "Absolute Value", "description": "Calculates the absolute value of every cell in a raster.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/abs.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#AbsoluteValue", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "AccumulationCurvature": {"name": "AccumulationCurvature", "tool_name": "accumulation_curvature", "category": "Geomorphometric Analysis", "label": "Accumulation Curvature", "description": "This tool calculates accumulation curvature from an input DEM.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#AccumulationCurvature", "parameters": {"dem": {"name": "Input Raster DEM", "flags": ["-i", "--dem"], "description": "Name of the input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster Image", "flags": ["-o", "--output"], "description": "Name of the output raster image file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "log": {"name": "Log-transform the output?", "flags": ["--log"], "description": "Display output values using a log-scale.", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "zfactor": {"name": "Z-factor", "flags": ["--zfactor"], "description": "Z conversion factor.", "parameter_type": "Float", "default_value": "1.0", "optional": true}}}, "AdaptiveFilter": {"name": "AdaptiveFilter", "tool_name": "adaptive_filter", "category": "Image Processing Tools", "label": "Adaptive Filter", "description": "Performs an adaptive filter on an image.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/adaptive_filter.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#AdaptiveFilter", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "filterx": {"name": "Filter X-Dimension", "flags": ["--filterx"], "description": "Size of the filter kernel in the x-direction.", "parameter_type": "Integer", "default_value": "11", "optional": true}, "filtery": {"name": "Filter Y-Dimension", "flags": ["--filtery"], "description": "Size of the filter kernel in the y-direction.", "parameter_type": "Integer", "default_value": "11", "optional": true}, "threshold": {"name": "Difference From Mean Threshold (# Std. Dev.)", "flags": ["--threshold"], "description": "Difference from mean threshold, in standard deviations.", "parameter_type": "Float", "default_value": "2.0", "optional": true}}}, "Add": {"name": "Add", "tool_name": "add", "category": "Math and Stats Tools", "label": "Add", "description": "Performs an addition operation on two rasters or a raster and a constant value.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/add.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#Add", "parameters": {"input1": {"name": "Input File Or Constant Value", "flags": ["--input1"], "description": "Input raster file or constant value.", "parameter_type": {"ExistingFileOrFloat": "Raster"}, "default_value": null, "optional": false}, "input2": {"name": "Input File Or Constant Value", "flags": ["--input2"], "description": "Input raster file or constant value.", "parameter_type": {"ExistingFileOrFloat": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "AddPointCoordinatesToTable": {"name": "AddPointCoordinatesToTable", "tool_name": "add_point_coordinates_to_table", "category": "Data Tools", "label": "Add Point Coordinates To Table", "description": "Modifies the attribute table of a point vector by adding fields containing each point's X and Y coordinates.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/data_tools/add_point_coordinates_to_table.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/data_tools.html#AddPointCoordinatesToTable", "parameters": {"i": {"name": "Input Vector Points File", "flags": ["-i", "--input"], "description": "Input vector Points file.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}}}, "AggregateRaster": {"name": "AggregateRaster", "tool_name": "aggregate_raster", "category": "GIS Analysis", "label": "Aggregate Raster", "description": "Aggregates a raster to a lower resolution.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/aggregate_raster.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#AggregateRaster", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "agg_factor": {"name": "Aggregation Factor (pixels)", "flags": ["--agg_factor"], "description": "Aggregation factor, in pixels.", "parameter_type": "Integer", "default_value": "2", "optional": true}, "type": {"name": "Aggregation Type", "flags": ["--type"], "description": "Statistic used to fill output pixels.", "parameter_type": {"OptionList": ["mean", "sum", "maximum", "minimum", "range"]}, "default_value": "mean", "optional": true}}}, "And": {"name": "And", "tool_name": "and", "category": "Math and Stats Tools", "label": "And", "description": "Performs a logical AND operator on two Boolean raster images.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/and.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#And", "parameters": {"input1": {"name": "Input File", "flags": ["--input1"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "input2": {"name": "Input File", "flags": ["--input2"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "Anova": {"name": "Anova", "tool_name": "anova", "category": "Math and Stats Tools", "label": "Anova", "description": "Performs an analysis of variance (ANOVA) test on a raster dataset.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/anova.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#Anova", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "features": {"name": "Feature Definition (Class) File", "flags": ["--features"], "description": "Feature definition (or class) raster.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output HTML File", "flags": ["-o", "--output"], "description": "Output HTML file.", "parameter_type": {"NewFile": "Html"}, "default_value": null, "optional": false}}}, "ArcCos": {"name": "ArcCos", "tool_name": "arc_cos", "category": "Math and Stats Tools", "label": "Arc Cos", "description": "Returns the inverse cosine (arccos) of each values in a raster.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/arccos.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#ArcCos", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "ArcSin": {"name": "ArcSin", "tool_name": "arc_sin", "category": "Math and Stats Tools", "label": "Arc Sin", "description": "Returns the inverse sine (arcsin) of each values in a raster.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/arcsin.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#ArcSin", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "ArcTan": {"name": "ArcTan", "tool_name": "arc_tan", "category": "Math and Stats Tools", "label": "Arc Tan", "description": "Returns the inverse tangent (arctan) of each values in a raster.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/arctan.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#ArcTan", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "Arcosh": {"name": "Arcosh", "tool_name": "arcosh", "category": "Math and Stats Tools", "label": "Arcosh", "description": "Returns the inverse hyperbolic cosine (arcosh) of each values in a raster.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/arcosh.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#Arcosh", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "Arsinh": {"name": "Arsinh", "tool_name": "arsinh", "category": "Math and Stats Tools", "label": "Arsinh", "description": "Returns the inverse hyperbolic sine (arsinh) of each values in a raster.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/arsinh.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#Arsinh", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "Artanh": {"name": "Artanh", "tool_name": "artanh", "category": "Math and Stats Tools", "label": "Artanh", "description": "Returns the inverse hyperbolic tangent (arctanh) of each values in a raster.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/artanh.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#Artanh", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "AsciiToLas": {"name": "AsciiToLas", "tool_name": "ascii_to_las", "category": "LiDAR Tools", "label": "Ascii To Las", "description": "Converts one or more ASCII files containing LiDAR points into LAS files.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/lidar_analysis/ascii_to_las.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#AsciiToLas", "parameters": {"inputs": {"name": "Input LiDAR point ASCII Files (.csv)", "flags": ["-i", "--inputs"], "description": "Input LiDAR ASCII files (.csv).", "parameter_type": {"FileList": "Csv"}, "default_value": null, "optional": false}, "pattern": {"name": "Pattern", "flags": ["--pattern"], "description": "Input field pattern.", "parameter_type": "String", "default_value": null, "optional": false}, "proj": {"name": "Well-known-text (WKT) string or EPSG code", "flags": ["--proj"], "description": "Well-known-text string or EPSG code describing projection.", "parameter_type": "String", "default_value": null, "optional": true}}}, "Aspect": {"name": "Aspect", "tool_name": "aspect", "category": "Geomorphometric Analysis", "label": "Aspect", "description": "Calculates an aspect raster from an input DEM.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/aspect.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#Aspect", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "zfactor": {"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}}}, "AssessRoute": {"name": "AssessRoute", "tool_name": "assess_route", "category": "Geomorphometric Analysis", "label": "Assess Route", "description": "This tool assesses a route for slope, elevation, and visibility variation.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#AssessRoute", "parameters": {"routes": {"name": "Input Routes Vector", "flags": ["--routes"], "description": "Name of the input routes vector file.", "parameter_type": {"ExistingFile": {"Vector": "Line"}}, "default_value": null, "optional": false}, "dem": {"name": "Input DEM Raster", "flags": ["--dem"], "description": "Name of the input DEM raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Lines", "flags": ["-o", "--output"], "description": "Name of the output lines shapefile.", "parameter_type": {"NewFile": {"Vector": "Line"}}, "default_value": null, "optional": false}, "length": {"name": "Max Segment Length", "flags": ["--length"], "description": "Maximum segment length (m).", "parameter_type": "Float", "default_value": "", "optional": true}, "dist": {"name": "Search Distance (grid cells)", "flags": ["--dist"], "description": "Search distance, in grid cells, used in visibility analysis.", "parameter_type": "Integer", "default_value": "20", "optional": true}}}, "Atan2": {"name": "Atan2", "tool_name": "atan2", "category": "Math and Stats Tools", "label": "Atan2", "description": "Returns the 2-argument inverse tangent (atan2).", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/atan2.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#Atan2", "parameters": {"input_y": {"name": "Input Y File Or Constant Value", "flags": ["--input_y"], "description": "Input y raster file or constant value (rise).", "parameter_type": {"ExistingFileOrFloat": "Raster"}, "default_value": null, "optional": false}, "input_x": {"name": "Input X File Or Constant Value", "flags": ["--input_x"], "description": "Input x raster file or constant value (run).", "parameter_type": {"ExistingFileOrFloat": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "AttributeCorrelation": {"name": "AttributeCorrelation", "tool_name": "attribute_correlation", "category": "Math and Stats Tools", "label": "Attribute Correlation", "description": "Performs a correlation analysis on attribute fields from a vector database.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/attribute_correlation.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#AttributeCorrelation", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input vector file.", "parameter_type": {"ExistingFile": {"Vector": "Any"}}, "default_value": null, "optional": false}, "output": {"name": "Output HTML File", "flags": ["-o", "--output"], "description": "Output HTML file (default name will be based on input file if unspecified).", "parameter_type": {"NewFile": "Html"}, "default_value": null, "optional": true}}}, "AttributeCorrelationNeighbourhoodAnalysis": {"name": "AttributeCorrelationNeighbourhoodAnalysis", "tool_name": "attribute_correlation_neighbourhood_analysis", "category": "Math and Stats Tools", "label": "Attribute Correlation Neighbourhood Analysis", "description": "Performs a correlation on two input vector attributes within a neighbourhood search windows.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/attribute_correlation_neighbourhood_analysis.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#AttributeCorrelationNeighbourhoodAnalysis", "parameters": {"i": {"name": "Input Vector File", "flags": ["-i", "--input"], "description": "Input vector file.", "parameter_type": {"ExistingFile": {"Vector": "Any"}}, "default_value": null, "optional": false}, "field1": {"name": "Field Name 1", "flags": ["--field1"], "description": "First input field name (dependent variable) in attribute table.", "parameter_type": {"VectorAttributeField": ["Number", "--input"]}, "default_value": null, "optional": false}, "field2": {"name": "Field Name 2", "flags": ["--field2"], "description": "Second input field name (independent variable) in attribute table.", "parameter_type": {"VectorAttributeField": ["Number", "--input"]}, "default_value": null, "optional": false}, "radius": {"name": "Search Radius (map units)", "flags": ["--radius"], "description": "Search Radius (in map units).", "parameter_type": "Float", "default_value": null, "optional": true}, "min_points": {"name": "Min. Number of Points", "flags": ["--min_points"], "description": "Minimum number of points.", "parameter_type": "Integer", "default_value": null, "optional": true}, "stat": {"name": "Correlation Statistic Type", "flags": ["--stat"], "description": "Correlation type; one of 'pearson' (default) and 'spearman'.", "parameter_type": {"OptionList": ["pearson", "kendall", "spearman"]}, "default_value": "pearson", "optional": true}}}, "AttributeHistogram": {"name": "AttributeHistogram", "tool_name": "attribute_histogram", "category": "Math and Stats Tools", "label": "Attribute Histogram", "description": "Creates a histogram for the field values of a vector's attribute table.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/attribute_histogram.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#AttributeHistogram", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input vector file.", "parameter_type": {"ExistingFile": {"Vector": "Any"}}, "default_value": null, "optional": false}, "field": {"name": "Field Name", "flags": ["--field"], "description": "Input field name in attribute table.", "parameter_type": {"VectorAttributeField": ["Number", "--input"]}, "default_value": null, "optional": false}, "output": {"name": "Output HTML File", "flags": ["-o", "--output"], "description": "Output HTML file (default name will be based on input file if unspecified).", "parameter_type": {"NewFile": "Html"}, "default_value": null, "optional": false}}}, "AttributeScattergram": {"name": "AttributeScattergram", "tool_name": "attribute_scattergram", "category": "Math and Stats Tools", "label": "Attribute Scattergram", "description": "Creates a scattergram for two field values of a vector's attribute table.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/attribute_scattergram.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#AttributeScattergram", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": {"Vector": "Any"}}, "default_value": null, "optional": false}, "fieldx": {"name": "Field Name X", "flags": ["--fieldx"], "description": "Input field name in attribute table for the x-axis.", "parameter_type": {"VectorAttributeField": ["Number", "--input"]}, "default_value": null, "optional": false}, "fieldy": {"name": "Field Name Y", "flags": ["--fieldy"], "description": "Input field name in attribute table for the y-axis.", "parameter_type": {"VectorAttributeField": ["Number", "--input"]}, "default_value": null, "optional": false}, "output": {"name": "Output HTML File", "flags": ["-o", "--output"], "description": "Output HTML file (default name will be based on input file if unspecified).", "parameter_type": {"NewFile": "Html"}, "default_value": null, "optional": false}, "trendline": {"name": "Draw the trendline?", "flags": ["--trendline"], "description": "Draw the trendline.", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "AverageFlowpathSlope": {"name": "AverageFlowpathSlope", "tool_name": "average_flowpath_slope", "category": "Hydrological Analysis", "label": "Average Flowpath Slope", "description": "Measures the average slope gradient from each grid cell to all upslope divide cells.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/average_flowpath_slope.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#AverageFlowpathSlope", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "AverageHorizonDistance": {"name": "AverageHorizonDistance", "tool_name": "average_horizon_distance", "category": "Geomorphometric Analysis", "label": "Average Horizon Distance", "description": "This tool calculates accumulation curvature from an input DEM.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#AverageHorizonDistance", "parameters": {"dem": {"name": "Input Raster DEM", "flags": ["-i", "--dem"], "description": "Name of the input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster Image", "flags": ["-o", "--output"], "description": "Name of the output raster image file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "az_fraction": {"name": "Azimuth Fraction", "flags": ["--az_fraction"], "description": "Azimuth fraction.", "parameter_type": "Float", "default_value": "5.0", "optional": true}, "max_dist": {"name": "Maximum Distance", "flags": ["--max_dist"], "description": "Maximum distance (xy units).", "parameter_type": "Float", "default_value": "9999.0", "optional": true}, "observer_hgt_offset": {"name": "Oberserver Height Offset", "flags": ["--observer_hgt_offset"], "description": "Oberserver height offset (z units).", "parameter_type": "Float", "default_value": "0.05", "optional": true}}}, "AverageNormalVectorAngularDeviation": {"name": "AverageNormalVectorAngularDeviation", "tool_name": "average_normal_vector_angular_deviation", "category": "Geomorphometric Analysis", "label": "Average Normal Vector Angular Deviation", "description": "Calculates the circular variance of aspect at a scale for a DEM.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/average_normal_vector_angular_deviation.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#AverageNormalVectorAngularDeviation", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster File", "flags": ["--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "filter": {"name": "Filter Dimension", "flags": ["--filter"], "description": "Size of the filter kernel.", "parameter_type": "Integer", "default_value": "11", "optional": true}}}, "AverageOverlay": {"name": "AverageOverlay", "tool_name": "average_overlay", "category": "GIS Analysis", "label": "Average Overlay", "description": "Calculates the average for each grid cell from a group of raster images.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/average_overlay.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#AverageOverlay", "parameters": {"inputs": {"name": "Input Files", "flags": ["-i", "--inputs"], "description": "Input raster files.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "AverageUpslopeFlowpathLength": {"name": "AverageUpslopeFlowpathLength", "tool_name": "average_upslope_flowpath_length", "category": "Hydrological Analysis", "label": "Average Upslope Flowpath Length", "description": "Measures the average length of all upslope flowpaths draining each grid cell.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/average_upslope_flowpath_length.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#AverageUpslopeFlowpathLength", "parameters": {"dem": {"name": "Input File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "BalanceContrastEnhancement": {"name": "BalanceContrastEnhancement", "tool_name": "balance_contrast_enhancement", "category": "Image Processing Tools", "label": "Balance Contrast Enhancement", "description": "Performs a balance contrast enhancement on a colour-composite image of multispectral data.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/balance_contrast_enhancement.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#BalanceContrastEnhancement", "parameters": {"i": {"name": "Input Colour Composite Image File", "flags": ["-i", "--input"], "description": "Input colour composite image file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "band_mean": {"name": "Band Mean Value", "flags": ["--band_mean"], "description": "Band mean value.", "parameter_type": "Float", "default_value": "100.0", "optional": true}}}, "Basins": {"name": "Basins", "tool_name": "basins", "category": "Hydrological Analysis", "label": "Basins", "description": "Identifies drainage basins that drain to the DEM edge.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/basins.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#Basins", "parameters": {"d8_pntr": {"name": "Input D8 Pointer File", "flags": ["--d8_pntr"], "description": "Input raster D8 pointer file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "esri_pntr": {"name": "Does the pointer file use the ESRI pointer scheme?", "flags": ["--esri_pntr"], "description": "D8 pointer uses the ESRI style scheme.", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "BilateralFilter": {"name": "BilateralFilter", "tool_name": "bilateral_filter", "category": "Image Processing Tools", "label": "Bilateral Filter", "description": "A bilateral filter is an edge-preserving smoothing filter introduced by Tomasi and Manduchi (1998).", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/bilateral_filter.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#BilateralFilter", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "sigma_dist": {"name": "Distance Standard Deviation (pixels)", "flags": ["--sigma_dist"], "description": "Standard deviation in distance in pixels.", "parameter_type": "Float", "default_value": "0.75", "optional": true}, "sigma_int": {"name": "Intensity Standard Deviation (intensity units)", "flags": ["--sigma_int"], "description": "Standard deviation in intensity in pixels.", "parameter_type": "Float", "default_value": "1.0", "optional": true}}}, "BlockMaximumGridding": {"name": "BlockMaximumGridding", "tool_name": "block_maximum_gridding", "category": "GIS Analysis", "label": "Block Maximum Gridding", "description": "Creates a raster grid based on a set of vector points and assigns grid values using a block maximum scheme.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/block_maximum.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#BlockMaximumGridding", "parameters": {"i": {"name": "Input Vector Points File", "flags": ["-i", "--input"], "description": "Input vector Points file.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "field": {"name": "Field Name", "flags": ["--field"], "description": "Input field name in attribute table.", "parameter_type": {"VectorAttributeField": ["Number", "--input"]}, "default_value": null, "optional": false}, "use_z": {"name": "Use z-coordinate instead of field?", "flags": ["--use_z"], "description": "Use z-coordinate instead of field?", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "cell_size": {"name": "Cell Size (optional)", "flags": ["--cell_size"], "description": "Optionally specified cell size of output raster. Not used when base raster is specified.", "parameter_type": "Float", "default_value": null, "optional": true}, "base": {"name": "Base Raster File (optional)", "flags": ["--base"], "description": "Optionally specified input base raster file. Not used when a cell size is specified.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": true}}}, "BlockMinimumGridding": {"name": "BlockMinimumGridding", "tool_name": "block_minimum_gridding", "category": "GIS Analysis", "label": "Block Minimum Gridding", "description": "Creates a raster grid based on a set of vector points and assigns grid values using a block minimum scheme.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/block_minimum.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#BlockMinimumGridding", "parameters": {"i": {"name": "Input Vector Points File", "flags": ["-i", "--input"], "description": "Input vector Points file.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "field": {"name": "Field Name", "flags": ["--field"], "description": "Input field name in attribute table.", "parameter_type": {"VectorAttributeField": ["Number", "--input"]}, "default_value": null, "optional": false}, "use_z": {"name": "Use z-coordinate instead of field?", "flags": ["--use_z"], "description": "Use z-coordinate instead of field?", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "cell_size": {"name": "Cell Size (optional)", "flags": ["--cell_size"], "description": "Optionally specified cell size of output raster. Not used when base raster is specified.", "parameter_type": "Float", "default_value": null, "optional": true}, "base": {"name": "Base Raster File (optional)", "flags": ["--base"], "description": "Optionally specified input base raster file. Not used when a cell size is specified.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": true}}}, "BoundaryShapeComplexity": {"name": "BoundaryShapeComplexity", "tool_name": "boundary_shape_complexity", "category": "GIS Analysis", "label": "Boundary Shape Complexity", "description": "Calculates the complexity of the boundaries of raster polygons.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/boundary_shape_complexity.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#BoundaryShapeComplexity", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "BreachDepressions": {"name": "BreachDepressions", "tool_name": "breach_depressions", "category": "Hydrological Analysis", "label": "Breach Depressions", "description": "Breaches all of the depressions in a DEM using Lindsay's (2016) algorithm. This should be preferred over depression filling in most cases.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/breach_depressions.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#BreachDepressions", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "max_depth": {"name": "Maximum Breach Depth (z units)", "flags": ["--max_depth"], "description": "Optional maximum breach depth (default is Inf).", "parameter_type": "Float", "default_value": null, "optional": true}, "max_length": {"name": "Maximum Breach Channel Length (grid cells)", "flags": ["--max_length"], "description": "Optional maximum breach channel length (in grid cells; default is Inf).", "parameter_type": "Float", "default_value": null, "optional": true}, "flat_increment": {"name": "Flat increment value (z units)", "flags": ["--flat_increment"], "description": "Optional elevation increment applied to flat areas.", "parameter_type": "Float", "default_value": null, "optional": true}, "fill_pits": {"name": "Fill single-cell pits?", "flags": ["--fill_pits"], "description": "Optional flag indicating whether to fill single-cell pits.", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "BreachDepressionsLeastCost": {"name": "BreachDepressionsLeastCost", "tool_name": "breach_depressions_least_cost", "category": "Hydrological Analysis", "label": "Breach Depressions Least Cost", "description": "Breaches the depressions in a DEM using a least-cost pathway method.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/breach_depressions_least_cost.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#BreachDepressionsLeastCost", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "dist": {"name": "Maximum Search Distance (cells)", "flags": ["--dist"], "description": "Maximum search distance for breach paths in cells.", "parameter_type": "Integer", "default_value": null, "optional": false}, "max_cost": {"name": "Maximum Breach Cost (z units)", "flags": ["--max_cost"], "description": "Optional maximum breach cost (default is Inf).", "parameter_type": "Float", "default_value": null, "optional": true}, "min_dist": {"name": "Minimize breach distances?", "flags": ["--min_dist"], "description": "Optional flag indicating whether to minimize breach distances.", "parameter_type": "Boolean", "default_value": "true", "optional": true}, "flat_increment": {"name": "Flat increment value (z units)", "flags": ["--flat_increment"], "description": "Optional elevation increment applied to flat areas.", "parameter_type": "Float", "default_value": null, "optional": true}, "fill": {"name": "Fill unbreached depressions?", "flags": ["--fill"], "description": "Optional flag indicating whether to fill any remaining unbreached depressions.", "parameter_type": "Boolean", "default_value": "true", "optional": true}}}, "BreachSingleCellPits": {"name": "BreachSingleCellPits", "tool_name": "breach_single_cell_pits", "category": "Hydrological Analysis", "label": "Breach Single Cell Pits", "description": "Removes single-cell pits from an input DEM by breaching.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/breach_pits.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#BreachSingleCellPits", "parameters": {"dem": {"name": "Input File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "BreaklineMapping": {"name": "BreaklineMapping", "tool_name": "breakline_mapping", "category": "Geomorphometric Analysis", "label": "Breakline Mapping", "description": "This tool maps breaklines from an input DEM.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#BreaklineMapping", "parameters": {"dem": {"name": "Input Raster DEM", "flags": ["-i", "--input", "--dem"], "description": "Name of the input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Vector Lines File", "flags": ["-o", "--output"], "description": "Name of the output vector lines file.", "parameter_type": {"NewFile": {"Vector": "Line"}}, "default_value": null, "optional": false}, "threshold": {"name": "Threshold Value", "flags": ["--threshold"], "description": "Threshold value (0 - infinity but typcially 1 to 5 works well).", "parameter_type": "Float", "default_value": "2.0", "optional": true}, "min_length": {"name": "Min. Line Length (In Grid Cells)", "flags": ["--min_length"], "description": "Minimum line length, in grid cells.", "parameter_type": "Integer", "default_value": "3", "optional": true}}}, "BufferRaster": {"name": "BufferRaster", "tool_name": "buffer_raster", "category": "GIS Analysis", "label": "Buffer Raster", "description": "Maps a distance-based buffer around each non-background (non-zero/non-nodata) grid cell in an input image.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/buffer_raster.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#BufferRaster", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "size": {"name": "Buffer Size", "flags": ["--size"], "description": "Buffer size.", "parameter_type": "Float", "default_value": null, "optional": false}, "gridcells": {"name": "Buffer size measured in grid cells?", "flags": ["--gridcells"], "description": "Optional flag to indicate that the 'size' threshold should be measured in grid cells instead of the default map units.", "parameter_type": "Boolean", "default_value": null, "optional": true}}}, "BurnStreamsAtRoads": {"name": "BurnStreamsAtRoads", "tool_name": "burn_streams_at_roads", "category": "Hydrological Analysis", "label": "Burn Streams At Roads", "description": "Burns-in streams at the sites of road embankments.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/burn_streams_at_roads.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#BurnStreamsAtRoads", "parameters": {"dem": {"name": "Input DEM File", "flags": ["--dem"], "description": "Input raster digital elevation model (DEM) file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "streams": {"name": "Input Vector Streams File", "flags": ["--streams"], "description": "Input vector streams file.", "parameter_type": {"ExistingFile": {"Vector": "Line"}}, "default_value": null, "optional": false}, "roads": {"name": "Input Vector Roads File", "flags": ["--roads"], "description": "Input vector roads file.", "parameter_type": {"ExistingFile": {"Vector": "Line"}}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "width": {"name": "Road Embankment Width", "flags": ["--width"], "description": "Maximum road embankment width, in map units", "parameter_type": "Float", "default_value": null, "optional": true}}}, "CannyEdgeDetection": {"name": "CannyEdgeDetection", "tool_name": "canny_edge_detection", "category": "Image Processing Tools", "label": "Canny Edge Detection", "description": "This tool performs a Canny edge-detection filter on an input image.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools/filters.html#CannyEdgeDetection", "parameters": {"i": {"name": "Input Raster Image", "flags": ["-i", "--input"], "description": "Name of the input raster image file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster Image", "flags": ["-o", "--output"], "description": "Name of the output raster image file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "sigma": {"name": "Sigma Value", "flags": ["-s", "--sigma"], "description": "Sigma value used in Gaussian filtering, default = 0.5", "parameter_type": "Float", "default_value": "0.5", "optional": true}, "low": {"name": "Low Threshold", "flags": ["-l", "--low"], "description": "Low threshold, default = 0.05", "parameter_type": "Float", "default_value": "0.05", "optional": true}, "high": {"name": "High Threshold", "flags": ["-h", "--high"], "description": "High threshold, default = 0.15", "parameter_type": "Float", "default_value": "0.15", "optional": true}, "add_back": {"name": "Add edge back to the image?", "flags": ["-a", "--add_back"], "description": "Add the edge cells back to the input image", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "Ceil": {"name": "Ceil", "tool_name": "ceil", "category": "Math and Stats Tools", "label": "Ceil", "description": "Returns the smallest (closest to negative infinity) value that is greater than or equal to the values in a raster.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/ceil.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#Ceil", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "Centroid": {"name": "Centroid", "tool_name": "centroid", "category": "GIS Analysis", "label": "Centroid", "description": "Calculates the centroid, or average location, of raster polygon objects.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/centroid.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#Centroid", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "text_output": {"name": "Output text?", "flags": ["--text_output"], "description": "Optional text output.", "parameter_type": "Boolean", "default_value": null, "optional": false}}}, "CentroidVector": {"name": "CentroidVector", "tool_name": "centroid_vector", "category": "GIS Analysis", "label": "Centroid Vector", "description": "Identifies the centroid point of a vector polyline or polygon feature or a group of vector points.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/centroid_vector.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#CentroidVector", "parameters": {"i": {"name": "Input Vector File", "flags": ["-i", "--input"], "description": "Input vector file.", "parameter_type": {"ExistingFile": {"Vector": "Any"}}, "default_value": null, "optional": false}, "output": {"name": "Output Vector File", "flags": ["-o", "--output"], "description": "Output vector file.", "parameter_type": {"NewFile": {"Vector": "Any"}}, "default_value": null, "optional": false}}}, "ChangeVectorAnalysis": {"name": "ChangeVectorAnalysis", "tool_name": "change_vector_analysis", "category": "Image Processing Tools", "label": "Change Vector Analysis", "description": "Performs a change vector analysis on a two-date multi-spectral dataset.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/change_vector_analysis.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#ChangeVectorAnalysis", "parameters": {"date1": {"name": "Earlier Date Input Files", "flags": ["--date1"], "description": "Input raster files for the earlier date.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "date2": {"name": "Later Date Input Files", "flags": ["--date2"], "description": "Input raster files for the later date.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "magnitude": {"name": "Output Vector Magnitude File", "flags": ["--magnitude"], "description": "Output vector magnitude raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "direction": {"name": "Output Vector Direction File", "flags": ["--direction"], "description": "Output vector Direction raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "CircularVarianceOfAspect": {"name": "CircularVarianceOfAspect", "tool_name": "circular_variance_of_aspect", "category": "Geomorphometric Analysis", "label": "Circular Variance Of Aspect", "description": "Calculates the circular variance of aspect at a scale for a DEM.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/circular_variance_of_aspect.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#CircularVarianceOfAspect", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster File", "flags": ["--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "filter": {"name": "Filter Dimension", "flags": ["--filter"], "description": "Size of the filter kernel.", "parameter_type": "Integer", "default_value": "11", "optional": true}}}, "ClassifyBuildingsInLidar": {"name": "ClassifyBuildingsInLidar", "tool_name": "classify_buildings_in_lidar", "category": "LiDAR Tools", "label": "Classify Buildings In Lidar", "description": "Reclassifies a LiDAR points that lie within vector building footprints.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/lidar_analysis/classify_buildings.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#ClassifyBuildingsInLidar", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input LiDAR file.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": false}, "buildings": {"name": "Input Building Polygon File", "flags": ["--buildings"], "description": "Input vector polygons file.", "parameter_type": {"ExistingFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output LiDAR file.", "parameter_type": {"NewFile": "Lidar"}, "default_value": null, "optional": false}}}, "ClassifyLidar": {"name": "ClassifyLidar", "tool_name": "classify_lidar", "category": "LiDAR Tools", "label": "Classify Lidar", "description": "Classify points within a LiDAR point cloud based on point properties.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#ClassifyLidar", "parameters": {"i": {"name": "Input LiDAR Points", "flags": ["-i", "--input"], "description": "Name of the input LiDAR points.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": true}, "output": {"name": "Output LiDAR Points", "flags": ["-o", "--output"], "description": "Name of the output LiDAR points.", "parameter_type": {"NewFile": "Lidar"}, "default_value": null, "optional": true}, "radius": {"name": "Search Distance:", "flags": ["--radius"], "description": "Search distance used in neighbourhood search (metres).", "parameter_type": "Float", "default_value": "1.5", "optional": true}, "grd_threshold": {"name": "Ground Threshold:", "flags": ["--grd_threshold"], "description": "Ground threshold (metres).", "parameter_type": "Float", "default_value": "0.1", "optional": true}, "oto_threshold": {"name": "Off-Terrain Object Threshold:", "flags": ["--oto_threshold"], "description": "Off-terrain object threshold (metres).", "parameter_type": "Float", "default_value": "2.0", "optional": true}, "planarity_threshold": {"name": "Planarity Threshold:", "flags": ["--planarity_threshold"], "description": "Planarity threshold (0-1).", "parameter_type": "Float", "default_value": "0.85", "optional": true}, "linearity_threshold": {"name": "Linearity Threshold:", "flags": ["--linearity_threshold"], "description": "Linearity threshold (0-1).", "parameter_type": "Float", "default_value": "0.70", "optional": true}, "iterations": {"name": "Number of Iterations:", "flags": ["--iterations"], "description": "Number of iterations.", "parameter_type": "Integer", "default_value": "30", "optional": true}, "facade_threshold": {"name": "Facade Threshold:", "flags": ["--facade_threshold"], "description": "Facade threshold (metres).", "parameter_type": "Float", "default_value": "0.5", "optional": true}}}, "ClassifyOverlapPoints": {"name": "ClassifyOverlapPoints", "tool_name": "classify_overlap_points", "category": "LiDAR Tools", "label": "Classify Overlap Points", "description": "Classifies or filters LAS points in regions of overlapping flight lines.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/lidar_analysis/classify_overlap_points.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#ClassifyOverlapPoints", "parameters": {"i": {"name": "Input LiDAR File", "flags": ["-i", "--input"], "description": "Input LiDAR file.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output LiDAR file.", "parameter_type": {"NewFile": "Lidar"}, "default_value": null, "optional": false}, "resolution": {"name": "Sample Resolution", "flags": ["--resolution"], "description": "The size of the square area used to evaluate nearby points in the LiDAR data.", "parameter_type": "Float", "default_value": "2.0", "optional": true}, "criterion": {"name": "Overlap Criterion", "flags": ["-c", "--criterion"], "description": "Criterion used to identify overlapping points; options are 'max scan angle', 'not min point source ID', 'not min time', 'multiple point source IDs'.", "parameter_type": {"OptionList": ["max scan angle", "not min point source ID", "not min time", "multiple point source IDs"]}, "default_value": "max scan angle", "optional": true}, "filter": {"name": "Filter out points from overlapping flightlines?", "flags": ["--filter"], "description": "Filter out points from overlapping flightlines? If false, overlaps will simply be classified.", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "CleanVector": {"name": "CleanVector", "tool_name": "clean_vector", "category": "Data Tools", "label": "Clean Vector", "description": "Removes null features and lines/polygons with fewer than the required number of vertices.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/data_tools/clean_vector.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/data_tools.html#CleanVector", "parameters": {"i": {"name": "Input Vector File", "flags": ["-i", "--input"], "description": "Input vector file.", "parameter_type": {"ExistingFile": {"Vector": "Any"}}, "default_value": null, "optional": false}, "output": {"name": "Output Vector File", "flags": ["-o", "--output"], "description": "Output vector file.", "parameter_type": {"NewFile": {"Vector": "Any"}}, "default_value": null, "optional": false}}}, "Clip": {"name": "Clip", "tool_name": "clip", "category": "GIS Analysis", "label": "Clip", "description": "Extract all the features, or parts of features, that overlap with the features of the clip vector.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/clip.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#Clip", "parameters": {"i": {"name": "Input Vector File", "flags": ["-i", "--input"], "description": "Input vector file.", "parameter_type": {"ExistingFile": {"Vector": "Any"}}, "default_value": null, "optional": false}, "clip": {"name": "Input Clip Polygon Vector File", "flags": ["--clip"], "description": "Input clip polygon vector file.", "parameter_type": {"ExistingFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}, "output": {"name": "Output Vector File", "flags": ["-o", "--output"], "description": "Output vector file.", "parameter_type": {"NewFile": {"Vector": "Any"}}, "default_value": null, "optional": false}}}, "ClipLidarToPolygon": {"name": "ClipLidarToPolygon", "tool_name": "clip_lidar_to_polygon", "category": "LiDAR Tools", "label": "Clip Lidar To Polygon", "description": "Clips a LiDAR point cloud to a vector polygon or polygons.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/lidar_analysis/clip_lidar_to_polygon.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#ClipLidarToPolygon", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input LiDAR file.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": false}, "polygons": {"name": "Input Vector Polygon File", "flags": ["--polygons"], "description": "Input vector polygons file.", "parameter_type": {"ExistingFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output LiDAR file.", "parameter_type": {"NewFile": "Lidar"}, "default_value": null, "optional": false}}}, "ClipRasterToPolygon": {"name": "ClipRasterToPolygon", "tool_name": "clip_raster_to_polygon", "category": "GIS Analysis", "label": "Clip Raster To Polygon", "description": "Clips a raster to a vector polygon.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/clip_raster_to_polygon.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#ClipRasterToPolygon", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "polygons": {"name": "Input Vector Polygon File", "flags": ["--polygons"], "description": "Input vector polygons file.", "parameter_type": {"ExistingFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "maintain_dimensions": {"name": "Maintain input raster dimensions?", "flags": ["--maintain_dimensions"], "description": "Maintain input raster dimensions?", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "Closing": {"name": "Closing", "tool_name": "closing", "category": "Image Processing Tools", "label": "Closing", "description": "A closing is a mathematical morphology operation involving an erosion (min filter) of a dilation (max filter) set.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/closing.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#Closing", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "filterx": {"name": "Filter X-Dimension", "flags": ["--filterx"], "description": "Size of the filter kernel in the x-direction.", "parameter_type": "Integer", "default_value": "11", "optional": true}, "filtery": {"name": "Filter Y-Dimension", "flags": ["--filtery"], "description": "Size of the filter kernel in the y-direction.", "parameter_type": "Integer", "default_value": "11", "optional": true}}}, "Clump": {"name": "Clump", "tool_name": "clump", "category": "GIS Analysis", "label": "Clump", "description": "Groups cells that form discrete areas, assigning them unique identifiers.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/clump.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#Clump", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "diag": {"name": "Include diagonal connections?", "flags": ["--diag"], "description": "Flag indicating whether diagonal connections should be considered.", "parameter_type": "Boolean", "default_value": "true", "optional": false}, "zero_back": {"name": "Treat zero values as background?", "flags": ["--zero_back"], "description": "Flag indicating whether zero values should be treated as a background.", "parameter_type": "Boolean", "default_value": null, "optional": false}}}, "ColourizeBasedOnClass": {"name": "ColourizeBasedOnClass", "tool_name": "colourize_based_on_class", "category": "LiDAR Tools", "label": "Colourize Based On Class", "description": "Sets the RGB values of a LiDAR point cloud based on the point classification values.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#ColourizeBasedOnClass", "parameters": {"i": {"name": "Input LiDAR Points", "flags": ["-i", "--input"], "description": "Name of the input LiDAR points.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": true}, "output": {"name": "Output LiDAR Points", "flags": ["-o", "--output"], "description": "Name of the output LiDAR points.", "parameter_type": {"NewFile": "Lidar"}, "default_value": null, "optional": true}, "intensity_blending": {"name": "Intensity Blending Amount (0-100%):", "flags": ["--intensity_blending"], "description": "Intensity blending amount (0-100%).", "parameter_type": "Float", "default_value": "50.0", "optional": true}, "clr_str": {"name": "Colour values:", "flags": ["--clr_str"], "description": "Colour values, e.g. 2: (184, 167, 108); 5: #9ab86c", "parameter_type": "String", "default_value": "", "optional": true}, "use_unique_clrs_for_buildings": {"name": "Use unique colours for each building?", "flags": ["--use_unique_clrs_for_buildings"], "description": "Use unique colours for each building?", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "radius": {"name": "Search Distance:", "flags": ["--radius"], "description": "Search distance used in neighbourhood search.", "parameter_type": "Float", "default_value": "", "optional": true}}}, "ColourizeBasedOnPointReturns": {"name": "ColourizeBasedOnPointReturns", "tool_name": "colourize_based_on_point_returns", "category": "LiDAR Tools", "label": "Colourize Based On Point Returns", "description": "Sets the RGB values of a LiDAR point cloud based on the point returns.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#ColourizeBasedOnPointReturns", "parameters": {"i": {"name": "Input LiDAR Points", "flags": ["-i", "--input"], "description": "Name of the input LiDAR points.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": true}, "output": {"name": "Output LiDAR Points", "flags": ["-o", "--output"], "description": "Name of the output LiDAR points.", "parameter_type": {"NewFile": "Lidar"}, "default_value": null, "optional": true}, "intensity_blending": {"name": "Intensity Blending Amount (0-100%):", "flags": ["--intensity_blending"], "description": "Intensity blending amount (0-100%).", "parameter_type": "Float", "default_value": "50.0", "optional": true}, "only": {"name": "Only Return Colour", "flags": ["--only"], "description": "Only return colour, e.g. (230,214,170), #e6d6aa, or 0xe6d6aa.", "parameter_type": "String", "default_value": "(230,214,170)", "optional": true}, "first": {"name": "First Return Colour", "flags": ["--first"], "description": "First return colour, e.g. (230,214,170), #e6d6aa, or 0xe6d6aa.", "parameter_type": "String", "default_value": "(0,140,0)", "optional": true}, "intermediate": {"name": "Intermediate Return Colour", "flags": ["--intermediate"], "description": "Intermediate return colour, e.g. (230,214,170), #e6d6aa, or 0xe6d6aa.", "parameter_type": "String", "default_value": "(255,0,255)", "optional": true}, "last": {"name": "Last Return Colour", "flags": ["--last"], "description": "Last return colour, e.g. (230,214,170), #e6d6aa, or 0xe6d6aa.", "parameter_type": "String", "default_value": "(0,0,255)", "optional": true}}}, "CompactnessRatio": {"name": "CompactnessRatio", "tool_name": "compactness_ratio", "category": "GIS Analysis", "label": "Compactness Ratio", "description": "Calculates the compactness ratio (A/P), a measure of shape complexity, for vector polygons.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/compactness_ratio.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#CompactnessRatio", "parameters": {"i": {"name": "Input Vector Polygon File", "flags": ["-i", "--input"], "description": "Input vector polygon file.", "parameter_type": {"ExistingFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}}}, "ConservativeSmoothingFilter": {"name": "ConservativeSmoothingFilter", "tool_name": "conservative_smoothing_filter", "category": "Image Processing Tools", "label": "Conservative Smoothing Filter", "description": "Performs a conservative-smoothing filter on an image.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/conservative_smoothing_filter.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#ConservativeSmoothingFilter", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "filterx": {"name": "Filter X-Dimension", "flags": ["--filterx"], "description": "Size of the filter kernel in the x-direction.", "parameter_type": "Integer", "default_value": "3", "optional": true}, "filtery": {"name": "Filter Y-Dimension", "flags": ["--filtery"], "description": "Size of the filter kernel in the y-direction.", "parameter_type": "Integer", "default_value": "3", "optional": true}}}, "ConstructVectorTin": {"name": "ConstructVectorTin", "tool_name": "construct_vector_tin", "category": "GIS Analysis", "label": "Construct Vector Tin", "description": "Creates a vector triangular irregular network (TIN) for a set of vector points.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/construct_vector_tin.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#ConstructVectorTin", "parameters": {"i": {"name": "Input Vector Points File", "flags": ["-i", "--input"], "description": "Input vector points file.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "field": {"name": "Field Name", "flags": ["--field"], "description": "Input field name in attribute table.", "parameter_type": {"VectorAttributeField": ["Number", "--input"]}, "default_value": null, "optional": true}, "use_z": {"name": "Use Shapefile 'z' values?", "flags": ["--use_z"], "description": "Use the 'z' dimension of the Shapefile's geometry instead of an attribute field?", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "output": {"name": "Output Polygon File", "flags": ["-o", "--output"], "description": "Output vector polygon file.", "parameter_type": {"NewFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}, "max_triangle_edge_length": {"name": "Maximum Triangle Edge Length (optional)", "flags": ["--max_triangle_edge_length"], "description": "Optional maximum triangle edge length; triangles larger than this size will not be gridded.", "parameter_type": "Float", "default_value": null, "optional": true}}}, "ContoursFromPoints": {"name": "ContoursFromPoints", "tool_name": "contours_from_points", "category": "Geomorphometric Analysis", "label": "Contours From Points", "description": "Creates a contour coverage from a set of input points.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/contours_from_points.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#ContoursFromPoints", "parameters": {"i": {"name": "Input Vector Points File", "flags": ["-i", "--input"], "description": "Input vector points file.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "field": {"name": "Field Name", "flags": ["--field"], "description": "Input field name in attribute table.", "parameter_type": {"VectorAttributeField": ["Number", "--input"]}, "default_value": null, "optional": true}, "use_z": {"name": "Use Shapefile 'z' values?", "flags": ["--use_z"], "description": "Use the 'z' dimension of the Shapefile's geometry instead of an attribute field?", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "output": {"name": "Output Vector Lines File", "flags": ["-o", "--output"], "description": "Output vector lines file.", "parameter_type": {"NewFile": {"Vector": "Line"}}, "default_value": null, "optional": false}, "max_triangle_edge_length": {"name": "Maximum Triangle Edge Length (optional)", "flags": ["--max_triangle_edge_length"], "description": "Optional maximum triangle edge length; triangles larger than this size will not be gridded.", "parameter_type": "Float", "default_value": null, "optional": true}, "interval": {"name": "Contour Interval", "flags": ["--interval"], "description": "Contour interval.", "parameter_type": "Float", "default_value": "10.0", "optional": false}, "base": {"name": "Base Contour", "flags": ["--base"], "description": "Base contour height.", "parameter_type": "Float", "default_value": "0.0", "optional": true}, "smooth": {"name": "Smoothing Filter Size", "flags": ["--smooth"], "description": "Smoothing filter size (in num. points), e.g. 3, 5, 7, 9, 11...", "parameter_type": "Integer", "default_value": "5", "optional": true}}}, "ContoursFromRaster": {"name": "ContoursFromRaster", "tool_name": "contours_from_raster", "category": "Geomorphometric Analysis", "label": "Contours From Raster", "description": "Derives a vector contour coverage from a raster surface.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/contours_from_raster.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#ContoursFromRaster", "parameters": {"i": {"name": "Input Raster Surface File", "flags": ["-i", "--input"], "description": "Input surface raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Contour File", "flags": ["-o", "--output"], "description": "Output vector contour file.", "parameter_type": {"NewFile": {"Vector": "Line"}}, "default_value": null, "optional": false}, "interval": {"name": "Contour Interval", "flags": ["--interval"], "description": "Contour interval.", "parameter_type": "Float", "default_value": "10.0", "optional": false}, "base": {"name": "Base Contour", "flags": ["--base"], "description": "Base contour height.", "parameter_type": "Float", "default_value": "0.0", "optional": true}, "smooth": {"name": "Smoothing Filter Size", "flags": ["--smooth"], "description": "Smoothing filter size (in num. points), e.g. 3, 5, 7, 9, 11...", "parameter_type": "Integer", "default_value": "9", "optional": true}, "tolerance": {"name": "Tolerance", "flags": ["--tolerance"], "description": "Tolerance factor, in degrees (0-45); determines generalization level.", "parameter_type": "Float", "default_value": "10.0", "optional": true}}}, "ConvertNodataToZero": {"name": "ConvertNodataToZero", "tool_name": "convert_nodata_to_zero", "category": "Data Tools", "label": "Convert Nodata To Zero", "description": "Converts nodata values in a raster to zero.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/data_tools/convert_nodata_to_zero.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/data_tools.html#ConvertNodataToZero", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "ConvertRasterFormat": {"name": "ConvertRasterFormat", "tool_name": "convert_raster_format", "category": "Data Tools", "label": "Convert Raster Format", "description": "Converts raster data from one format to another.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/data_tools/convert_raster_format.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/data_tools.html#ConvertRasterFormat", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "CornerDetection": {"name": "CornerDetection", "tool_name": "corner_detection", "category": "Image Processing Tools", "label": "Corner Detection", "description": "Identifies corner patterns in boolean images using hit-and-miss pattern matching.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/corner_detection.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#CornerDetection", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input boolean image.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "CorrectVignetting": {"name": "CorrectVignetting", "tool_name": "correct_vignetting", "category": "Image Processing Tools", "label": "Correct Vignetting", "description": "Corrects the darkening of images towards corners.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/correct_vignetting.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#CorrectVignetting", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "pp": {"name": "Input Principal Point File", "flags": ["--pp"], "description": "Input principal point file.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "focal_length": {"name": "Camera Focal Length (mm)", "flags": ["--focal_length"], "description": "Camera focal length, in millimeters.", "parameter_type": "Float", "default_value": "304.8", "optional": true}, "image_width": {"name": "Distance Between Left-Right Edges (mm)", "flags": ["--image_width"], "description": "Distance between photograph edges, in millimeters.", "parameter_type": "Float", "default_value": "228.6", "optional": true}, "n": {"name": "n Parameter", "flags": ["-n"], "description": "The 'n' parameter.", "parameter_type": "Float", "default_value": "4.0", "optional": true}}}, "Cos": {"name": "Cos", "tool_name": "cos", "category": "Math and Stats Tools", "label": "Cos", "description": "Returns the cosine (cos) of each values in a raster.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/cos.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#Cos", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "Cosh": {"name": "Cosh", "tool_name": "cosh", "category": "Math and Stats Tools", "label": "Cosh", "description": "Returns the hyperbolic cosine (cosh) of each values in a raster.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/cosh.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#Cosh", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "CostAllocation": {"name": "CostAllocation", "tool_name": "cost_allocation", "category": "GIS Analysis", "label": "Cost Allocation", "description": "Identifies the source cell to which each grid cell is connected by a least-cost pathway in a cost-distance analysis.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/cost_allocation.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#CostAllocation", "parameters": {"source": {"name": "Input Source File", "flags": ["--source"], "description": "Input source raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "backlink": {"name": "Input Backlink File", "flags": ["--backlink"], "description": "Input backlink raster file generated by the cost-distance tool.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "CostDistance": {"name": "CostDistance", "tool_name": "cost_distance", "category": "GIS Analysis", "label": "Cost Distance", "description": "Performs cost-distance accumulation on a cost surface and a group of source cells.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/cost_distance.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#CostDistance", "parameters": {"source": {"name": "Input Source File", "flags": ["--source"], "description": "Input source raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "cost": {"name": "Input Cost (Friction) File", "flags": ["--cost"], "description": "Input cost (friction) raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "out_accum": {"name": "Output Cost Accumulation File", "flags": ["--out_accum"], "description": "Output cost accumulation raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "out_backlink": {"name": "Output Backlink File", "flags": ["--out_backlink"], "description": "Output backlink raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "CostPathway": {"name": "CostPathway", "tool_name": "cost_pathway", "category": "GIS Analysis", "label": "Cost Pathway", "description": "Performs cost-distance pathway analysis using a series of destination grid cells.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/cost_pathway.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#CostPathway", "parameters": {"destination": {"name": "Input Destination File", "flags": ["--destination"], "description": "Input destination raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "backlink": {"name": "Input Backlink File", "flags": ["--backlink"], "description": "Input backlink raster file generated by the cost-distance tool.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output cost pathway raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "zero_background": {"name": "Treat zero values as background?", "flags": ["--zero_background"], "description": "Flag indicating whether zero values should be treated as a background.", "parameter_type": "Boolean", "default_value": null, "optional": false}}}, "CountIf": {"name": "CountIf", "tool_name": "count_if", "category": "GIS Analysis", "label": "Count If", "description": "Counts the number of occurrences of a specified value in a cell-stack of rasters.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/count_if.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#CountIf", "parameters": {"inputs": {"name": "Input Files", "flags": ["-i", "--inputs"], "description": "Input raster files.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "value": {"name": "Value", "flags": ["--value"], "description": "Search value (e.g. countif value = 5.0).", "parameter_type": "Float", "default_value": null, "optional": false}}}, "CreateColourComposite": {"name": "CreateColourComposite", "tool_name": "create_colour_composite", "category": "Image Processing Tools", "label": "Create Colour Composite", "description": "Creates a colour-composite image from three bands of multispectral imagery.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/create_colour_composite.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#CreateColourComposite", "parameters": {"red": {"name": "Input Red Band Image File", "flags": ["--red"], "description": "Input red band image file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "green": {"name": "Input Green Band Image File", "flags": ["--green"], "description": "Input green band image file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "blue": {"name": "Input Blue Band Image File", "flags": ["--blue"], "description": "Input blue band image file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "opacity": {"name": "Input Opacity Band Image File (Optional)", "flags": ["--opacity"], "description": "Input opacity band image file (optional).", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": true}, "output": {"name": "Output Colour Composite File", "flags": ["-o", "--output"], "description": "Output colour composite file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "enhance": {"name": "Perform balance contrast enhancement?", "flags": ["--enhance"], "description": "Optional flag indicating whether a balance contrast enhancement is performed.", "parameter_type": "Boolean", "default_value": "true", "optional": true}, "zeros": {"name": "Treat zeros as nodata?", "flags": ["--zeros"], "description": "Optional flag to indicate if zeros are nodata values.", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "CreateHexagonalVectorGrid": {"name": "CreateHexagonalVectorGrid", "tool_name": "create_hexagonal_vector_grid", "category": "GIS Analysis", "label": "Create Hexagonal Vector Grid", "description": "Creates a hexagonal vector grid.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/create_hexagonal_vector_grid.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#CreateHexagonalVectorGrid", "parameters": {"input": {"name": "Input Base File", "flags": ["-i", "--base", "--input"], "description": "Input base file.", "parameter_type": {"ExistingFile": {"RasterAndVector": "Any"}}, "default_value": null, "optional": false}, "output": {"name": "Output Polygon File", "flags": ["-o", "--output"], "description": "Output vector polygon file.", "parameter_type": {"NewFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}, "width": {"name": "Hexagon Width", "flags": ["--width"], "description": "The grid cell width.", "parameter_type": "Float", "default_value": null, "optional": false}, "orientation": {"name": "Grid Orientation", "flags": ["--orientation"], "description": "Grid Orientation, 'horizontal' or 'vertical'.", "parameter_type": {"OptionList": ["horizontal", "vertical"]}, "default_value": "horizontal", "optional": true}}}, "CreatePlane": {"name": "CreatePlane", "tool_name": "create_plane", "category": "GIS Analysis", "label": "Create Plane", "description": "Creates a raster image based on the equation for a simple plane.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/create_plane.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#CreatePlane", "parameters": {"base": {"name": "Input Base File", "flags": ["--base"], "description": "Input base raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "gradient": {"name": "Gradient", "flags": ["--gradient"], "description": "Slope gradient in degrees (-85.0 to 85.0).", "parameter_type": "Float", "default_value": "15.0", "optional": false}, "aspect": {"name": "Aspect", "flags": ["--aspect"], "description": "Aspect (direction) in degrees clockwise from north (0.0-360.0).", "parameter_type": "Float", "default_value": "90.0", "optional": false}, "constant": {"name": "Constant", "flags": ["--constant"], "description": "Constant value.", "parameter_type": "Float", "default_value": "0.0", "optional": false}}}, "CreateRectangularVectorGrid": {"name": "CreateRectangularVectorGrid", "tool_name": "create_rectangular_vector_grid", "category": "GIS Analysis", "label": "Create Rectangular Vector Grid", "description": "Creates a rectangular vector grid.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/create_rectangular_vector_grid.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#CreateRectangularVectorGrid", "parameters": {"input": {"name": "Input Base File", "flags": ["-i", "--base", "--input"], "description": "Input base file.", "parameter_type": {"ExistingFile": {"RasterAndVector": "Any"}}, "default_value": null, "optional": false}, "output": {"name": "Output Polygon File", "flags": ["-o", "--output"], "description": "Output vector polygon file.", "parameter_type": {"NewFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}, "width": {"name": "Grid Cell Width", "flags": ["--width"], "description": "The grid cell width.", "parameter_type": "Float", "default_value": null, "optional": false}, "height": {"name": "Grid Cell Height", "flags": ["--height"], "description": "The grid cell height.", "parameter_type": "Float", "default_value": null, "optional": false}, "xorig": {"name": "Grid origin x-coordinate", "flags": ["--xorig"], "description": "The grid origin x-coordinate.", "parameter_type": "Float", "default_value": "0", "optional": true}, "yorig": {"name": "Grid origin y-coordinate", "flags": ["--yorig"], "description": "The grid origin y-coordinate.", "parameter_type": "Float", "default_value": "0", "optional": true}}}, "CrispnessIndex": {"name": "CrispnessIndex", "tool_name": "crispness_index", "category": "Math and Stats Tools", "label": "Crispness Index", "description": "Calculates the Crispness Index, which is used to quantify how crisp (or conversely how fuzzy) a probability image is.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/crispness_index.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#CrispnessIndex", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output HTML File", "flags": ["-o", "--output"], "description": "Optional output html file (default name will be based on input file if unspecified).", "parameter_type": {"NewFile": "Html"}, "default_value": null, "optional": true}}}, "CrossTabulation": {"name": "CrossTabulation", "tool_name": "cross_tabulation", "category": "Math and Stats Tools", "label": "Cross Tabulation", "description": "Performs a cross-tabulation on two categorical images.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/cross_tabulation.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#CrossTabulation", "parameters": {"input1": {"name": "Input File 1", "flags": ["--i1", "--input1"], "description": "Input raster file 1.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "input2": {"name": "Input File 2", "flags": ["--i2", "--input2"], "description": "Input raster file 1.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output HTML File", "flags": ["-o", "--output"], "description": "Output HTML file (default name will be based on input file if unspecified).", "parameter_type": {"NewFile": "Html"}, "default_value": null, "optional": false}}}, "CsvPointsToVector": {"name": "CsvPointsToVector", "tool_name": "csv_points_to_vector", "category": "Data Tools", "label": "Csv Points To Vector", "description": "Converts a CSV text file to vector points.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/data_tools/csv_points_to_vector.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/data_tools.html#CsvPointsToVector", "parameters": {"i": {"name": "Input CSV File", "flags": ["-i", "--input"], "description": "Input CSV file (i.e. source of data to be imported).", "parameter_type": {"ExistingFile": "Csv"}, "default_value": null, "optional": false}, "output": {"name": "Output Vector File", "flags": ["-o", "--output"], "description": "Output vector file.", "parameter_type": {"NewFile": {"Vector": "Any"}}, "default_value": null, "optional": false}, "xfield": {"name": "X Field Number (zero-based)", "flags": ["--xfield"], "description": "X field number (e.g. 0 for first field).", "parameter_type": "Integer", "default_value": "0", "optional": true}, "yfield": {"name": "Y Field Number (zero-based)", "flags": ["--yfield"], "description": "Y field number (e.g. 1 for second field).", "parameter_type": "Integer", "default_value": "1", "optional": true}, "epsg": {"name": "EPSG Projection", "flags": ["--epsg"], "description": "EPSG projection (e.g. 2958).", "parameter_type": "Integer", "default_value": null, "optional": true}}}, "CumulativeDistribution": {"name": "CumulativeDistribution", "tool_name": "cumulative_distribution", "category": "Math and Stats Tools", "label": "Cumulative Distribution", "description": "Converts a raster image to its cumulative distribution function.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/cumulative_dist.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#CumulativeDistribution", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "Curvedness": {"name": "Curvedness", "tool_name": "curvedness", "category": "Geomorphometric Analysis", "label": "Curvedness", "description": "This tool calculates curvedness from an input DEM.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#Curvedness", "parameters": {"dem": {"name": "Input Raster DEM", "flags": ["-i", "--dem"], "description": "Name of the input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster Image", "flags": ["-o", "--output"], "description": "Name of the output raster image file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "log": {"name": "Log-transform the output?", "flags": ["--log"], "description": "Display output values using a log-scale.", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "zfactor": {"name": "Z-factor", "flags": ["--zfactor"], "description": "Z conversion factor.", "parameter_type": "Float", "default_value": "1.0", "optional": true}}}, "D8FlowAccumulation": {"name": "D8FlowAccumulation", "tool_name": "d8_flow_accumulation", "category": "Hydrological Analysis", "label": "D8 Flow Accumulation", "description": "Calculates a D8 flow accumulation raster from an input DEM or flow pointer.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/d8_flow_accum.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#D8FlowAccumulation", "parameters": {"i": {"name": "Input DEM or D8 Pointer File", "flags": ["-i", "--input"], "description": "Input raster DEM or D8 pointer file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "out_type": {"name": "Output Type", "flags": ["--out_type"], "description": "Output type; one of 'cells' (default), 'catchment area', and 'specific contributing area'.", "parameter_type": {"OptionList": ["cells", "catchment area", "specific contributing area"]}, "default_value": "cells", "optional": true}, "log": {"name": "Log-transform the output?", "flags": ["--log"], "description": "Optional flag to request the output be log-transformed.", "parameter_type": "Boolean", "default_value": null, "optional": true}, "clip": {"name": "Clip the upper tail by 1%?", "flags": ["--clip"], "description": "Optional flag to request clipping the display max by 1%.", "parameter_type": "Boolean", "default_value": null, "optional": true}, "pntr": {"name": "Is the input raster a D8 flow pointer?", "flags": ["--pntr"], "description": "Is the input raster a D8 flow pointer rather than a DEM?", "parameter_type": "Boolean", "default_value": null, "optional": true}, "esri_pntr": {"name": "If a pointer is input, does it use the ESRI pointer scheme?", "flags": ["--esri_pntr"], "description": "Input D8 pointer uses the ESRI style scheme.", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "D8MassFlux": {"name": "D8MassFlux", "tool_name": "d8_mass_flux", "category": "Hydrological Analysis", "label": "D8 Mass Flux", "description": "Performs a D8 mass flux calculation.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/d8_mass_flux.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#D8MassFlux", "parameters": {"dem": {"name": "Input DEM File", "flags": ["--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "loading": {"name": "Input Loading File", "flags": ["--loading"], "description": "Input loading raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "efficiency": {"name": "Input Efficiency File", "flags": ["--efficiency"], "description": "Input efficiency raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "absorption": {"name": "Input Absorption File", "flags": ["--absorption"], "description": "Input absorption raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "D8Pointer": {"name": "D8Pointer", "tool_name": "d8_pointer", "category": "Hydrological Analysis", "label": "D8 Pointer", "description": "Calculates a D8 flow pointer raster from an input DEM.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/d8_pointer.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#D8Pointer", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "esri_pntr": {"name": "Should the pointer file use the ESRI pointer scheme?", "flags": ["--esri_pntr"], "description": "D8 pointer uses the ESRI style scheme.", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "DInfFlowAccumulation": {"name": "DInfFlowAccumulation", "tool_name": "d_inf_flow_accumulation", "category": "Hydrological Analysis", "label": "D Inf Flow Accumulation", "description": "Calculates a D-infinity flow accumulation raster from an input DEM.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/dinf_flow_accum.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#DInfFlowAccumulation", "parameters": {"i": {"name": "Input DEM or D-inf Pointer File", "flags": ["-i", "--input"], "description": "Input raster DEM or D-infinity pointer file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "out_type": {"name": "Output Type", "flags": ["--out_type"], "description": "Output type; one of 'cells', 'sca' (default), and 'ca'.", "parameter_type": {"OptionList": ["Cells", "Specific Contributing Area", "Catchment Area"]}, "default_value": "Specific Contributing Area", "optional": true}, "threshold": {"name": "Convergence Threshold (grid cells; blank for none)", "flags": ["--threshold"], "description": "Optional convergence threshold parameter, in grid cells; default is infinity.", "parameter_type": "Float", "default_value": null, "optional": true}, "log": {"name": "Log-transform the output?", "flags": ["--log"], "description": "Optional flag to request the output be log-transformed.", "parameter_type": "Boolean", "default_value": null, "optional": true}, "clip": {"name": "Clip the upper tail by 1%?", "flags": ["--clip"], "description": "Optional flag to request clipping the display max by 1%.", "parameter_type": "Boolean", "default_value": null, "optional": true}, "pntr": {"name": "Is the input raster a D-inf flow pointer?", "flags": ["--pntr"], "description": "Is the input raster a D-infinity flow pointer rather than a DEM?", "parameter_type": "Boolean", "default_value": null, "optional": true}}}, "DInfMassFlux": {"name": "DInfMassFlux", "tool_name": "d_inf_mass_flux", "category": "Hydrological Analysis", "label": "D Inf Mass Flux", "description": "Performs a D-infinity mass flux calculation.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/dinf_mass_flux.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#DInfMassFlux", "parameters": {"dem": {"name": "Input DEM File", "flags": ["--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "loading": {"name": "Input Loading File", "flags": ["--loading"], "description": "Input loading raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "efficiency": {"name": "Input Efficiency File", "flags": ["--efficiency"], "description": "Input efficiency raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "absorption": {"name": "Input Absorption File", "flags": ["--absorption"], "description": "Input absorption raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "DInfPointer": {"name": "DInfPointer", "tool_name": "d_inf_pointer", "category": "Hydrological Analysis", "label": "D Inf Pointer", "description": "Calculates a D-infinity flow pointer (flow direction) raster from an input DEM.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/dinf_pointer.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#DInfPointer", "parameters": {"dem": {"name": "Input File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "Dbscan": {"name": "Dbscan", "tool_name": "dbscan", "category": "Machine Learning", "label": "Dbscan", "description": "Performs a DBSCAN-based unsupervised clustering operation.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/machine_learning.html#Dbscan", "parameters": {"inputs": {"name": "Input Rasters", "flags": ["-i", "--inputs"], "description": "Names of the input rasters.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "scaling": {"name": "Scaling Method", "flags": ["--scaling"], "description": "Scaling method for predictors. Options include 'None', 'Normalize', and 'Standardize'", "parameter_type": {"OptionList": ["None", "Normalize", "Standardize"]}, "default_value": "Normalize", "optional": true}, "output": {"name": "Output Raster File", "flags": ["-o", "--output"], "description": "Name of the output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "search_dist": {"name": "Search distance", "flags": ["--search_dist"], "description": "Search-distance parameter.", "parameter_type": "Float", "default_value": "0.01", "optional": true}, "min_points": {"name": "Minimum Points", "flags": ["--min_points"], "description": "Minimum point density needed to define 'core' point in cluster.", "parameter_type": "Integer", "default_value": "5", "optional": true}}}, "Decrement": {"name": "Decrement", "tool_name": "decrement", "category": "Math and Stats Tools", "label": "Decrement", "description": "Decreases the values of each grid cell in an input raster by 1.0 (see also InPlaceSubtract).", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/decrement.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#Decrement", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "DemVoidFilling": {"name": "DemVoidFilling", "tool_name": "dem_void_filling", "category": "Geomorphometric Analysis", "label": "Dem Void Filling", "description": "This tool can be used to fill the void areas of a DEM using another fill DEM data set.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#DemVoidFilling", "parameters": {"dem": {"name": "Input DEM", "flags": ["--dem"], "description": "Name of the input raster DEM file, containing the void areas.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "fill": {"name": "Input Fill DEM", "flags": ["--fill"], "description": "Name of the input fill DEM file, containing the values used to fill the void areas in the other DEM.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output DEM", "flags": ["-o", "--output"], "description": "Name of the output void-filled DEM file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "mean_plane_dist": {"name": "Mean-Plane Distance (in grid cells)", "flags": ["--mean_plane_dist"], "description": "Distance to void edge at which the mean-plane value is used as an offset, measured in grid cells.", "parameter_type": "Integer", "default_value": "20", "optional": true}, "edge_treatment": {"name": "Void-Edge Treatment", "flags": ["--edge_treatment"], "description": "How should void-edge cells be treated? Options include 'use DEM' (default), 'use Fill', 'average'.", "parameter_type": {"OptionList": ["use DEM", "use fill", "average"]}, "default_value": "use DEM", "optional": true}, "weight_value": {"name": "Interpolation Weight", "flags": ["--weight_value"], "description": "Weight value used for IDW interpolation (default is 2.0).", "parameter_type": "Float", "default_value": "2.0", "optional": true}}}, "DepthInSink": {"name": "DepthInSink", "tool_name": "depth_in_sink", "category": "Hydrological Analysis", "label": "Depth In Sink", "description": "Measures the depth of sinks (depressions) in a DEM.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/depth_in_sink.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#DepthInSink", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "zero_background": {"name": "Should a background value of zero be used?", "flags": ["--zero_background"], "description": "Flag indicating whether the background value of zero should be used.", "parameter_type": "Boolean", "default_value": null, "optional": true}}}, "DepthToWater": {"name": "DepthToWater", "tool_name": "depth_to_water", "category": "Hydrological Analysis", "label": "Depth To Water", "description": "This tool calculates cartographic depth-to-water (DTW) index.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#DepthToWater", "parameters": {"dem": {"name": "Input Raster DEM", "flags": ["--dem"], "description": "Name of the input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "streams": {"name": "Input Streams Vector", "flags": ["--streams"], "description": "Name of the input streams vector (optional).", "parameter_type": {"ExistingFile": {"Vector": "Line"}}, "default_value": null, "optional": true}, "lakes": {"name": "Input Lakes Vector", "flags": ["--lakes"], "description": "Name of the input lakes vector (optional).", "parameter_type": {"ExistingFile": {"Vector": "Polygon"}}, "default_value": null, "optional": true}, "output": {"name": "Output Raster Image", "flags": ["-o", "--output"], "description": "Name of the output raster image file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "DevFromMeanElev": {"name": "DevFromMeanElev", "tool_name": "dev_from_mean_elev", "category": "Geomorphometric Analysis", "label": "Dev From Mean Elev", "description": "Calculates deviation from mean elevation.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/dev_from_mean_elev.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#DevFromMeanElev", "parameters": {"dem": {"name": "Input File", "flags": ["-i", "--input", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "filterx": {"name": "Filter X-Dimension", "flags": ["--filterx"], "description": "Size of the filter kernel in the x-direction.", "parameter_type": "Integer", "default_value": "11", "optional": true}, "filtery": {"name": "Filter Y-Dimension", "flags": ["--filtery"], "description": "Size of the filter kernel in the y-direction.", "parameter_type": "Integer", "default_value": "11", "optional": true}}}, "DeviationFromRegionalDirection": {"name": "DeviationFromRegionalDirection", "tool_name": "deviation_from_regional_direction", "category": "GIS Analysis", "label": "Deviation From Regional Direction", "description": "Calculates the deviation of vector polygons from the regional average direction.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/deviation_from_regional_direction.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#DeviationFromRegionalDirection", "parameters": {"i": {"name": "Input Vector Polygon File", "flags": ["-i", "--input"], "description": "Input vector polygon file.", "parameter_type": {"ExistingFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}, "elong_threshold": {"name": "Elongation Threshold (0.05-0.95)", "flags": ["--elong_threshold"], "description": "Elongation threshold used in determining which polygons are used to estimate the regional direction (0.05-0.95).", "parameter_type": "Float", "default_value": "0.75", "optional": true}}}, "DiffFromMeanElev": {"name": "DiffFromMeanElev", "tool_name": "diff_from_mean_elev", "category": "Geomorphometric Analysis", "label": "Diff From Mean Elev", "description": "Calculates difference from mean elevation (equivalent to a high-pass filter).", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/diff_from_mean_elev.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#DiffFromMeanElev", "parameters": {"dem": {"name": "Input File", "flags": ["-i", "--input", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "filterx": {"name": "Filter X-Dimension", "flags": ["--filterx"], "description": "Size of the filter kernel in the x-direction.", "parameter_type": "Integer", "default_value": "11", "optional": true}, "filtery": {"name": "Filter Y-Dimension", "flags": ["--filtery"], "description": "Size of the filter kernel in the y-direction.", "parameter_type": "Integer", "default_value": "11", "optional": true}}}, "DiffOfGaussianFilter": {"name": "DiffOfGaussianFilter", "tool_name": "diff_of_gaussian_filter", "category": "Image Processing Tools", "label": "Diff Of Gaussian Filter", "description": "Performs a Difference of Gaussian (DoG) filter on an image.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/dog_filter.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#DiffOfGaussianFilter", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "sigma1": {"name": "Sigma 1 (pixels)", "flags": ["--sigma1"], "description": "Standard deviation distance in pixels.", "parameter_type": "Float", "default_value": "2.0", "optional": true}, "sigma2": {"name": "Sigma 2 (pixels)", "flags": ["--sigma2"], "description": "Standard deviation distance in pixels.", "parameter_type": "Float", "default_value": "4.0", "optional": true}}}, "Difference": {"name": "Difference", "tool_name": "difference", "category": "GIS Analysis", "label": "Difference", "description": "Outputs the features that occur in one of the two vector inputs but not both, i.e. no overlapping features.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/difference.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#Difference", "parameters": {"i": {"name": "Input Vector File", "flags": ["-i", "--input"], "description": "Input vector file.", "parameter_type": {"ExistingFile": {"Vector": "Any"}}, "default_value": null, "optional": false}, "overlay": {"name": "Input Overlay Vector File", "flags": ["--overlay"], "description": "Input overlay vector file.", "parameter_type": {"ExistingFile": {"Vector": "Any"}}, "default_value": null, "optional": false}, "output": {"name": "Output Vector File", "flags": ["-o", "--output"], "description": "Output vector file.", "parameter_type": {"NewFile": {"Vector": "Any"}}, "default_value": null, "optional": false}}}, "DifferenceCurvature": {"name": "DifferenceCurvature", "tool_name": "difference_curvature", "category": "Geomorphometric Analysis", "label": "Difference Curvature", "description": "This tool calculates difference curvature from an input DEM.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#DifferenceCurvature", "parameters": {"dem": {"name": "Input Raster DEM", "flags": ["-i", "--dem"], "description": "Name of the input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster Image", "flags": ["-o", "--output"], "description": "Name of the output raster image file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "log": {"name": "Log-transform the output?", "flags": ["--log"], "description": "Display output values using a log-scale.", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "zfactor": {"name": "Z-factor", "flags": ["--zfactor"], "description": "Z conversion factor.", "parameter_type": "Float", "default_value": "1.0", "optional": true}}}, "DirectDecorrelationStretch": {"name": "DirectDecorrelationStretch", "tool_name": "direct_decorrelation_stretch", "category": "Image Processing Tools", "label": "Direct Decorrelation Stretch", "description": "Performs a direct decorrelation stretch enhancement on a colour-composite image of multispectral data.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/direct_decorrelation_stretch.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#DirectDecorrelationStretch", "parameters": {"i": {"name": "Input Colour Composite Image File", "flags": ["-i", "--input"], "description": "Input colour composite image file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "k": {"name": "Achromatic Factor (0-1)", "flags": ["-k"], "description": "Achromatic factor (k) ranges between 0 (no effect) and 1 (full saturation stretch), although typical values range from 0.3 to 0.7.", "parameter_type": "Float", "default_value": "0.5", "optional": true}, "clip": {"name": "Percent to clip the upper tail", "flags": ["--clip"], "description": "Optional percent to clip the upper tail by during the stretch.", "parameter_type": "Float", "default_value": "1.0", "optional": true}}}, "DirectionalRelief": {"name": "DirectionalRelief", "tool_name": "directional_relief", "category": "Geomorphometric Analysis", "label": "Directional Relief", "description": "Calculates relief for cells in an input DEM for a specified direction.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/directional_relief.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#DirectionalRelief", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "azimuth": {"name": "Azimuth", "flags": ["--azimuth"], "description": "Wind azimuth in degrees.", "parameter_type": "Float", "default_value": "0.0", "optional": false}, "max_dist": {"name": "Maximum Search Distance", "flags": ["--max_dist"], "description": "Optional maximum search distance (unspecified if none; in xy units).", "parameter_type": "Float", "default_value": null, "optional": true}}}, "Dissolve": {"name": "Dissolve", "tool_name": "dissolve", "category": "GIS Analysis", "label": "Dissolve", "description": "Removes the interior, or shared, boundaries within a vector polygon coverage.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/dissolve.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#Dissolve", "parameters": {"i": {"name": "Input Vector File", "flags": ["-i", "--input"], "description": "Input vector file.", "parameter_type": {"ExistingFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}, "field": {"name": "Dissolve Field Attribute", "flags": ["--field"], "description": "Dissolve field attribute (optional).", "parameter_type": {"VectorAttributeField": ["Any", "--input"]}, "default_value": null, "optional": true}, "output": {"name": "Output Vector File", "flags": ["-o", "--output"], "description": "Output vector file.", "parameter_type": {"NewFile": {"Vector": "Any"}}, "default_value": null, "optional": false}, "snap": {"name": "Snap Tolerance", "flags": ["--snap"], "description": "Snap tolerance.", "parameter_type": "Float", "default_value": "0.0", "optional": true}}}, "DistanceToOutlet": {"name": "DistanceToOutlet", "tool_name": "distance_to_outlet", "category": "Stream Network Analysis", "label": "Distance To Outlet", "description": "Calculates the distance of stream grid cells to the channel network outlet cell.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/stream_network_analysis/dist_to_outlet.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/stream_network_analysis.html#DistanceToOutlet", "parameters": {"d8_pntr": {"name": "Input D8 Pointer File", "flags": ["--d8_pntr"], "description": "Input raster D8 pointer file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "streams": {"name": "Input Streams File", "flags": ["--streams"], "description": "Input raster streams file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "esri_pntr": {"name": "Does the pointer file use the ESRI pointer scheme?", "flags": ["--esri_pntr"], "description": "D8 pointer uses the ESRI style scheme.", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "zero_background": {"name": "Should a background value of zero be used?", "flags": ["--zero_background"], "description": "Flag indicating whether a background value of zero should be used.", "parameter_type": "Boolean", "default_value": null, "optional": true}}}, "DiversityFilter": {"name": "DiversityFilter", "tool_name": "diversity_filter", "category": "Image Processing Tools", "label": "Diversity Filter", "description": "Assigns each cell in the output grid the number of different values in a moving window centred on each grid cell in the input raster.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/diversity_filter.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#DiversityFilter", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "filterx": {"name": "Filter X-Dimension", "flags": ["--filterx"], "description": "Size of the filter kernel in the x-direction.", "parameter_type": "Integer", "default_value": "11", "optional": true}, "filtery": {"name": "Filter Y-Dimension", "flags": ["--filtery"], "description": "Size of the filter kernel in the y-direction.", "parameter_type": "Integer", "default_value": "11", "optional": true}}}, "Divide": {"name": "Divide", "tool_name": "divide", "category": "Math and Stats Tools", "label": "Divide", "description": "Performs a division operation on two rasters or a raster and a constant value.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/divide.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#Divide", "parameters": {"input1": {"name": "Input File Or Constant Value", "flags": ["--input1"], "description": "Input raster file or constant value.", "parameter_type": {"ExistingFileOrFloat": "Raster"}, "default_value": null, "optional": false}, "input2": {"name": "Input File Or Constant Value", "flags": ["--input2"], "description": "Input raster file or constant value.", "parameter_type": {"ExistingFileOrFloat": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "DownslopeDistanceToStream": {"name": "DownslopeDistanceToStream", "tool_name": "downslope_distance_to_stream", "category": "Hydrological Analysis", "label": "Downslope Distance To Stream", "description": "Measures distance to the nearest downslope stream cell.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/downslope_distance_to_stream.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#DownslopeDistanceToStream", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "streams": {"name": "Input Streams File", "flags": ["--streams"], "description": "Input raster streams file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "dinf": {"name": "Use the D-infinity flow algorithm instead of D8?", "flags": ["--dinf"], "description": "Use the D-infinity flow algorithm instead of D8?", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "DownslopeFlowpathLength": {"name": "DownslopeFlowpathLength", "tool_name": "downslope_flowpath_length", "category": "Hydrological Analysis", "label": "Downslope Flowpath Length", "description": "Calculates the downslope flowpath length from each cell to basin outlet.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/downslope_flowpath_length.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#DownslopeFlowpathLength", "parameters": {"d8_pntr": {"name": "Input D8 Pointer File", "flags": ["--d8_pntr"], "description": "Input D8 pointer raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "watersheds": {"name": "Input Watersheds File (optional)", "flags": ["--watersheds"], "description": "Optional input watershed raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": true}, "weights": {"name": "Input Weights File (optional)", "flags": ["--weights"], "description": "Optional input weights raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": true}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "esri_pntr": {"name": "Does the pointer file use the ESRI pointer scheme?", "flags": ["--esri_pntr"], "description": "D8 pointer uses the ESRI style scheme.", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "DownslopeIndex": {"name": "DownslopeIndex", "tool_name": "downslope_index", "category": "Geomorphometric Analysis", "label": "Downslope Index", "description": "Calculates the Hjerdt et al. (2004) downslope index.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/downslope_index.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#DownslopeIndex", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "drop": {"name": "Verical Drop", "flags": ["--drop"], "description": "Vertical drop value (default is 2.0).", "parameter_type": "Float", "default_value": "2.0", "optional": false}, "out_type": {"name": "Output Type", "flags": ["--out_type"], "description": "Output type, options include 'tangent', 'degrees', 'radians', 'distance' (default is 'tangent').", "parameter_type": {"OptionList": ["tangent", "degrees", "radians", "distance"]}, "default_value": "tangent", "optional": true}}}, "EdgeDensity": {"name": "EdgeDensity", "tool_name": "edge_density", "category": "Geomorphometric Analysis", "label": "Edge Density", "description": "Calculates the density of edges, or breaks-in-slope within DEMs.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/edge_density.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#EdgeDensity", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "filter": {"name": "Filter Size", "flags": ["--filter"], "description": "Size of the filter kernel.", "parameter_type": "Integer", "default_value": "11", "optional": true}, "norm_diff": {"name": "Normal Difference Threshold", "flags": ["--norm_diff"], "description": "Maximum difference in normal vectors, in degrees.", "parameter_type": "Float", "default_value": "5.0", "optional": true}, "zfactor": {"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}}}, "EdgePreservingMeanFilter": {"name": "EdgePreservingMeanFilter", "tool_name": "edge_preserving_mean_filter", "category": "Image Processing Tools", "label": "Edge Preserving Mean Filter", "description": "Performs a simple edge-preserving mean filter on an input image.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/edge_preserving_mean_filter.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#EdgePreservingMeanFilter", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "filter": {"name": "Filter Size", "flags": ["--filter"], "description": "Size of the filter kernel.", "parameter_type": "Integer", "default_value": "11", "optional": true}, "threshold": {"name": "Value Difference Threshold", "flags": ["--threshold"], "description": "Maximum difference in values.", "parameter_type": "Float", "default_value": null, "optional": false}}}, "EdgeProportion": {"name": "EdgeProportion", "tool_name": "edge_proportion", "category": "GIS Analysis", "label": "Edge Proportion", "description": "Calculate the proportion of cells in a raster polygon that are edge cells.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/edge_proportion.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#EdgeProportion", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "output_text": {"name": "Output a text report?", "flags": ["--output_text"], "description": "flag indicating whether a text report should also be output.", "parameter_type": "Boolean", "default_value": null, "optional": true}}}, "ElevAbovePit": {"name": "ElevAbovePit", "tool_name": "elev_above_pit", "category": "Geomorphometric Analysis", "label": "Elev Above Pit", "description": "Calculate the elevation of each grid cell above the nearest downstream pit cell or grid edge cell.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/elev_above_pit.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#ElevAbovePit", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "ElevPercentile": {"name": "ElevPercentile", "tool_name": "elev_percentile", "category": "Geomorphometric Analysis", "label": "Elev Percentile", "description": "Calculates the elevation percentile raster from a DEM.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/elev_percentile.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#ElevPercentile", "parameters": {"dem": {"name": "Input File", "flags": ["-i", "--input", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "filterx": {"name": "Filter X-Dimension", "flags": ["--filterx"], "description": "Size of the filter kernel in the x-direction.", "parameter_type": "Integer", "default_value": "11", "optional": true}, "filtery": {"name": "Filter Y-Dimension", "flags": ["--filtery"], "description": "Size of the filter kernel in the y-direction.", "parameter_type": "Integer", "default_value": "11", "optional": true}, "sig_digits": {"name": "Number of Significant Digits", "flags": ["--sig_digits"], "description": "Number of significant digits.", "parameter_type": "Integer", "default_value": "2", "optional": true}}}, "ElevRelativeToMinMax": {"name": "ElevRelativeToMinMax", "tool_name": "elev_relative_to_min_max", "category": "Geomorphometric Analysis", "label": "Elev Relative To Min Max", "description": "Calculates the elevation of a location relative to the minimum and maximum elevations in a DEM.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/elev_relative_to_min_max.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#ElevRelativeToMinMax", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "ElevRelativeToWatershedMinMax": {"name": "ElevRelativeToWatershedMinMax", "tool_name": "elev_relative_to_watershed_min_max", "category": "Geomorphometric Analysis", "label": "Elev Relative To Watershed Min Max", "description": "Calculates the elevation of a location relative to the minimum and maximum elevations in a watershed.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/elev_relative_to_watershed_min_max.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#ElevRelativeToWatershedMinMax", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "watersheds": {"name": "Input Watersheds File", "flags": ["--watersheds"], "description": "Input raster watersheds file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "ElevationAboveStream": {"name": "ElevationAboveStream", "tool_name": "elevation_above_stream", "category": "Hydrological Analysis", "label": "Elevation Above Stream", "description": "Calculates the elevation of cells above the nearest downslope stream cell.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/elevation_above_stream.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#ElevationAboveStream", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "streams": {"name": "Input Streams File", "flags": ["--streams"], "description": "Input raster streams file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "ElevationAboveStreamEuclidean": {"name": "ElevationAboveStreamEuclidean", "tool_name": "elevation_above_stream_euclidean", "category": "Hydrological Analysis", "label": "Elevation Above Stream Euclidean", "description": "Calculates the elevation of cells above the nearest (Euclidean distance) stream cell.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/elevation_above_stream_euclidean.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#ElevationAboveStreamEuclidean", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "streams": {"name": "Input Streams File", "flags": ["--streams"], "description": "Input raster streams file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "EliminateCoincidentPoints": {"name": "EliminateCoincidentPoints", "tool_name": "eliminate_coincident_points", "category": "GIS Analysis", "label": "Eliminate Coincident Points", "description": "Removes any coincident, or nearly coincident, points from a vector points file.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/eliminate_coincident_points.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#EliminateCoincidentPoints", "parameters": {"i": {"name": "Input Vector File", "flags": ["-i", "--input"], "description": "Input vector file.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "output": {"name": "Output Points File", "flags": ["-o", "--output"], "description": "Output vector points file.", "parameter_type": {"NewFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "tolerance": {"name": "Distance Tolerance", "flags": ["--tolerance"], "description": "The distance tolerance for points.", "parameter_type": "Float", "default_value": null, "optional": false}}}, "ElongationRatio": {"name": "ElongationRatio", "tool_name": "elongation_ratio", "category": "GIS Analysis", "label": "Elongation Ratio", "description": "Calculates the elongation ratio for vector polygons.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/elongation_ratio.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#ElongationRatio", "parameters": {"i": {"name": "Input Vector Polygon File", "flags": ["-i", "--input"], "description": "Input vector polygon file.", "parameter_type": {"ExistingFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}}}, "EmbankmentMapping": {"name": "EmbankmentMapping", "tool_name": "embankment_mapping", "category": "Geomorphometric Analysis", "label": "Embankment Mapping", "description": "Maps and/or removes road embankments from an input fine-resolution DEM.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/embankment_mapping.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#EmbankmentMapping", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "road_vec": {"name": "Input Vector Transportation Line File", "flags": ["--road_vec"], "description": "Input vector polygons file.", "parameter_type": {"ExistingFile": {"Vector": "Line"}}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "search_dist": {"name": "Search Distance (in map units)", "flags": ["--search_dist"], "description": "Search distance used to reposition transportation vectors onto road embankments (in map units).", "parameter_type": "Float", "default_value": "2.5", "optional": false}, "min_road_width": {"name": "Minimum Road Width (in map units)", "flags": ["--min_road_width"], "description": "Minimum road width; this is the width of the paved road surface (in map units).", "parameter_type": "Float", "default_value": "6.0", "optional": false}, "typical_width": {"name": "Typical Embankment Width (in map units)", "flags": ["--typical_width"], "description": "Typical embankment width; this is the maximum width of an embankment with roadside ditches (in map units).", "parameter_type": "Float", "default_value": "30.0", "optional": false}, "max_height": {"name": "Typical Embankment Max Height (in map units)", "flags": ["--max_height"], "description": "Typical embankment maximum height; this is the height a typical embankment with roadside ditches (in map units).", "parameter_type": "Float", "default_value": "2.0", "optional": false}, "max_width": {"name": "Embankment Max Width (in map units)", "flags": ["--max_width"], "description": "Maximum embankment width, typically where embankments traverse steep-sided valleys (in map units).", "parameter_type": "Float", "default_value": "60.0", "optional": false}, "max_increment": {"name": "Max Upwards Increment (in elevation units)", "flags": ["--max_increment"], "description": "Maximum upwards increment between neighbouring cells on an embankment (in elevation units).", "parameter_type": "Float", "default_value": "0.05", "optional": false}, "spillout_slope": {"name": "Spillout Slope (in map units)", "flags": ["--spillout_slope"], "description": "Spillout slope (in degrees).", "parameter_type": "Float", "default_value": "4.0", "optional": false}, "remove_embankments": {"name": "Remove mapped embankments?", "flags": ["--remove_embankments"], "description": "Optional flag indicating whether to output a DEM with embankments removed (true) or an embankment raster map (false).", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "EmbossFilter": {"name": "EmbossFilter", "tool_name": "emboss_filter", "category": "Image Processing Tools", "label": "Emboss Filter", "description": "Performs an emboss filter on an image, similar to a hillshade operation.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/emboss_filter.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#EmbossFilter", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "direction": {"name": "Direction", "flags": ["--direction"], "description": "Direction of reflection; options include 'n', 's', 'e', 'w', 'ne', 'se', 'nw', 'sw'", "parameter_type": {"OptionList": ["n", "s", "e", "w", "ne", "se", "nw", "sw"]}, "default_value": "n", "optional": true}, "clip": {"name": "Percent to clip the distribution tails", "flags": ["--clip"], "description": "Optional amount to clip the distribution tails by, in percent.", "parameter_type": "Float", "default_value": "0.0", "optional": true}}}, "EqualTo": {"name": "EqualTo", "tool_name": "equal_to", "category": "Math and Stats Tools", "label": "Equal To", "description": "Performs a equal-to comparison operation on two rasters or a raster and a constant value.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/equal_to.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#EqualTo", "parameters": {"input1": {"name": "Input File Or Constant Value", "flags": ["--input1"], "description": "Input raster file or constant value.", "parameter_type": {"ExistingFileOrFloat": "Raster"}, "default_value": null, "optional": false}, "input2": {"name": "Input File Or Constant Value", "flags": ["--input2"], "description": "Input raster file or constant value.", "parameter_type": {"ExistingFileOrFloat": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "Erase": {"name": "Erase", "tool_name": "erase", "category": "GIS Analysis", "label": "Erase", "description": "Removes all the features, or parts of features, that overlap with the features of the erase vector polygon.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/erase.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#Erase", "parameters": {"i": {"name": "Input Vector File", "flags": ["-i", "--input"], "description": "Input vector file.", "parameter_type": {"ExistingFile": {"Vector": "Any"}}, "default_value": null, "optional": false}, "erase": {"name": "Input Erase Polygon Vector File", "flags": ["--erase"], "description": "Input erase polygon vector file.", "parameter_type": {"ExistingFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}, "output": {"name": "Output Vector File", "flags": ["-o", "--output"], "description": "Output vector file.", "parameter_type": {"NewFile": {"Vector": "Any"}}, "default_value": null, "optional": false}}}, "ErasePolygonFromLidar": {"name": "ErasePolygonFromLidar", "tool_name": "erase_polygon_from_lidar", "category": "LiDAR Tools", "label": "Erase Polygon From Lidar", "description": "Erases (cuts out) a vector polygon or polygons from a LiDAR point cloud.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/lidar_analysis/erase_polygon_from_lidar.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#ErasePolygonFromLidar", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input LiDAR file.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": false}, "polygons": {"name": "Input Vector Polygon File", "flags": ["--polygons"], "description": "Input vector polygons file.", "parameter_type": {"ExistingFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output LiDAR file.", "parameter_type": {"NewFile": "Lidar"}, "default_value": null, "optional": false}}}, "ErasePolygonFromRaster": {"name": "ErasePolygonFromRaster", "tool_name": "erase_polygon_from_raster", "category": "GIS Analysis", "label": "Erase Polygon From Raster", "description": "Erases (cuts out) a vector polygon from a raster.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/erase_polygon_from_raster.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#ErasePolygonFromRaster", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "polygons": {"name": "Input Vector Polygon File", "flags": ["--polygons"], "description": "Input vector polygons file.", "parameter_type": {"ExistingFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "EuclideanAllocation": {"name": "EuclideanAllocation", "tool_name": "euclidean_allocation", "category": "GIS Analysis", "label": "Euclidean Allocation", "description": "Assigns grid cells in the output raster the value of the nearest target cell in the input image, measured by the Shih and Wu (2004) Euclidean distance transform.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/euclidean_allocation.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#EuclideanAllocation", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "EuclideanDistance": {"name": "EuclideanDistance", "tool_name": "euclidean_distance", "category": "GIS Analysis", "label": "Euclidean Distance", "description": "Calculates the Shih and Wu (2004) Euclidean distance transform.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/euclidean_distance.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#EuclideanDistance", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "EvaluateTrainingSites": {"name": "EvaluateTrainingSites", "tool_name": "evaluate_training_sites", "category": "Image Processing Tools", "label": "Evaluate Training Sites", "description": "This tool can be used to inspect the overlap in spectral signatures of training sites for various classes.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools/classification.html#EvaluateTrainingSites", "parameters": {"inputs": {"name": "Input Band Images", "flags": ["-i", "--inputs"], "description": "Name of the input band images.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "polys": {"name": "Input Training Polygons", "flags": ["-p", "--polys"], "description": "Name of the input training site polygons shapefile.", "parameter_type": {"ExistingFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}, "field": {"name": "Class Name Field", "flags": ["-f", "--field"], "description": "Name of the attribute containing class name data.", "parameter_type": {"VectorAttributeField": ["Any", "--polys"]}, "default_value": null, "optional": false}, "output": {"name": "Output File (*.html)", "flags": ["-o", "--output"], "description": "Name of the output report file (*.html).", "parameter_type": {"NewFile": "Html"}, "default_value": null, "optional": false}}}, "Exp": {"name": "Exp", "tool_name": "exp", "category": "Math and Stats Tools", "label": "Exp", "description": "Returns the exponential (base e) of values in a raster.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/exp.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#Exp", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "Exp2": {"name": "Exp2", "tool_name": "exp2", "category": "Math and Stats Tools", "label": "Exp2", "description": "Returns the exponential (base 2) of values in a raster.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/exp2.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#Exp2", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "ExportTableToCsv": {"name": "ExportTableToCsv", "tool_name": "export_table_to_csv", "category": "Data Tools", "label": "Export Table To Csv", "description": "Exports an attribute table to a CSV text file.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/data_tools/export_table_to_csv.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/data_tools.html#ExportTableToCsv", "parameters": {"i": {"name": "Input Vector File", "flags": ["-i", "--input"], "description": "Input vector file.", "parameter_type": {"ExistingFile": {"Vector": "Any"}}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output csv file.", "parameter_type": {"NewFile": "Csv"}, "default_value": null, "optional": false}, "headers": {"name": "Export field names as file header?", "flags": ["--headers"], "description": "Export field names as file header?", "parameter_type": "Boolean", "default_value": "true", "optional": true}}}, "ExtendVectorLines": {"name": "ExtendVectorLines", "tool_name": "extend_vector_lines", "category": "GIS Analysis", "label": "Extend Vector Lines", "description": "Extends vector lines by a specified distance.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/extend_vector_lines.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#ExtendVectorLines", "parameters": {"i": {"name": "Input Vector Lines File", "flags": ["-i", "--input"], "description": "Input vector polyline file.", "parameter_type": {"ExistingFile": {"Vector": "Line"}}, "default_value": null, "optional": false}, "output": {"name": "Output Vector File", "flags": ["-o", "--output"], "description": "Output vector polyline file.", "parameter_type": {"NewFile": {"Vector": "Line"}}, "default_value": null, "optional": false}, "dist": {"name": "Extend Distance", "flags": ["--dist"], "description": "The distance to extend.", "parameter_type": "Float", "default_value": null, "optional": false}, "extend": {"name": "Extend Direction", "flags": ["--extend"], "description": "Extend direction, 'both ends' (default), 'line start', 'line end'.", "parameter_type": {"OptionList": ["both ends", "line start", "line end"]}, "default_value": "both ends", "optional": true}}}, "ExtractNodes": {"name": "ExtractNodes", "tool_name": "extract_nodes", "category": "GIS Analysis", "label": "Extract Nodes", "description": "Converts vector lines or polygons into vertex points.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/extract_nodes.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#ExtractNodes", "parameters": {"i": {"name": "Input Vector File", "flags": ["-i", "--input"], "description": "Input vector lines or polygon file.", "parameter_type": {"ExistingFile": {"Vector": "Any"}}, "default_value": null, "optional": false}, "output": {"name": "Output Points File", "flags": ["-o", "--output"], "description": "Output vector points file.", "parameter_type": {"NewFile": {"Vector": "Point"}}, "default_value": null, "optional": false}}}, "ExtractRasterValuesAtPoints": {"name": "ExtractRasterValuesAtPoints", "tool_name": "extract_raster_values_at_points", "category": "GIS Analysis", "label": "Extract Raster Values At Points", "description": "Extracts the values of raster(s) at vector point locations.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/extract_raster_values_at_points.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#ExtractRasterValuesAtPoints", "parameters": {"inputs": {"name": "Input Files", "flags": ["-i", "--inputs"], "description": "Input raster files.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "points": {"name": "Input Points File", "flags": ["--points"], "description": "Input vector points file.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "out_text": {"name": "Output text?", "flags": ["--out_text"], "description": "Output point values as text? Otherwise, the only output is to to the points file's attribute table.", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "ExtractStreams": {"name": "ExtractStreams", "tool_name": "extract_streams", "category": "Stream Network Analysis", "label": "Extract Streams", "description": "Extracts stream grid cells from a flow accumulation raster.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/stream_network_analysis/extract_streams.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/stream_network_analysis.html#ExtractStreams", "parameters": {"flow_accum": {"name": "Input D8 Flow Accumulation File", "flags": ["--flow_accum"], "description": "Input raster D8 flow accumulation file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "threshold": {"name": "Channelization Threshold", "flags": ["--threshold"], "description": "Threshold in flow accumulation values for channelization.", "parameter_type": "Float", "default_value": null, "optional": false}, "zero_background": {"name": "Should a background value of zero be used?", "flags": ["--zero_background"], "description": "Flag indicating whether a background value of zero should be used.", "parameter_type": "Boolean", "default_value": null, "optional": true}}}, "ExtractValleys": {"name": "ExtractValleys", "tool_name": "extract_valleys", "category": "Stream Network Analysis", "label": "Extract Valleys", "description": "Identifies potential valley bottom grid cells based on local topolography alone.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/stream_network_analysis/extract_valleys.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/stream_network_analysis.html#ExtractValleys", "parameters": {"dem": {"name": "Input DEM File", "flags": ["--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "variant": {"name": "Variant", "flags": ["--variant"], "description": "Options include 'LQ' (lower quartile), 'JandR' (Johnston and Rosenfeld), and 'PandD' (Peucker and Douglas); default is 'LQ'.", "parameter_type": {"OptionList": ["LQ", "JandR", "PandD"]}, "default_value": "LQ", "optional": false}, "line_thin": {"name": "Perform line-thinning?", "flags": ["--line_thin"], "description": "Optional flag indicating whether post-processing line-thinning should be performed.", "parameter_type": "Boolean", "default_value": "true", "optional": true}, "filter": {"name": "Filter Size (Only For Lower Quartile)", "flags": ["--filter"], "description": "Optional argument (only used when variant='lq') providing the filter size, in grid cells, used for lq-filtering (default is 5).", "parameter_type": "Integer", "default_value": "5", "optional": true}}}, "Fd8FlowAccumulation": {"name": "Fd8FlowAccumulation", "tool_name": "fd8_flow_accumulation", "category": "Hydrological Analysis", "label": "Fd8 Flow Accumulation", "description": "Calculates an FD8 flow accumulation raster from an input DEM.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/fd8_flow_accum.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#Fd8FlowAccumulation", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "out_type": {"name": "Output Type", "flags": ["--out_type"], "description": "Output type; one of 'cells', 'specific contributing area' (default), and 'catchment area'.", "parameter_type": {"OptionList": ["cells", "specific contributing area", "catchment area"]}, "default_value": "specific contributing area", "optional": true}, "exponent": {"name": "Exponent Parameter", "flags": ["--exponent"], "description": "Optional exponent parameter; default is 1.1.", "parameter_type": "Float", "default_value": "1.1", "optional": true}, "threshold": {"name": "Convergence Threshold (grid cells; blank for none)", "flags": ["--threshold"], "description": "Optional convergence threshold parameter, in grid cells; default is infinity.", "parameter_type": "Float", "default_value": null, "optional": true}, "log": {"name": "Log-transform the output?", "flags": ["--log"], "description": "Optional flag to request the output be log-transformed.", "parameter_type": "Boolean", "default_value": null, "optional": true}, "clip": {"name": "Clip the upper tail by 1%?", "flags": ["--clip"], "description": "Optional flag to request clipping the display max by 1%.", "parameter_type": "Boolean", "default_value": null, "optional": true}}}, "Fd8Pointer": {"name": "Fd8Pointer", "tool_name": "fd8_pointer", "category": "Hydrological Analysis", "label": "Fd8 Pointer", "description": "Calculates an FD8 flow pointer raster from an input DEM.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/fd8_pointer.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#Fd8Pointer", "parameters": {"dem": {"name": "Input File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "FarthestChannelHead": {"name": "FarthestChannelHead", "tool_name": "farthest_channel_head", "category": "Stream Network Analysis", "label": "Farthest Channel Head", "description": "Calculates the distance to the furthest upstream channel head for each stream cell.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/stream_network_analysis/farthest_channel_head.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/stream_network_analysis.html#FarthestChannelHead", "parameters": {"d8_pntr": {"name": "Input D8 Pointer File", "flags": ["--d8_pntr"], "description": "Input raster D8 pointer file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "streams": {"name": "Input Streams File", "flags": ["--streams"], "description": "Input raster streams file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "esri_pntr": {"name": "Does the pointer file use the ESRI pointer scheme?", "flags": ["--esri_pntr"], "description": "D8 pointer uses the ESRI style scheme.", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "zero_background": {"name": "Should a background value of zero be used?", "flags": ["--zero_background"], "description": "Flag indicating whether a background value of zero should be used.", "parameter_type": "Boolean", "default_value": null, "optional": true}}}, "FastAlmostGaussianFilter": {"name": "FastAlmostGaussianFilter", "tool_name": "fast_almost_gaussian_filter", "category": "Image Processing Tools", "label": "Fast Almost Gaussian Filter", "description": "Performs a fast approximate Gaussian filter on an image.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/fast_almost_gaussian_filter.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#FastAlmostGaussianFilter", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "sigma": {"name": "Standard Deviation (pixels)", "flags": ["--sigma"], "description": "Standard deviation distance in pixels.", "parameter_type": "Float", "default_value": "1.8", "optional": false}}}, "FeaturePreservingSmoothing": {"name": "FeaturePreservingSmoothing", "tool_name": "feature_preserving_smoothing", "category": "Geomorphometric Analysis", "label": "Feature Preserving Smoothing", "description": "Reduces short-scale variation in an input DEM using a modified Sun et al. (2007) algorithm.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/feature_preserving_smoothing.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#FeaturePreservingSmoothing", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "filter": {"name": "Filter Size", "flags": ["--filter"], "description": "Size of the filter kernel.", "parameter_type": "Integer", "default_value": "11", "optional": true}, "norm_diff": {"name": "Normal Difference Threshold", "flags": ["--norm_diff"], "description": "Maximum difference in normal vectors, in degrees.", "parameter_type": "Float", "default_value": "15.0", "optional": true}, "num_iter": {"name": "Iterations", "flags": ["--num_iter"], "description": "Number of iterations.", "parameter_type": "Integer", "default_value": "3", "optional": true}, "max_diff": {"name": "Maximum Elevation Change", "flags": ["--max_diff"], "description": "Maximum allowable absolute elevation change (optional).", "parameter_type": "Float", "default_value": "0.5", "optional": true}, "zfactor": {"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}}}, "FetchAnalysis": {"name": "FetchAnalysis", "tool_name": "fetch_analysis", "category": "Geomorphometric Analysis", "label": "Fetch Analysis", "description": "Performs an analysis of fetch or upwind distance to an obstacle.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/fetch_analysis.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#FetchAnalysis", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "azimuth": {"name": "Azimuth (degrees)", "flags": ["--azimuth"], "description": "Wind azimuth in degrees in degrees.", "parameter_type": "Float", "default_value": "0.0", "optional": true}, "hgt_inc": {"name": "Height Increment Value", "flags": ["--hgt_inc"], "description": "Height increment value.", "parameter_type": "Float", "default_value": "0.05", "optional": true}}}, "FillBurn": {"name": "FillBurn", "tool_name": "fill_burn", "category": "Hydrological Analysis", "label": "Fill Burn", "description": "Burns streams into a DEM using the FillBurn (Saunders, 1999) method.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/fill_burn.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#FillBurn", "parameters": {"dem": {"name": "Input DEM File", "flags": ["--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "streams": {"name": "Input Vector Streams File", "flags": ["--streams"], "description": "Input vector streams file.", "parameter_type": {"ExistingFile": {"Vector": "Line"}}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "FillDepressions": {"name": "FillDepressions", "tool_name": "fill_depressions", "category": "Hydrological Analysis", "label": "Fill Depressions", "description": "Fills all of the depressions in a DEM. Depression breaching should be preferred in most cases.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/fill_depressions.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#FillDepressions", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "fix_flats": {"name": "Fix flat areas?", "flags": ["--fix_flats"], "description": "Optional flag indicating whether flat areas should have a small gradient applied.", "parameter_type": "Boolean", "default_value": "true", "optional": true}, "flat_increment": {"name": "Flat increment value (z units)", "flags": ["--flat_increment"], "description": "Optional elevation increment applied to flat areas.", "parameter_type": "Float", "default_value": null, "optional": true}, "max_depth": {"name": "Maximum depth (z units)", "flags": ["--max_depth"], "description": "Optional maximum depression depth to fill.", "parameter_type": "Float", "default_value": null, "optional": true}}}, "FillDepressionsPlanchonAndDarboux": {"name": "FillDepressionsPlanchonAndDarboux", "tool_name": "fill_depressions_planchon_and_darboux", "category": "Hydrological Analysis", "label": "Fill Depressions Planchon And Darboux", "description": "Fills all of the depressions in a DEM using the Planchon and Darboux (2002) method.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/fill_depressions_planchon_and_darboux.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#FillDepressionsPlanchonAndDarboux", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "fix_flats": {"name": "Fix flat areas?", "flags": ["--fix_flats"], "description": "Optional flag indicating whether flat areas should have a small gradient applied.", "parameter_type": "Boolean", "default_value": "true", "optional": true}, "flat_increment": {"name": "Flat increment value (z units)", "flags": ["--flat_increment"], "description": "Optional elevation increment applied to flat areas.", "parameter_type": "Float", "default_value": null, "optional": true}}}, "FillDepressionsWangAndLiu": {"name": "FillDepressionsWangAndLiu", "tool_name": "fill_depressions_wang_and_liu", "category": "Hydrological Analysis", "label": "Fill Depressions Wang And Liu", "description": "Fills all of the depressions in a DEM using the Wang and Liu (2006) method. Depression breaching should be preferred in most cases.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/fill_depressions_wang_and_liu.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#FillDepressionsWangAndLiu", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "fix_flats": {"name": "Fix flat areas?", "flags": ["--fix_flats"], "description": "Optional flag indicating whether flat areas should have a small gradient applied.", "parameter_type": "Boolean", "default_value": "true", "optional": true}, "flat_increment": {"name": "Flat increment value (z units)", "flags": ["--flat_increment"], "description": "Optional elevation increment applied to flat areas.", "parameter_type": "Float", "default_value": null, "optional": true}}}, "FillMissingData": {"name": "FillMissingData", "tool_name": "fill_missing_data", "category": "Geomorphometric Analysis", "label": "Fill Missing Data", "description": "Fills NoData holes in a DEM.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/fill_missing_data.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#FillMissingData", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "filter": {"name": "Filter Dimension", "flags": ["--filter"], "description": "Filter size (cells).", "parameter_type": "Integer", "default_value": "11", "optional": false}, "weight": {"name": "IDW Weight (Exponent) Value", "flags": ["--weight"], "description": "IDW weight value.", "parameter_type": "Float", "default_value": "2.0", "optional": true}, "no_edges": {"name": "Exclude edge-of-raster-connected NoData cells?", "flags": ["--no_edges"], "description": "Optional flag indicating whether to exclude NoData cells in edge regions.", "parameter_type": "Boolean", "default_value": "true", "optional": true}}}, "FillSingleCellPits": {"name": "FillSingleCellPits", "tool_name": "fill_single_cell_pits", "category": "Hydrological Analysis", "label": "Fill Single Cell Pits", "description": "Raises pit cells to the elevation of their lowest neighbour.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/fill_pits.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#FillSingleCellPits", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "FilterLidar": {"name": "FilterLidar", "tool_name": "filter_lidar", "category": "LiDAR Tools", "label": "Filter Lidar", "description": "Filters points within a LiDAR point cloud based on point properties.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#FilterLidar", "parameters": {"i": {"name": "Input LiDAR Points", "flags": ["-i", "--input"], "description": "Name of the input LiDAR points.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": true}, "output": {"name": "Output LiDAR Points", "flags": ["-o", "--output"], "description": "Name of the output LiDAR points.", "parameter_type": {"NewFile": "Lidar"}, "default_value": null, "optional": true}, "statement": {"name": "Statement:", "flags": ["-s", "--statement"], "description": "Filter statement e.g. x < 5000.0 && y > 100.0 && is_late && !is_noise. This statement must be a valid Rust statement.", "parameter_type": "String", "default_value": "", "optional": false}}}, "FilterLidarByPercentile": {"name": "FilterLidarByPercentile", "tool_name": "filter_lidar_by_percentile", "category": "LiDAR Tools", "label": "Filter Lidar By Percentile", "description": "Filters points within a LiDAR point cloud based on local elevation percentile.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#FilterLidarByPercentile", "parameters": {"i": {"name": "Input LiDAR Points", "flags": ["-i", "--input"], "description": "Name of the input LiDAR points.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": true}, "output": {"name": "Output LiDAR Points", "flags": ["-o", "--output"], "description": "Name of the output LiDAR points.", "parameter_type": {"NewFile": "Lidar"}, "default_value": null, "optional": true}, "percentile": {"name": "Percentile", "flags": ["--percentile"], "description": "Percentile (0.0 - 100.0).", "parameter_type": "Float", "default_value": "0.0", "optional": true}, "block_size": {"name": "Block size (xy units)", "flags": ["--block_size"], "description": "Block size (xy units).", "parameter_type": "Float", "default_value": "1.0", "optional": true}}}, "FilterLidarByReferenceSurface": {"name": "FilterLidarByReferenceSurface", "tool_name": "filter_lidar_by_reference_surface", "category": "LiDAR Tools", "label": "Filter Lidar By Reference Surface", "description": "Filters points within a LiDAR point cloud based on a reference surface.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#FilterLidarByReferenceSurface", "parameters": {"i": {"name": "Input LiDAR Points", "flags": ["-i", "--input"], "description": "Name of the input LiDAR points.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": true}, "ref_surface": {"name": "Input Reference Surface Raster", "flags": ["--ref_surface"], "description": "Name of the input reference surface raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output LiDAR Points", "flags": ["-o", "--output"], "description": "Name of the output LiDAR points.", "parameter_type": {"NewFile": "Lidar"}, "default_value": null, "optional": true}, "query": {"name": "Query type", "flags": ["--query"], "description": "Query type; options are 'within', '<', '<=', '>', and '>='.", "parameter_type": {"OptionList": ["within", "<", "<=", ">", ">="]}, "default_value": "within", "optional": true}, "threshold": {"name": "Threshold value", "flags": ["--threshold"], "description": "Threshold value, only used for 'within' query type.", "parameter_type": "Float", "default_value": "0.0", "optional": true}, "classify": {"name": "Should the point cloud be classified rather than filtered?", "flags": ["--classify"], "description": "Classify the point cloud; --classify=True for classify and --classify=False for filter.", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "true_class_value": {"name": "True-Class Value", "flags": ["--true_class_value"], "description": "Value to assign when query is True (only used when --classify=True).", "parameter_type": "Integer", "default_value": "2", "optional": true}, "false_class_value": {"name": "False-Class Value", "flags": ["--false_class_value"], "description": "Value to assign when query is False (only used when --classify=True).", "parameter_type": "Integer", "default_value": "1", "optional": true}, "preserve_classes": {"name": "Should the input class values be preserved?", "flags": ["--preserve_classes"], "description": "Should the input class values be preserved where query=False (only used when --classify=True).", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "FilterLidarClasses": {"name": "FilterLidarClasses", "tool_name": "filter_lidar_classes", "category": "LiDAR Tools", "label": "Filter Lidar Classes", "description": "Removes points in a LAS file with certain specified class values.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/lidar_analysis/filter_lidar_classes.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#FilterLidarClasses", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input LiDAR file.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output LiDAR file.", "parameter_type": {"NewFile": "Lidar"}, "default_value": null, "optional": false}, "exclude_cls": {"name": "Exclusion Classes (0-18, based on LAS spec; e.g. 7,18)", "flags": ["--exclude_cls"], "description": "Optional exclude classes from interpolation; Valid class values range from 0 to 18, based on LAS specifications. Example, --exclude_cls='3,4,5,6,7,18'.", "parameter_type": "String", "default_value": null, "optional": true}}}, "FilterLidarScanAngles": {"name": "FilterLidarScanAngles", "tool_name": "filter_lidar_scan_angles", "category": "LiDAR Tools", "label": "Filter Lidar Scan Angles", "description": "Removes points in a LAS file with scan angles greater than a threshold.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/lidar_analysis/filter_lidar_scan_angles.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#FilterLidarScanAngles", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input LiDAR file.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output LiDAR file.", "parameter_type": {"NewFile": "Lidar"}, "default_value": null, "optional": false}, "threshold": {"name": "Threshold (degrees)", "flags": ["--threshold"], "description": "Scan angle threshold.", "parameter_type": "Float", "default_value": null, "optional": false}}}, "FilterRasterFeaturesByArea": {"name": "FilterRasterFeaturesByArea", "tool_name": "filter_raster_features_by_area", "category": "GIS Analysis", "label": "Filter Raster Features By Area", "description": "Removes small-area features from a raster.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/filter_raster_features_by_area.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#FilterRasterFeaturesByArea", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "threshold": {"name": "Area Threshold (grid cells)", "flags": ["--threshold"], "description": "Remove features with fewer grid cells than this threshold value.", "parameter_type": "Integer", "default_value": null, "optional": false}, "background": {"name": "Background Value", "flags": ["--background"], "description": "Background value.", "parameter_type": {"OptionList": ["zero", "nodata"]}, "default_value": "zero", "optional": true}}}, "FindFlightlineEdgePoints": {"name": "FindFlightlineEdgePoints", "tool_name": "find_flightline_edge_points", "category": "LiDAR Tools", "label": "Find Flightline Edge Points", "description": "Identifies points along a flightline's edge in a LAS file.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/lidar_analysis/find_flightline_edge_points.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#FindFlightlineEdgePoints", "parameters": {"i": {"name": "Input LiDAR File", "flags": ["-i", "--input"], "description": "Input LiDAR file.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output file.", "parameter_type": {"NewFile": "Lidar"}, "default_value": null, "optional": false}}}, "FindLowestOrHighestPoints": {"name": "FindLowestOrHighestPoints", "tool_name": "find_lowest_or_highest_points", "category": "GIS Analysis", "label": "Find Lowest Or Highest Points", "description": "Locates the lowest and/or highest valued cells in a raster.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/find_lowest_or_highest_points.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#FindLowestOrHighestPoints", "parameters": {"i": {"name": "Input Raster File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Points File", "flags": ["-o", "--output"], "description": "Output vector points file.", "parameter_type": {"NewFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "out_type": {"name": "Output Type", "flags": ["--out_type"], "description": "Output type; one of 'area' (default) and 'volume'.", "parameter_type": {"OptionList": ["lowest", "highest", "both"]}, "default_value": "lowest", "optional": true}}}, "FindMainStem": {"name": "FindMainStem", "tool_name": "find_main_stem", "category": "Stream Network Analysis", "label": "Find Main Stem", "description": "Finds the main stem, based on stream lengths, of each stream network.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/stream_network_analysis/find_main_stem.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/stream_network_analysis.html#FindMainStem", "parameters": {"d8_pntr": {"name": "Input D8 Pointer File", "flags": ["--d8_pntr"], "description": "Input raster D8 pointer file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "streams": {"name": "Input Streams File", "flags": ["--streams"], "description": "Input raster streams file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "esri_pntr": {"name": "Does the pointer file use the ESRI pointer scheme?", "flags": ["--esri_pntr"], "description": "D8 pointer uses the ESRI style scheme.", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "zero_background": {"name": "Should a background value of zero be used?", "flags": ["--zero_background"], "description": "Flag indicating whether a background value of zero should be used.", "parameter_type": "Boolean", "default_value": null, "optional": true}}}, "FindNoFlowCells": {"name": "FindNoFlowCells", "tool_name": "find_no_flow_cells", "category": "Hydrological Analysis", "label": "Find No Flow Cells", "description": "Finds grid cells with no downslope neighbours.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/find_noflow_cells.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#FindNoFlowCells", "parameters": {"dem": {"name": "Input File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "FindParallelFlow": {"name": "FindParallelFlow", "tool_name": "find_parallel_flow", "category": "Hydrological Analysis", "label": "Find Parallel Flow", "description": "Finds areas of parallel flow in D8 flow direction rasters.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/find_parallel_flow.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#FindParallelFlow", "parameters": {"d8_pntr": {"name": "Input D8 Pointer File", "flags": ["--d8_pntr"], "description": "Input D8 pointer raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "streams": {"name": "Input Streams File", "flags": ["--streams"], "description": "Input raster streams file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "FindPatchOrClassEdgeCells": {"name": "FindPatchOrClassEdgeCells", "tool_name": "find_patch_or_class_edge_cells", "category": "GIS Analysis", "label": "Find Patch Or Class Edge Cells", "description": "Finds all cells located on the edge of patch or class features.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/find_patch_edge_cells.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#FindPatchOrClassEdgeCells", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "FindRidges": {"name": "FindRidges", "tool_name": "find_ridges", "category": "Geomorphometric Analysis", "label": "Find Ridges", "description": "Identifies potential ridge and peak grid cells.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/find_ridges.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#FindRidges", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "line_thin": {"name": "Perform line-thinning?", "flags": ["--line_thin"], "description": "Optional flag indicating whether post-processing line-thinning should be performed.", "parameter_type": "Boolean", "default_value": "true", "optional": true}}}, "FixDanglingArcs": {"name": "FixDanglingArcs", "tool_name": "fix_dangling_arcs", "category": "Data Tools", "label": "Fix Dangling Arcs", "description": "This tool fixes undershot and overshot arcs, two common topological errors, in an input vector lines file.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/data_tools.html#FixDanglingArcs", "parameters": {"i": {"name": "Input Vector Lines", "flags": ["-i", "--input"], "description": "Name of the input lines vector file.", "parameter_type": {"ExistingFile": {"Vector": "Line"}}, "default_value": null, "optional": false}, "output": {"name": "Output Lines", "flags": ["-o", "--output"], "description": "Name of the output lines vector file.", "parameter_type": {"NewFile": {"Vector": "Line"}}, "default_value": null, "optional": false}, "dist": {"name": "Snap Distance", "flags": ["--snap", "--dist"], "description": "Snap distance, in xy units (metres).", "parameter_type": "Float", "default_value": "", "optional": false}}}, "FlattenLakes": {"name": "FlattenLakes", "tool_name": "flatten_lakes", "category": "Hydrological Analysis", "label": "Flatten Lakes", "description": "Flattens lake polygons in a raster DEM.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/flatten_lakes.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#FlattenLakes", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "lakes": {"name": "Input Lakes Vector Polygon File", "flags": ["--lakes"], "description": "Input lakes vector polygons file.", "parameter_type": {"ExistingFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "FlightlineOverlap": {"name": "FlightlineOverlap", "tool_name": "flightline_overlap", "category": "LiDAR Tools", "label": "Flightline Overlap", "description": "Reads a LiDAR (LAS) point file and outputs a raster containing the number of overlapping flight-lines in each grid cell.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/lidar_analysis/flightline_overlap.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#FlightlineOverlap", "parameters": {"i": {"name": "Input LiDAR File", "flags": ["-i", "--input"], "description": "Input LiDAR file.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": true}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": true}, "resolution": {"name": "Grid Resolution", "flags": ["--resolution"], "description": "Output raster's grid resolution.", "parameter_type": "Float", "default_value": "1.0", "optional": true}}}, "FlipImage": {"name": "FlipImage", "tool_name": "flip_image", "category": "Image Processing Tools", "label": "Flip Image", "description": "Reflects an image in the vertical or horizontal axis.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/flip_image.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#FlipImage", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "direction": {"name": "Direction", "flags": ["--direction"], "description": "Direction of reflection; options include 'v' (vertical), 'h' (horizontal), and 'b' (both).", "parameter_type": {"OptionList": ["vertical", "horizontal", "both"]}, "default_value": "vertical", "optional": true}}}, "FloodOrder": {"name": "FloodOrder", "tool_name": "flood_order", "category": "Hydrological Analysis", "label": "Flood Order", "description": "Assigns each DEM grid cell its order in the sequence of inundations that are encountered during a search starting from the edges, moving inward at increasing elevations.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/flood_order.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#FloodOrder", "parameters": {"dem": {"name": "Input File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "Floor": {"name": "Floor", "tool_name": "floor", "category": "Math and Stats Tools", "label": "Floor", "description": "Returns the largest (closest to positive infinity) value that is less than or equal to the values in a raster.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/floor.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#Floor", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "FlowAccumulationFullWorkflow": {"name": "FlowAccumulationFullWorkflow", "tool_name": "flow_accumulation_full_workflow", "category": "Hydrological Analysis", "label": "Flow Accumulation Full Workflow", "description": "Resolves all of the depressions in a DEM, outputting a breached DEM, an aspect-aligned non-divergent flow pointer, and a flow accumulation raster.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/flow_accum_full_workflow.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#FlowAccumulationFullWorkflow", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "out_dem": {"name": "Output DEM File", "flags": ["--out_dem"], "description": "Output raster DEM file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "out_pntr": {"name": "Output Flow Pointer File", "flags": ["--out_pntr"], "description": "Output raster flow pointer file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "out_accum": {"name": "Output Flow Accumulation File", "flags": ["--out_accum"], "description": "Output raster flow accumulation file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "out_type": {"name": "Output Type", "flags": ["--out_type"], "description": "Output type; one of 'cells', 'sca' (default), and 'ca'.", "parameter_type": {"OptionList": ["Cells", "Specific Contributing Area", "Catchment Area"]}, "default_value": "Specific Contributing Area", "optional": true}, "correct_pntr": {"name": "Corrected flow pointer", "flags": ["--correct_pntr"], "description": "Optional flag to apply corerections that limit potential artifacts in the flow pointer.", "parameter_type": "Boolean", "default_value": null, "optional": true}, "log": {"name": "Log-transform the output?", "flags": ["--log"], "description": "Optional flag to request the output be log-transformed.", "parameter_type": "Boolean", "default_value": null, "optional": true}, "clip": {"name": "Clip the upper tail by 1%?", "flags": ["--clip"], "description": "Optional flag to request clipping the display max by 1%.", "parameter_type": "Boolean", "default_value": null, "optional": true}, "esri_pntr": {"name": "Does the pointer file use the ESRI pointer scheme?", "flags": ["--esri_pntr"], "description": "D8 pointer uses the ESRI style scheme.", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "FlowLengthDiff": {"name": "FlowLengthDiff", "tool_name": "flow_length_diff", "category": "Hydrological Analysis", "label": "Flow Length Diff", "description": "Calculates the local maximum absolute difference in downslope flowpath length, useful in mapping drainage divides and ridges.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/flow_length_diff.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#FlowLengthDiff", "parameters": {"d8_pntr": {"name": "Input D8 Pointer File", "flags": ["--d8_pntr"], "description": "Input D8 pointer raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "esri_pntr": {"name": "Does the pointer file use the ESRI pointer scheme?", "flags": ["--esri_pntr"], "description": "D8 pointer uses the ESRI style scheme.", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "GammaCorrection": {"name": "GammaCorrection", "tool_name": "gamma_correction", "category": "Image Processing Tools", "label": "Gamma Correction", "description": "Performs a gamma correction on an input images.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/gamma_correction.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#GammaCorrection", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "gamma": {"name": "Gamma Value", "flags": ["--gamma"], "description": "Gamma value.", "parameter_type": "Float", "default_value": "0.5", "optional": true}}}, "GaussianContrastStretch": {"name": "GaussianContrastStretch", "tool_name": "gaussian_contrast_stretch", "category": "Image Processing Tools", "label": "Gaussian Contrast Stretch", "description": "Performs a Gaussian contrast stretch on input images.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/gaussian_contrast_stretch.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#GaussianContrastStretch", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "num_tones": {"name": "Number of Tones", "flags": ["--num_tones"], "description": "Number of tones in the output image.", "parameter_type": "Integer", "default_value": "256", "optional": false}}}, "GaussianCurvature": {"name": "GaussianCurvature", "tool_name": "gaussian_curvature", "category": "Geomorphometric Analysis", "label": "Gaussian Curvature", "description": "Calculates a mean curvature raster from an input DEM.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/gaussian_curvature.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#GaussianCurvature", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "log": {"name": "Log-transform the output?", "flags": ["--log"], "description": "Display output values using a log-scale.", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "zfactor": {"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}}}, "GaussianFilter": {"name": "GaussianFilter", "tool_name": "gaussian_filter", "category": "Image Processing Tools", "label": "Gaussian Filter", "description": "Performs a Gaussian filter on an image.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/gaussian_filter.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#GaussianFilter", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "sigma": {"name": "Standard Deviation (pixels)", "flags": ["--sigma"], "description": "Standard deviation distance in pixels.", "parameter_type": "Float", "default_value": "0.75", "optional": false}}}, "GeneralizeClassifiedRaster": {"name": "GeneralizeClassifiedRaster", "tool_name": "generalize_classified_raster", "category": "Image Processing Tools", "label": "Generalize Classified Raster", "description": "Generalizes a raster containing class or object features by removing small features.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools/classification.html#GeneralizeClassifiedRaster", "parameters": {"i": {"name": "Input Raster Image", "flags": ["-i", "--input"], "description": "Name of the input raster image file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster File", "flags": ["-o", "--output"], "description": "Name of the output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "min_size": {"name": "Min. Feature Size (in grid cells)", "flags": ["--min_size"], "description": "Minimum feature size, in grid cells.", "parameter_type": "Integer", "default_value": "4", "optional": true}, "method": {"name": "Method", "flags": ["--method"], "description": "Grouping method; one of 'longest' (default), 'largest', and 'nearest'.", "parameter_type": {"OptionList": ["longest", "largest", "nearest"]}, "default_value": "longest", "optional": true}}}, "GeneralizeWithSimilarity": {"name": "GeneralizeWithSimilarity", "tool_name": "generalize_with_similarity", "category": "Image Processing Tools", "label": "Generalize With Similarity", "description": "Generalizes a raster containing class or object features by removing small features using similarity criteria of neighbouring features.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools/classification.html#GeneralizeWithSimilarity", "parameters": {"i": {"name": "Input Raster Image", "flags": ["-i", "--input"], "description": "Name of the input raster image file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "similarity": {"name": "Input Similarity Images", "flags": ["--similarity"], "description": "Names of the input similarity images.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster File", "flags": ["-o", "--output"], "description": "Name of the output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "min_size": {"name": "Min. Feature Size (in grid cells)", "flags": ["--min_size"], "description": "Minimum feature size, in grid cells.", "parameter_type": "Integer", "default_value": "4", "optional": true}}}, "GeneratingFunction": {"name": "GeneratingFunction", "tool_name": "generating_function", "category": "Geomorphometric Analysis", "label": "Generating Function", "description": "This tool calculates generating function from an input DEM.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#GeneratingFunction", "parameters": {"dem": {"name": "Input Raster DEM", "flags": ["-i", "--dem"], "description": "Name of the input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster Image", "flags": ["-o", "--output"], "description": "Name of the output raster image file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "log": {"name": "Log-transform the output?", "flags": ["--log"], "description": "Display output values using a log-scale.", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "zfactor": {"name": "Z-factor", "flags": ["--zfactor"], "description": "Z conversion factor.", "parameter_type": "Float", "default_value": "1.0", "optional": true}}}, "Geomorphons": {"name": "Geomorphons", "tool_name": "geomorphons", "category": "Geomorphometric Analysis", "label": "Geomorphons", "description": "Computes geomorphon patterns.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/geomorphons.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#Geomorphons", "parameters": {"dem": {"name": "Input DEM file.", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output file.", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "search": {"name": "Search distance (cells).", "flags": ["--search"], "description": "Look up distance (in cells).", "parameter_type": "Integer", "default_value": "50", "optional": false}, "threshold": {"name": "Flatness threshold (degrees).", "flags": ["--threshold"], "description": "Flatness threshold for the classification function (in degrees).", "parameter_type": "Float", "default_value": "0.0", "optional": false}, "fdist": {"name": "Flatness distance (cells).", "flags": ["--fdist"], "description": "Distance (in cells) to begin reducing the flatness threshold to avoid problems with pseudo-flat lines-of-sight.", "parameter_type": "Integer", "default_value": "0", "optional": false}, "skip": {"name": "Skip distance (cells).", "flags": ["--skip"], "description": "Distance (in cells) to begin calculating lines-of-sight.", "parameter_type": "Integer", "default_value": "0", "optional": false}, "forms": {"name": "Output forms", "flags": ["-f", "--forms"], "description": "Classify geomorphons into 10 common land morphologies, else output ternary pattern.", "parameter_type": "Boolean", "default_value": "true", "optional": true}, "residuals": {"name": "Analyze residuals", "flags": ["--residuals"], "description": "Convert elevation to residuals of a linear model.", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "GreaterThan": {"name": "GreaterThan", "tool_name": "greater_than", "category": "Math and Stats Tools", "label": "Greater Than", "description": "Performs a greater-than comparison operation on two rasters or a raster and a constant value.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/greater_than.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#GreaterThan", "parameters": {"input1": {"name": "Input File Or Constant Value", "flags": ["--input1"], "description": "Input raster file or constant value.", "parameter_type": {"ExistingFileOrFloat": "Raster"}, "default_value": null, "optional": false}, "input2": {"name": "Input File Or Constant Value", "flags": ["--input2"], "description": "Input raster file or constant value.", "parameter_type": {"ExistingFileOrFloat": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "incl_equals": {"name": "Perform a greater-than-OR-EQUAL-TO operation?", "flags": ["--incl_equals"], "description": "Perform a greater-than-or-equal-to operation.", "parameter_type": "Boolean", "default_value": null, "optional": true}}}, "HackStreamOrder": {"name": "HackStreamOrder", "tool_name": "hack_stream_order", "category": "Stream Network Analysis", "label": "Hack Stream Order", "description": "Assigns the Hack stream order to each tributary in a stream network.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/stream_network_analysis/hack_order.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/stream_network_analysis.html#HackStreamOrder", "parameters": {"d8_pntr": {"name": "Input D8 Pointer File", "flags": ["--d8_pntr"], "description": "Input raster D8 pointer file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "streams": {"name": "Input Streams File", "flags": ["--streams"], "description": "Input raster streams file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "esri_pntr": {"name": "Does the pointer file use the ESRI pointer scheme?", "flags": ["--esri_pntr"], "description": "D8 pointer uses the ESRI style scheme.", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "zero_background": {"name": "Should a background value of zero be used?", "flags": ["--zero_background"], "description": "Flag indicating whether a background value of zero should be used.", "parameter_type": "Boolean", "default_value": null, "optional": true}}}, "HeightAboveGround": {"name": "HeightAboveGround", "tool_name": "height_above_ground", "category": "LiDAR Tools", "label": "Height Above Ground", "description": "Normalizes a LiDAR point cloud, providing the height above the nearest ground-classified point.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/lidar_analysis/height_above_ground.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#HeightAboveGround", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input LiDAR file (including extension).", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": true}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output lidar file (including extension).", "parameter_type": {"NewFile": "Lidar"}, "default_value": null, "optional": true}}}, "HighPassBilateralFilter": {"name": "HighPassBilateralFilter", "tool_name": "high_pass_bilateral_filter", "category": "Image Processing Tools", "label": "High Pass Bilateral Filter", "description": "Performs a high-pass bilateral filter, by differencing an input image by the bilateral filter by Tomasi and Manduchi (1998).", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/highpass_bilateral_filter.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#HighPassBilateralFilter", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "sigma_dist": {"name": "Distance Standard Deviation (pixels)", "flags": ["--sigma_dist"], "description": "Standard deviation in distance in pixels.", "parameter_type": "Float", "default_value": "0.75", "optional": true}, "sigma_int": {"name": "Intensity Standard Deviation (intensity units)", "flags": ["--sigma_int"], "description": "Standard deviation in intensity in pixels.", "parameter_type": "Float", "default_value": "1.0", "optional": true}}}, "HighPassFilter": {"name": "HighPassFilter", "tool_name": "high_pass_filter", "category": "Image Processing Tools", "label": "High Pass Filter", "description": "Performs a high-pass filter on an input image.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/highpass_filter.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#HighPassFilter", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "filterx": {"name": "Filter X-Dimension", "flags": ["--filterx"], "description": "Size of the filter kernel in the x-direction.", "parameter_type": "Integer", "default_value": "11", "optional": true}, "filtery": {"name": "Filter Y-Dimension", "flags": ["--filtery"], "description": "Size of the filter kernel in the y-direction.", "parameter_type": "Integer", "default_value": "11", "optional": true}}}, "HighPassMedianFilter": {"name": "HighPassMedianFilter", "tool_name": "high_pass_median_filter", "category": "Image Processing Tools", "label": "High Pass Median Filter", "description": "Performs a high pass median filter on an input image.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/highpass_median_filter.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#HighPassMedianFilter", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "filterx": {"name": "Filter X-Dimension", "flags": ["--filterx"], "description": "Size of the filter kernel in the x-direction.", "parameter_type": "Integer", "default_value": "11", "optional": true}, "filtery": {"name": "Filter Y-Dimension", "flags": ["--filtery"], "description": "Size of the filter kernel in the y-direction.", "parameter_type": "Integer", "default_value": "11", "optional": true}, "sig_digits": {"name": "Number of Significant Digits", "flags": ["--sig_digits"], "description": "Number of significant digits.", "parameter_type": "Integer", "default_value": "2", "optional": true}}}, "HighestPosition": {"name": "HighestPosition", "tool_name": "highest_position", "category": "GIS Analysis", "label": "Highest Position", "description": "Identifies the stack position of the maximum value within a raster stack on a cell-by-cell basis.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/highest_pos.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#HighestPosition", "parameters": {"inputs": {"name": "Input Files", "flags": ["-i", "--inputs"], "description": "Input raster files.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "Hillshade": {"name": "Hillshade", "tool_name": "hillshade", "category": "Geomorphometric Analysis", "label": "Hillshade", "description": "Calculates a hillshade raster from an input DEM.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/hillshade.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#Hillshade", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "azimuth": {"name": "Azimuth (degrees)", "flags": ["--azimuth"], "description": "Illumination source azimuth in degrees.", "parameter_type": "Float", "default_value": "315.0", "optional": true}, "altitude": {"name": "Altitude (degrees)", "flags": ["--altitude"], "description": "Illumination source altitude in degrees.", "parameter_type": "Float", "default_value": "30.0", "optional": true}, "zfactor": {"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}}}, "Hillslopes": {"name": "Hillslopes", "tool_name": "hillslopes", "category": "Hydrological Analysis", "label": "Hillslopes", "description": "Identifies the individual hillslopes draining to each link in a stream network.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/hillslopes.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#Hillslopes", "parameters": {"d8_pntr": {"name": "Input D8 Pointer File", "flags": ["--d8_pntr"], "description": "Input raster D8 pointer file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "streams": {"name": "Input Streams File", "flags": ["--streams"], "description": "Input raster streams file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "esri_pntr": {"name": "Does the pointer file use the ESRI pointer scheme?", "flags": ["--esri_pntr"], "description": "D8 pointer uses the ESRI style scheme.", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "HistogramEqualization": {"name": "HistogramEqualization", "tool_name": "histogram_equalization", "category": "Image Processing Tools", "label": "Histogram Equalization", "description": "Performs a histogram equalization contrast enhancement on an image.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/histogram_equalization.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#HistogramEqualization", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "num_tones": {"name": "Number of Tones", "flags": ["--num_tones"], "description": "Number of tones in the output image.", "parameter_type": "Integer", "default_value": "256", "optional": false}}}, "HistogramMatching": {"name": "HistogramMatching", "tool_name": "histogram_matching", "category": "Image Processing Tools", "label": "Histogram Matching", "description": "Alters the statistical distribution of a raster image matching it to a specified PDF.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/histogram_matching.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#HistogramMatching", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "histo_file": {"name": "Input Probability Distribution Function (PDF) Text File", "flags": ["--histo_file"], "description": "Input reference probability distribution function (pdf) text file.", "parameter_type": {"ExistingFile": "Text"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "HistogramMatchingTwoImages": {"name": "HistogramMatchingTwoImages", "tool_name": "histogram_matching_two_images", "category": "Image Processing Tools", "label": "Histogram Matching Two Images", "description": "Alters the cumulative distribution function of a raster image to that of another image.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/histogram_matching_two_images.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#HistogramMatchingTwoImages", "parameters": {"input1": {"name": "Input File To Modify", "flags": ["--i1", "--input1"], "description": "Input raster file to modify.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "input2": {"name": "Input Reference File", "flags": ["--i2", "--input2"], "description": "Input reference raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "HoleProportion": {"name": "HoleProportion", "tool_name": "hole_proportion", "category": "GIS Analysis", "label": "Hole Proportion", "description": "Calculates the proportion of the total area of a polygon's holes relative to the area of the polygon's hull.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/hole_proportion.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#HoleProportion", "parameters": {"i": {"name": "Input Vector Polygon File", "flags": ["-i", "--input"], "description": "Input vector polygon file.", "parameter_type": {"ExistingFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}}}, "HorizonAngle": {"name": "HorizonAngle", "tool_name": "horizon_angle", "category": "Geomorphometric Analysis", "label": "Horizon Angle", "description": "Calculates horizon angle (maximum upwind slope) for each grid cell in an input DEM.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/horizon_angle.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#HorizonAngle", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "azimuth": {"name": "Azimuth", "flags": ["--azimuth"], "description": "Azimuth, in degrees.", "parameter_type": "Float", "default_value": "0.0", "optional": false}, "max_dist": {"name": "Maximum Search Distance", "flags": ["--max_dist"], "description": "Optional maximum search distance (unspecified if none; in xy units). Minimum value is 5 x cell size.", "parameter_type": "Float", "default_value": "100.0", "optional": true}}}, "HorizonArea": {"name": "HorizonArea", "tool_name": "horizon_area", "category": "Geomorphometric Analysis", "label": "Horizon Area", "description": "Calculates horizon area, i.e., the area of the horizon polygon centered on each point in a DEM.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#HorizonArea", "parameters": {"dem": {"name": "Input Raster DEM", "flags": ["-i", "--dem"], "description": "Name of the input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster Image", "flags": ["-o", "--output"], "description": "Name of the output raster image file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "az_fraction": {"name": "Azimuth Fraction", "flags": ["--az_fraction"], "description": "Azimuth fraction.", "parameter_type": "Float", "default_value": "5.0", "optional": true}, "max_dist": {"name": "Maximum Distance", "flags": ["--max_dist"], "description": "Maximum distance (xy units).", "parameter_type": "Float", "default_value": "9999.0", "optional": true}, "observer_hgt_offset": {"name": "Oberserver Height Offset", "flags": ["--observer_hgt_offset"], "description": "Oberserver height offset (z units).", "parameter_type": "Float", "default_value": "0.05", "optional": true}}}, "HorizontalExcessCurvature": {"name": "HorizontalExcessCurvature", "tool_name": "horizontal_excess_curvature", "category": "Geomorphometric Analysis", "label": "Horizontal Excess Curvature", "description": "This tool calculates horizontal excess curvature from an input DEM.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#HorizontalExcessCurvature", "parameters": {"dem": {"name": "Input Raster DEM", "flags": ["-i", "--dem"], "description": "Name of the input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster Image", "flags": ["-o", "--output"], "description": "Name of the output raster image file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "log": {"name": "Log-transform the output?", "flags": ["--log"], "description": "Display output values using a log-scale.", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "zfactor": {"name": "Z-factor", "flags": ["--zfactor"], "description": "Z conversion factor.", "parameter_type": "Float", "default_value": "1.0", "optional": true}}}, "HortonStreamOrder": {"name": "HortonStreamOrder", "tool_name": "horton_stream_order", "category": "Stream Network Analysis", "label": "Horton Stream Order", "description": "Assigns the Horton stream order to each tributary in a stream network.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/stream_network_analysis/horton_order.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/stream_network_analysis.html#HortonStreamOrder", "parameters": {"d8_pntr": {"name": "Input D8 Pointer File", "flags": ["--d8_pntr"], "description": "Input raster D8 pointer file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "streams": {"name": "Input Streams File", "flags": ["--streams"], "description": "Input raster streams file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "esri_pntr": {"name": "Does the pointer file use the ESRI pointer scheme?", "flags": ["--esri_pntr"], "description": "D8 pointer uses the ESRI style scheme.", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "zero_background": {"name": "Should a background value of zero be used?", "flags": ["--zero_background"], "description": "Flag indicating whether a background value of zero should be used.", "parameter_type": "Boolean", "default_value": null, "optional": true}}}, "HydrologicConnectivity": {"name": "HydrologicConnectivity", "tool_name": "hydrologic_connectivity", "category": "Hydrological Analysis", "label": "Hydrologic Connectivity", "description": "This tool evaluates hydrologic connectivity within a DEM", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#HydrologicConnectivity", "parameters": {"dem": {"name": "Input DEM Raster", "flags": ["-d", "--dem"], "description": "Name of the input DEM raster file; must be depressionless.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output1": {"name": "Output Downslope Unsaturated Length File", "flags": ["--output1"], "description": "Name of the output downslope unsaturated length (DUL) file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "output2": {"name": "Output Upslope Disconnected Saturated Area File", "flags": ["--output2"], "description": "Name of the output upslope disconnected saturated area (UDSA) file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "exponent": {"name": "Exponent Parameter", "flags": ["--exponent"], "description": "Optional exponent parameter; default is 1.0.", "parameter_type": "Float", "default_value": "1.0", "optional": true}, "threshold": {"name": "Convergence Threshold (grid cells; blank for none)", "flags": ["--threshold"], "description": "Optional convergence threshold parameter, in grid cells; default is infinity.", "parameter_type": "Float", "default_value": null, "optional": true}}}, "HypsometricAnalysis": {"name": "HypsometricAnalysis", "tool_name": "hypsometric_analysis", "category": "Geomorphometric Analysis", "label": "Hypsometric Analysis", "description": "Calculates a hypsometric curve for one or more DEMs.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/hypsometric_analysis.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#HypsometricAnalysis", "parameters": {"inputs": {"name": "Input DEM Files", "flags": ["-i", "--inputs"], "description": "Input DEM files.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "watershed": {"name": "Input Watershed Files (optional)", "flags": ["--watershed"], "description": "Input watershed files (optional).", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": true}, "output": {"name": "Output HTML File", "flags": ["-o", "--output"], "description": "Output HTML file (default name will be based on input file if unspecified).", "parameter_type": {"NewFile": "Html"}, "default_value": null, "optional": false}}}, "HypsometricallyTintedHillshade": {"name": "HypsometricallyTintedHillshade", "tool_name": "hypsometrically_tinted_hillshade", "category": "Geomorphometric Analysis", "label": "Hypsometrically Tinted Hillshade", "description": "Creates an colour shaded relief image from an input DEM.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/hypsometrically_tinted_hillshade.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#HypsometricallyTintedHillshade", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "altitude": {"name": "Illumination Source Altitude (degrees)", "flags": ["--altitude"], "description": "Illumination source altitude in degrees.", "parameter_type": "Float", "default_value": "45.0", "optional": true}, "hs_weight": {"name": "Hillshade Weight", "flags": ["--hs_weight"], "description": "Weight given to hillshade relative to relief (0.0-1.0).", "parameter_type": "Float", "default_value": "0.5", "optional": true}, "brightness": {"name": "Brightness", "flags": ["--brightness"], "description": "Brightness factor (0.0-1.0).", "parameter_type": "Float", "default_value": "0.5", "optional": true}, "atmospheric": {"name": "Atmospheric Effects", "flags": ["--atmospheric"], "description": "Atmospheric effects weight (0.0-1.0).", "parameter_type": "Float", "default_value": "0.0", "optional": true}, "palette": {"name": "Palette", "flags": ["--palette"], "description": "Options include 'atlas', 'high_relief', 'arid', 'soft', 'muted', 'purple', 'viridis', 'gn_yl', 'pi_y_g', 'bl_yl_rd', and 'deep'.", "parameter_type": {"OptionList": ["atlas", "high_relief", "arid", "soft", "muted", "purple", "viridis", "gn_yl", "pi_y_g", "bl_yl_rd", "deep"]}, "default_value": "atlas", "optional": true}, "reverse": {"name": "Reverse palette?", "flags": ["--reverse"], "description": "Optional flag indicating whether to use reverse the palette.", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "zfactor": {"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}, "full_mode": {"name": "Full 360-degree hillshade mode?", "flags": ["--full_mode"], "description": "Optional flag indicating whether to use full 360-degrees of illumination sources.", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "IdwInterpolation": {"name": "IdwInterpolation", "tool_name": "idw_interpolation", "category": "GIS Analysis", "label": "Idw Interpolation", "description": "Interpolates vector points into a raster surface using an inverse-distance weighted scheme.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/idw_interpolation.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#IdwInterpolation", "parameters": {"i": {"name": "Input Vector Points File", "flags": ["-i", "--input"], "description": "Input vector Points file.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "field": {"name": "Field Name", "flags": ["--field"], "description": "Input field name in attribute table.", "parameter_type": {"VectorAttributeField": ["Number", "--input"]}, "default_value": null, "optional": false}, "use_z": {"name": "Use z-coordinate instead of field?", "flags": ["--use_z"], "description": "Use z-coordinate instead of field?", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "weight": {"name": "IDW Weight (Exponent) Value", "flags": ["--weight"], "description": "IDW weight value.", "parameter_type": "Float", "default_value": "2.0", "optional": true}, "radius": {"name": "Search Radius (map units)", "flags": ["--radius"], "description": "Search Radius in map units.", "parameter_type": "Float", "default_value": null, "optional": true}, "min_points": {"name": "Min. Number of Points", "flags": ["--min_points"], "description": "Minimum number of points.", "parameter_type": "Integer", "default_value": null, "optional": true}, "cell_size": {"name": "Cell Size (optional)", "flags": ["--cell_size"], "description": "Optionally specified cell size of output raster. Not used when base raster is specified.", "parameter_type": "Float", "default_value": null, "optional": true}, "base": {"name": "Base Raster File (optional)", "flags": ["--base"], "description": "Optionally specified input base raster file. Not used when a cell size is specified.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": true}}}, "IhsToRgb": {"name": "IhsToRgb", "tool_name": "ihs_to_rgb", "category": "Image Processing Tools", "label": "Ihs To Rgb", "description": "Converts intensity, hue, and saturation (IHS) images into red, green, and blue (RGB) images.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/ihs_to_rgb.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#IhsToRgb", "parameters": {"intensity": {"name": "Input Intensity File", "flags": ["--intensity"], "description": "Input intensity file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "hue": {"name": "Input Hue File", "flags": ["--hue"], "description": "Input hue file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "saturation": {"name": "Input Saturation File", "flags": ["--saturation"], "description": "Input saturation file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "red": {"name": "Output Red Band File (optional; only if colour-composite not specified)", "flags": ["--red"], "description": "Output red band file. Optionally specified if colour-composite not specified.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": true}, "green": {"name": "Output Green Band File (optional; only if colour-composite not specified)", "flags": ["--green"], "description": "Output green band file. Optionally specified if colour-composite not specified.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": true}, "blue": {"name": "Output Blue Band File (optional; only if colour-composite not specified)", "flags": ["--blue"], "description": "Output blue band file. Optionally specified if colour-composite not specified.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": true}, "output": {"name": "Output Colour-Composite File (optional; only if individual bands not specified)", "flags": ["-o", "--output"], "description": "Output colour-composite file. Only used if individual bands are not specified.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": true}}}, "ImageAutocorrelation": {"name": "ImageAutocorrelation", "tool_name": "image_autocorrelation", "category": "Math and Stats Tools", "label": "Image Autocorrelation", "description": "Performs Moran's I analysis on two or more input images.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/image_autocorrelation.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#ImageAutocorrelation", "parameters": {"inputs": {"name": "Input Files", "flags": ["-i", "--inputs"], "description": "Input raster files.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "contiguity": {"name": "Contiguity Type", "flags": ["--contiguity"], "description": "Contiguity type.", "parameter_type": {"OptionList": ["Rook", "King", "Bishop"]}, "default_value": "Rook", "optional": true}, "output": {"name": "Output HTML File", "flags": ["-o", "--output"], "description": "Output HTML file (default name will be based on input file if unspecified).", "parameter_type": {"NewFile": "Html"}, "default_value": null, "optional": false}}}, "ImageCorrelation": {"name": "ImageCorrelation", "tool_name": "image_correlation", "category": "Math and Stats Tools", "label": "Image Correlation", "description": "Performs image correlation on two or more input images.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/image_correlation.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#ImageCorrelation", "parameters": {"inputs": {"name": "Input Files", "flags": ["-i", "--inputs"], "description": "Input raster files.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output HTML File", "flags": ["-o", "--output"], "description": "Output HTML file (default name will be based on input file if unspecified).", "parameter_type": {"NewFile": "Html"}, "default_value": null, "optional": true}}}, "ImageCorrelationNeighbourhoodAnalysis": {"name": "ImageCorrelationNeighbourhoodAnalysis", "tool_name": "image_correlation_neighbourhood_analysis", "category": "Math and Stats Tools", "label": "Image Correlation Neighbourhood Analysis", "description": "Performs image correlation on two input images neighbourhood search windows.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/image_correlation_neighbourhood_analysis.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#ImageCorrelationNeighbourhoodAnalysis", "parameters": {"input1": {"name": "Image 1", "flags": ["--i1", "--input1"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "input2": {"name": "Image 2", "flags": ["--i2", "--input2"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output1": {"name": "Output Correlation File", "flags": ["--o1", "--output1"], "description": "Output correlation (r-value or rho) raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "output2": {"name": "Output Significance File", "flags": ["--o2", "--output2"], "description": "Output significance (p-value) raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "filter": {"name": "Filter Size", "flags": ["--filter"], "description": "Size of the filter kernel.", "parameter_type": "Integer", "default_value": "11", "optional": true}, "stat": {"name": "Correlation Statistic Type", "flags": ["--stat"], "description": "Correlation type; one of 'pearson' (default) and 'spearman'.", "parameter_type": {"OptionList": ["pearson", "kendall", "spearman"]}, "default_value": "pearson", "optional": true}}}, "ImageRegression": {"name": "ImageRegression", "tool_name": "image_regression", "category": "Math and Stats Tools", "label": "Image Regression", "description": "Performs image regression analysis on two input images.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/image_regression.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#ImageRegression", "parameters": {"input1": {"name": "Independent Variable (X).", "flags": ["--i1", "--input1"], "description": "Input raster file (independent variable, X).", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "input2": {"name": "Dependent Variable (Y).", "flags": ["--i2", "--input2"], "description": "Input raster file (dependent variable, Y).", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Summary Report File", "flags": ["-o", "--output"], "description": "Output HTML file for regression summary report.", "parameter_type": {"NewFile": "Html"}, "default_value": null, "optional": false}, "out_residuals": {"name": "Optional Residuals Output File", "flags": ["--out_residuals"], "description": "Output raster regression residual file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": true}, "standardize": {"name": "Standardize the residuals map?", "flags": ["--standardize"], "description": "Optional flag indicating whether to standardize the residuals map.", "parameter_type": "Boolean", "default_value": null, "optional": true}, "scattergram": {"name": "Output scattergram?", "flags": ["--scattergram"], "description": "Optional flag indicating whether to output a scattergram.", "parameter_type": "Boolean", "default_value": null, "optional": true}, "num_samples": {"name": "Num. Samples For Scattergram", "flags": ["--num_samples"], "description": "Number of samples used to create scattergram", "parameter_type": "Integer", "default_value": "1000", "optional": false}}}, "ImageSegmentation": {"name": "ImageSegmentation", "tool_name": "image_segmentation", "category": "Image Processing Tools", "label": "Image Segmentation", "description": "Performs a region-growing based segmentation on a set of multi-spectral images.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools/classification.html#ImageSegmentation", "parameters": {"inputs": {"name": "Input Band Images", "flags": ["-i", "--inputs"], "description": "Names of the input band images.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster File", "flags": ["-o", "--output"], "description": "Name of the output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "threshold": {"name": "Distance Threshold (z-scores)", "flags": ["--threshold"], "description": "Distance threshold, in z-scores.", "parameter_type": "Float", "default_value": "0.5", "optional": true}, "steps": {"name": "Number of Steps", "flags": ["--steps"], "description": "Number of steps.", "parameter_type": "Integer", "default_value": "10", "optional": true}, "min_area": {"name": "Min. Object Area (in grid cells)", "flags": ["--min_area"], "description": "Minimum object area, in grid cells (1-8).", "parameter_type": "Integer", "default_value": "4", "optional": true}}}, "ImageSlider": {"name": "ImageSlider", "tool_name": "image_slider", "category": "Image Processing Tools", "label": "Image Slider", "description": "This tool creates an image slider from two input images.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#ImageSlider", "parameters": {"input1": {"name": "Left Input Raster Image", "flags": ["--i1", "--input1"], "description": "Name of the left input image file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "palette1": {"name": "Left Image Palette", "flags": ["--p1", "--palette1"], "description": "Left image palette; options are 'grey', 'atlas', 'high_relief', 'arid', 'soft', 'muted', 'purple', 'viridi', 'gn_yl', 'pi_y_g', 'bl_yl_rd', 'deep', and 'rgb'.", "parameter_type": {"OptionList": ["grey", "atlas", "high_relief", "arid", "soft", "muted", "purple", "viridi", "gn_yl", "pi_y_g", "bl_yl_rd", "deep", "rgb"]}, "default_value": "grey", "optional": true}, "reverse1": {"name": "Reverse left image palette?", "flags": ["--r1", "--reverse1"], "description": "Reverse left image palette?", "parameter_type": "Boolean", "default_value": "false", "optional": false}, "label1": {"name": "Left Image Label (blank for none)", "flags": ["--l1", "--label1"], "description": "Left image label (leave blank for none)", "parameter_type": "String", "default_value": "", "optional": true}, "input2": {"name": "Right Input Raster Image", "flags": ["--i2", "--input2"], "description": "Name of the right input image file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "palette2": {"name": "Right Image Palette", "flags": ["--p2", "--palette2"], "description": "Right image palette; options are 'grey', 'atlas', 'high_relief', 'arid', 'soft', 'muted', 'purple', 'viridi', 'gn_yl', 'pi_y_g', 'bl_yl_rd', 'deep', and 'rgb'.", "parameter_type": {"OptionList": ["grey", "atlas", "high_relief", "arid", "soft", "muted", "purple", "viridi", "gn_yl", "pi_y_g", "bl_yl_rd", "deep", "rgb"]}, "default_value": "grey", "optional": true}, "reverse2": {"name": "Reverse right image palette?", "flags": ["--r2", "--reverse2"], "description": "Reverse right image palette?", "parameter_type": "Boolean", "default_value": "false", "optional": false}, "label2": {"name": "Right Image Label (blank for none)", "flags": ["--l2", "--label2"], "description": "Right image label (leave blank for none)", "parameter_type": "String", "default_value": "", "optional": true}, "output": {"name": "Output File (*.html)", "flags": ["-o", "--output"], "description": "Name of the output HTML file (*.html).", "parameter_type": {"NewFile": "Html"}, "default_value": null, "optional": false}, "height": {"name": "Image Height (in pixels)", "flags": ["-h", "--height"], "description": "Image height, in pixels.", "parameter_type": "Integer", "default_value": "600", "optional": true}}}, "ImageStackProfile": {"name": "ImageStackProfile", "tool_name": "image_stack_profile", "category": "Image Processing Tools", "label": "Image Stack Profile", "description": "Plots an image stack profile (i.e. signature) for a set of points and multispectral images.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/image_stack_profile.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#ImageStackProfile", "parameters": {"inputs": {"name": "Input Files", "flags": ["-i", "--inputs"], "description": "Input multispectral image files.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "points": {"name": "Input Vector Points File", "flags": ["--points"], "description": "Input vector points file.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "output": {"name": "Output HTML File", "flags": ["-o", "--output"], "description": "Output HTML file.", "parameter_type": {"NewFile": "Html"}, "default_value": null, "optional": false}}}, "ImpoundmentSizeIndex": {"name": "ImpoundmentSizeIndex", "tool_name": "impoundment_size_index", "category": "Hydrological Analysis", "label": "Impoundment Size Index", "description": "Calculates the impoundment size resulting from damming a DEM.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/impoundment_index.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#ImpoundmentSizeIndex", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "out_mean": {"name": "Output Mean Depth File", "flags": ["--out_mean"], "description": "Output mean flooded depth file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": true}, "out_max": {"name": "Output Max. Depth File", "flags": ["--out_max"], "description": "Output maximum flooded depth file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": true}, "out_volume": {"name": "Output Volume File", "flags": ["--out_volume"], "description": "Output flooded volume file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": true}, "out_area": {"name": "Output Area File", "flags": ["--out_area"], "description": "Output flooded area file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": true}, "out_dam_height": {"name": "Output Dam Height File", "flags": ["--out_dam_height"], "description": "Output dam height file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": true}, "damlength": {"name": "Max dam length (grid cells)", "flags": ["--damlength"], "description": "Maximum length of the dam.", "parameter_type": "Float", "default_value": null, "optional": false}}}, "ImprovedGroundPointFilter": {"name": "ImprovedGroundPointFilter", "tool_name": "improved_ground_point_filter", "category": "LiDAR Tools", "label": "Improved Ground Point Filter", "description": "Filters points within a LiDAR point cloud based on a reference surface.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#ImprovedGroundPointFilter", "parameters": {"i": {"name": "Input LiDAR Points", "flags": ["-i", "--input"], "description": "Name of the input LiDAR points.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": true}, "output": {"name": "Output LiDAR Points", "flags": ["-o", "--output"], "description": "Name of the output LiDAR points.", "parameter_type": {"NewFile": "Lidar"}, "default_value": null, "optional": true}, "block_size": {"name": "Block size (xy units)", "flags": ["--block_size"], "description": "Block size (xy units).", "parameter_type": "Float", "default_value": "1.0", "optional": true}, "max_building_size": {"name": "Maximum Building Size (xy units)", "flags": ["--max_building_size"], "description": "Maximum building size, in xy units.", "parameter_type": "Float", "default_value": "150.0", "optional": true}, "slope_threshold": {"name": "Slope Threshold (degrees)", "flags": ["--slope_threshold"], "description": "Slope threshold, in degrees.", "parameter_type": "Float", "default_value": "15.0", "optional": true}, "elev_threshold": {"name": "Elevation Threshold (z units)", "flags": ["--elev_threshold"], "description": "Elevation threshold, in z units.", "parameter_type": "Float", "default_value": "0.15", "optional": true}, "classify": {"name": "Should the point cloud be classified rather than filtered?", "flags": ["--classify"], "description": "Classify the point cloud; --classify=True for classify and --classify=False for filter.", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "preserve_classes": {"name": "Should the input class values be preserved?", "flags": ["--preserve_classes"], "description": "Should the input class values be preserved where query=False (only used when --classify=True).", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "InPlaceAdd": {"name": "InPlaceAdd", "tool_name": "in_place_add", "category": "Math and Stats Tools", "label": "In Place Add", "description": "Performs an in-place addition operation (input1 += input2).", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/inplace_add.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#InPlaceAdd", "parameters": {"input1": {"name": "Input Raster File", "flags": ["--input1"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "input2": {"name": "Input File Or Constant Value", "flags": ["--input2"], "description": "Input raster file or constant value.", "parameter_type": {"ExistingFileOrFloat": "Raster"}, "default_value": null, "optional": false}}}, "InPlaceDivide": {"name": "InPlaceDivide", "tool_name": "in_place_divide", "category": "Math and Stats Tools", "label": "In Place Divide", "description": "Performs an in-place division operation (input1 /= input2).", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/inplace_divide.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#InPlaceDivide", "parameters": {"input1": {"name": "Input Raster File", "flags": ["--input1"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "input2": {"name": "Input File Or Constant Value", "flags": ["--input2"], "description": "Input raster file or constant value.", "parameter_type": {"ExistingFileOrFloat": "Raster"}, "default_value": null, "optional": false}}}, "InPlaceMultiply": {"name": "InPlaceMultiply", "tool_name": "in_place_multiply", "category": "Math and Stats Tools", "label": "In Place Multiply", "description": "Performs an in-place multiplication operation (input1 *= input2).", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/inplace_multiply.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#InPlaceMultiply", "parameters": {"input1": {"name": "Input Raster File", "flags": ["--input1"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "input2": {"name": "Input File Or Constant Value", "flags": ["--input2"], "description": "Input raster file or constant value.", "parameter_type": {"ExistingFileOrFloat": "Raster"}, "default_value": null, "optional": false}}}, "InPlaceSubtract": {"name": "InPlaceSubtract", "tool_name": "in_place_subtract", "category": "Math and Stats Tools", "label": "In Place Subtract", "description": "Performs an in-place subtraction operation (input1 -= input2).", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/inplace_subtract.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#InPlaceSubtract", "parameters": {"input1": {"name": "Input Raster File", "flags": ["--input1"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "input2": {"name": "Input File Or Constant Value", "flags": ["--input2"], "description": "Input raster file or constant value.", "parameter_type": {"ExistingFileOrFloat": "Raster"}, "default_value": null, "optional": false}}}, "Increment": {"name": "Increment", "tool_name": "increment", "category": "Math and Stats Tools", "label": "Increment", "description": "Increases the values of each grid cell in an input raster by 1.0. (see also InPlaceAdd)", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/increment.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#Increment", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "InsertDams": {"name": "InsertDams", "tool_name": "insert_dams", "category": "Hydrological Analysis", "label": "Insert Dams", "description": "Calculates the impoundment size resulting from damming a DEM.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/insert_dams.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#InsertDams", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "dam_pts": {"name": "Input Dam Points", "flags": ["--dam_pts"], "description": "Input vector dam points file.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "damlength": {"name": "Max dam length (grid cells)", "flags": ["--damlength"], "description": "Maximum length of the dam.", "parameter_type": "Float", "default_value": null, "optional": false}}}, "IntegerDivision": {"name": "IntegerDivision", "tool_name": "integer_division", "category": "Math and Stats Tools", "label": "Integer Division", "description": "Performs an integer division operation on two rasters or a raster and a constant value.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/integer_division.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#IntegerDivision", "parameters": {"input1": {"name": "Input File Or Constant Value", "flags": ["--input1"], "description": "Input raster file or constant value.", "parameter_type": {"ExistingFileOrFloat": "Raster"}, "default_value": null, "optional": false}, "input2": {"name": "Input File Or Constant Value", "flags": ["--input2"], "description": "Input raster file or constant value.", "parameter_type": {"ExistingFileOrFloat": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "IntegralImage": {"name": "IntegralImage", "tool_name": "integral_image", "category": "Image Processing Tools", "label": "Integral Image", "description": "Transforms an input image (summed area table) into its integral image equivalent.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/integral_image.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#IntegralImage", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "Intersect": {"name": "Intersect", "tool_name": "intersect", "category": "GIS Analysis", "label": "Intersect", "description": "Identifies the parts of features in common between two input vector layers.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/intersect.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#Intersect", "parameters": {"i": {"name": "Input Vector File", "flags": ["-i", "--input"], "description": "Input vector file.", "parameter_type": {"ExistingFile": {"Vector": "Any"}}, "default_value": null, "optional": false}, "overlay": {"name": "Input Overlay Vector File", "flags": ["--overlay"], "description": "Input overlay vector file.", "parameter_type": {"ExistingFile": {"Vector": "Any"}}, "default_value": null, "optional": false}, "output": {"name": "Output Vector File", "flags": ["-o", "--output"], "description": "Output vector file.", "parameter_type": {"NewFile": {"Vector": "Any"}}, "default_value": null, "optional": false}, "snap": {"name": "Snap Tolerance", "flags": ["--snap"], "description": "Snap tolerance.", "parameter_type": "Float", "default_value": "0.0", "optional": true}}}, "InversePrincipalComponentAnalysis": {"name": "InversePrincipalComponentAnalysis", "tool_name": "inverse_pca", "category": "Math and Stats Tools", "label": "Inverse Pca", "description": "This tool performs an inverse principal component analysis on a series of input component images.", "github": "https://github.com/jblindsay/whitebox-tools/tree/master/whitebox-tools-app/src/tools", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#InversePca", "parameters": {"inputs": {"name": "Input PCA Component Images", "flags": ["-i", "--inputs"], "description": "Name of the input PCA component images.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "report": {"name": "Input PCA Report File", "flags": ["-r", "--report"], "description": "Name of the PCA report file (*.html).", "parameter_type": {"ExistingFile": "Html"}, "default_value": null, "optional": false}}}, "IsNoData": {"name": "IsNoData", "tool_name": "is_no_data", "category": "Math and Stats Tools", "label": "Is No Data", "description": "Identifies NoData valued pixels in an image.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/isnodata.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#IsNoData", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "Isobasins": {"name": "Isobasins", "tool_name": "isobasins", "category": "Hydrological Analysis", "label": "Isobasins", "description": "Divides a landscape into nearly equal sized drainage basins (i.e. watersheds).", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/isobasins.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#Isobasins", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "size": {"name": "Target Basin Size (grid cells)", "flags": ["--size"], "description": "Target basin size, in grid cells.", "parameter_type": "Integer", "default_value": null, "optional": false}, "connections": {"name": "Output basin upstream-downstream connections?", "flags": ["--connections"], "description": "Output upstream-downstream flow connections among basins?", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "JensonSnapPourPoints": {"name": "JensonSnapPourPoints", "tool_name": "jenson_snap_pour_points", "category": "Hydrological Analysis", "label": "Jenson Snap Pour Points", "description": "Moves outlet points used to specify points of interest in a watershedding operation to the nearest stream cell.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/jenson_snap_pour_points.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#JensonSnapPourPoints", "parameters": {"pour_pts": {"name": "Input Pour Points (Outlet) File", "flags": ["--pour_pts"], "description": "Input vector pour points (outlet) file.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "streams": {"name": "Input Streams File", "flags": ["--streams"], "description": "Input raster streams file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output vector file.", "parameter_type": {"NewFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "snap_dist": {"name": "Maximum Snap Distance (map units)", "flags": ["--snap_dist"], "description": "Maximum snap distance in map units.", "parameter_type": "Float", "default_value": null, "optional": false}}}, "JoinTables": {"name": "JoinTables", "tool_name": "join_tables", "category": "Data Tools", "label": "Join Tables", "description": "Merge a vector's attribute table with another table based on a common field.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/data_tools/join_tables.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/data_tools.html#JoinTables", "parameters": {"input1": {"name": "Input Primary Vector File", "flags": ["--i1", "--input1"], "description": "Input primary vector file (i.e. the table to be modified).", "parameter_type": {"ExistingFile": {"Vector": "Any"}}, "default_value": null, "optional": false}, "pkey": {"name": "Primary Key Field", "flags": ["--pkey"], "description": "Primary key field.", "parameter_type": {"VectorAttributeField": ["Any", "--input1"]}, "default_value": null, "optional": false}, "input2": {"name": "Input Foreign Vector File", "flags": ["--i2", "--input2"], "description": "Input foreign vector file (i.e. source of data to be imported).", "parameter_type": {"ExistingFile": {"Vector": "Any"}}, "default_value": null, "optional": false}, "fkey": {"name": "Foreign Key Field", "flags": ["--fkey"], "description": "Foreign key field.", "parameter_type": {"VectorAttributeField": ["Any", "--input2"]}, "default_value": null, "optional": false}, "import_field": {"name": "Imported Field", "flags": ["--import_field"], "description": "Imported field (all fields will be imported if not specified).", "parameter_type": {"VectorAttributeField": ["Any", "--input2"]}, "default_value": null, "optional": true}}}, "KMeansClustering": {"name": "KMeansClustering", "tool_name": "k_means_clustering", "category": "Machine Learning", "label": "K Means Clustering", "description": "Performs a k-means clustering operation on a multi-spectral dataset.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/k_means_clustering.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/machine_learning.html#KMeansClustering", "parameters": {"inputs": {"name": "Input Files", "flags": ["-i", "--inputs"], "description": "Input raster files.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "out_html": {"name": "Output HTML Report File", "flags": ["--out_html"], "description": "Output HTML report file.", "parameter_type": {"NewFile": "Html"}, "default_value": null, "optional": true}, "classes": {"name": "Num. Classes (k)", "flags": ["--classes"], "description": "Number of classes", "parameter_type": "Integer", "default_value": null, "optional": false}, "max_iterations": {"name": "Max. Iterations", "flags": ["--max_iterations"], "description": "Maximum number of iterations", "parameter_type": "Integer", "default_value": "10", "optional": true}, "class_change": {"name": "Percent Class Change Threshold", "flags": ["--class_change"], "description": "Minimum percent of cells changed between iterations before completion", "parameter_type": "Float", "default_value": "2.0", "optional": true}, "initialize": {"name": "How to Initialize Cluster Centres?", "flags": ["--initialize"], "description": "How to initialize cluster centres?", "parameter_type": {"OptionList": ["diagonal", "random"]}, "default_value": "diagonal", "optional": true}, "min_class_size": {"name": "Min. Class Size", "flags": ["--min_class_size"], "description": "Minimum class size, in pixels", "parameter_type": "Integer", "default_value": "10", "optional": true}}}, "KNearestMeanFilter": {"name": "KNearestMeanFilter", "tool_name": "k_nearest_mean_filter", "category": "Image Processing Tools", "label": "K Nearest Mean Filter", "description": "A k-nearest mean filter is a type of edge-preserving smoothing filter.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/k_nearest_mean_filter.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#KNearestMeanFilter", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "filterx": {"name": "Filter X-Dimension", "flags": ["--filterx"], "description": "Size of the filter kernel in the x-direction.", "parameter_type": "Integer", "default_value": "11", "optional": true}, "filtery": {"name": "Filter Y-Dimension", "flags": ["--filtery"], "description": "Size of the filter kernel in the y-direction.", "parameter_type": "Integer", "default_value": "11", "optional": true}, "k": {"name": "K-value (pixels)", "flags": ["-k"], "description": "k-value in pixels; this is the number of nearest-valued neighbours to use.", "parameter_type": "Integer", "default_value": "5", "optional": true}}}, "KappaIndex": {"name": "KappaIndex", "tool_name": "kappa_index", "category": "Math and Stats Tools", "label": "Kappa Index", "description": "Performs a kappa index of agreement (KIA) analysis on two categorical raster files.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/kappa_index.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#KappaIndex", "parameters": {"input1": {"name": "Input Classification File", "flags": ["--i1", "--input1"], "description": "Input classification raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "input2": {"name": "Input Reference File", "flags": ["--i2", "--input2"], "description": "Input reference raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output HTML file.", "parameter_type": {"NewFile": "Html"}, "default_value": null, "optional": false}}}, "KnnClassification": {"name": "KnnClassification", "tool_name": "knn_classification", "category": "Machine Learning", "label": "Knn Classification", "description": "Performs a supervised k-nearest neighbour classification using training site polygons/points and predictor rasters.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/machine_learning.html#KnnClassification", "parameters": {"inputs": {"name": "Input Predictor Rasters", "flags": ["-i", "--inputs"], "description": "Names of the input predictor rasters.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "training": {"name": "Input Training Polygons/Points", "flags": ["-t", "--training"], "description": "Name of the input training site polygons/points shapefile.", "parameter_type": {"ExistingFile": {"Vector": "Any"}}, "default_value": null, "optional": false}, "field": {"name": "Class Name Field", "flags": ["-f", "--field"], "description": "Name of the attribute containing class name data.", "parameter_type": {"VectorAttributeField": ["Any", "--training"]}, "default_value": null, "optional": false}, "test_proportion": {"name": "Test Proportion", "flags": ["--test_proportion"], "description": "The proportion of the dataset to include in the test split; default is 0.2.", "parameter_type": "Float", "default_value": "0.2", "optional": false}, "output": {"name": "Output Raster File", "flags": ["-o", "--output"], "description": "Name of the output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": true}, "scaling": {"name": "Scaling Method", "flags": ["--scaling"], "description": "Scaling method for predictors. Options include 'None', 'Normalize', and 'Standardize'", "parameter_type": {"OptionList": ["None", "Normalize", "Standardize"]}, "default_value": "Normalize", "optional": true}, "k": {"name": "Number of Nearest Neighbours, k", "flags": ["-k"], "description": "k-parameter, which determines the number of nearest neighbours used.", "parameter_type": "Integer", "default_value": "5", "optional": true}, "clip": {"name": "Perform training data clipping?", "flags": ["--clip"], "description": "Perform training data clipping to remove outlier pixels?", "parameter_type": "Boolean", "default_value": "true", "optional": true}}}, "KnnRegression": {"name": "KnnRegression", "tool_name": "knn_regression", "category": "Machine Learning", "label": "Knn Regression", "description": "Performs a supervised k-nearest neighbour regression using training site points and predictor rasters.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/machine_learning.html#KnnRegression", "parameters": {"inputs": {"name": "Input Predictor Rasters", "flags": ["-i", "--inputs"], "description": "Names of the input predictor rasters.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "scaling": {"name": "Scaling Method", "flags": ["--scaling"], "description": "Scaling method for predictors. Options include 'None', 'Normalize', and 'Standardize'", "parameter_type": {"OptionList": ["None", "Normalize", "Standardize"]}, "default_value": "Normalize", "optional": true}, "training": {"name": "Input Training Points", "flags": ["-t", "--training"], "description": "Name of the input training site points Shapefile.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "field": {"name": "Response Variable Field Name", "flags": ["-f", "--field"], "description": "Name of the attribute containing response variable name data.", "parameter_type": {"VectorAttributeField": ["Any", "--training"]}, "default_value": null, "optional": false}, "output": {"name": "Output Raster File", "flags": ["-o", "--output"], "description": "Name of the output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": true}, "k": {"name": "Number of Nearest Neighbours, k", "flags": ["-k"], "description": "k-parameter, which determines the number of nearest neighbours used.", "parameter_type": "Integer", "default_value": "5", "optional": true}, "weight": {"name": "Use distance weighting?", "flags": ["--weight"], "description": "Use distance weighting?", "parameter_type": "Boolean", "default_value": "true", "optional": true}, "test_proportion": {"name": "Test Proportion", "flags": ["--test_proportion"], "description": "The proportion of the dataset to include in the test split; default is 0.2.", "parameter_type": "Float", "default_value": "0.2", "optional": false}}}, "KsTestForNormality": {"name": "KsTestForNormality", "tool_name": "ks_test_for_normality", "category": "Math and Stats Tools", "label": "Ks Test For Normality", "description": "Evaluates whether the values in a raster are normally distributed.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/ks_normality_test.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#KsTestForNormality", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output HTML file.", "parameter_type": {"NewFile": "Html"}, "default_value": null, "optional": false}, "num_samples": {"name": "Num. Samples (blank for while image)", "flags": ["--num_samples"], "description": "Number of samples. Leave blank to use whole image.", "parameter_type": "Integer", "default_value": null, "optional": true}}}, "LaplacianFilter": {"name": "LaplacianFilter", "tool_name": "laplacian_filter", "category": "Image Processing Tools", "label": "Laplacian Filter", "description": "Performs a Laplacian filter on an image.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/laplacian_filter.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#LaplacianFilter", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "variant": {"name": "Variant", "flags": ["--variant"], "description": "Optional variant value. Options include 3x3(1), 3x3(2), 3x3(3), 3x3(4), 5x5(1), and 5x5(2) (default is 3x3(1)).", "parameter_type": {"OptionList": ["3x3(1)", "3x3(2)", "3x3(3)", "3x3(4)", "5x5(1)", "5x5(2)"]}, "default_value": "3x3(1)", "optional": true}, "clip": {"name": "Distribution Tail Clip Amount (%)", "flags": ["--clip"], "description": "Optional amount to clip the distribution tails by, in percent.", "parameter_type": "Float", "default_value": "0.0", "optional": true}}}, "LaplacianOfGaussianFilter": {"name": "LaplacianOfGaussianFilter", "tool_name": "laplacian_of_gaussian_filter", "category": "Image Processing Tools", "label": "Laplacian Of Gaussian Filter", "description": "Performs a Laplacian-of-Gaussian (LoG) filter on an image.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/log_filter.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#LaplacianOfGaussianFilter", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "sigma": {"name": "Standard Deviation (Pixels)", "flags": ["--sigma"], "description": "Standard deviation in pixels.", "parameter_type": "Float", "default_value": "0.75", "optional": true}}}, "LasToAscii": {"name": "LasToAscii", "tool_name": "las_to_ascii", "category": "LiDAR Tools", "label": "Las To Ascii", "description": "Converts one or more LAS files into ASCII text files.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/lidar_analysis/las_to_ascii.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#LasToAscii", "parameters": {"inputs": {"name": "Input LiDAR Files", "flags": ["-i", "--inputs"], "description": "Input LiDAR files.", "parameter_type": {"FileList": "Lidar"}, "default_value": null, "optional": false}}}, "LasToLaz": {"name": "LasToLaz", "tool_name": "las_to_laz", "category": "LiDAR Tools", "label": "Las To Laz", "description": "This tool converts one or more LAS files into the LAZ format", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#LasToLaz", "parameters": {"i": {"name": "Input LAS File", "flags": ["-i", "--input"], "description": "Name of the input LAS files (leave blank to use all LAS files in WorkingDirectory.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": true}, "output": {"name": "Output LAZ File", "flags": ["-o", "--output"], "description": "Output LAZ file (including extension).", "parameter_type": {"NewFile": "Lidar"}, "default_value": null, "optional": true}}}, "LasToMultipointShapefile": {"name": "LasToMultipointShapefile", "tool_name": "las_to_multipoint_shapefile", "category": "LiDAR Tools", "label": "Las To Multipoint Shapefile", "description": "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.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/lidar_analysis/las_to_multipoint_shapefile.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#LasToMultipointShapefile", "parameters": {"i": {"name": "Input LiDAR File", "flags": ["-i", "--input"], "description": "Input LiDAR file.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": true}}}, "LasToShapefile": {"name": "LasToShapefile", "tool_name": "las_to_shapefile", "category": "LiDAR Tools", "label": "Las To Shapefile", "description": "Converts one or more LAS files into a vector Shapefile of POINT ShapeType.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/lidar_analysis/las_to_shapefile.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#LasToShapefile", "parameters": {"i": {"name": "Input LiDAR File", "flags": ["-i", "--input"], "description": "Input LiDAR file.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": true}}}, "LasToZlidar": {"name": "LasToZlidar", "tool_name": "las_to_zlidar", "category": "LiDAR Tools", "label": "Las To Zlidar", "description": "Converts one or more LAS files into the zlidar compressed LiDAR data format.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/lidar_analysis/las_to_zlidar.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#LasToZlidar", "parameters": {"inputs": {"name": "Input LAS Files", "flags": ["-i", "--inputs"], "description": "Input LAS files.", "parameter_type": {"FileList": "Lidar"}, "default_value": null, "optional": true}, "outdir": {"name": "Output Directory", "flags": ["--outdir"], "description": "Output directory into which zlidar files are created. If unspecified, it is assumed to be the same as the inputs.", "parameter_type": "Directory", "default_value": null, "optional": true}, "compress": {"name": "Compression Method", "flags": ["--compress"], "description": "Compression method, including 'brotli' and 'deflate'.", "parameter_type": {"OptionList": ["brotli", "deflate"]}, "default_value": "brotli", "optional": true}, "level": {"name": "Compression Level", "flags": ["--level"], "description": "Compression level (1-9).", "parameter_type": "Integer", "default_value": "5", "optional": true}}}, "LayerFootprint": {"name": "LayerFootprint", "tool_name": "layer_footprint", "category": "GIS Analysis", "label": "Layer Footprint", "description": "Creates a vector polygon footprint of the area covered by a raster grid or vector layer.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/layer_footprint.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#LayerFootprint", "parameters": {"i": {"name": "Input Raster or Vector File", "flags": ["-i", "--input"], "description": "Input raster or vector file.", "parameter_type": {"ExistingFile": {"RasterAndVector": "Any"}}, "default_value": null, "optional": false}, "output": {"name": "Output Polygon File", "flags": ["-o", "--output"], "description": "Output vector polygon file.", "parameter_type": {"NewFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}}}, "LazToLas": {"name": "LazToLas", "tool_name": "laz_to_las", "category": "LiDAR Tools", "label": "Laz To Las", "description": "This tool converts one or more LAZ files into the LAS format", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#LazToLas", "parameters": {"i": {"name": "Input LAZ File", "flags": ["-i", "--input"], "description": "Name of the input LAZ files (leave blank to use all LAZ files in WorkingDirectory.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": true}, "output": {"name": "Output LAS File", "flags": ["-o", "--output"], "description": "Output LAS file (including extension).", "parameter_type": {"NewFile": "Lidar"}, "default_value": null, "optional": true}}}, "LeeSigmaFilter": {"name": "LeeSigmaFilter", "tool_name": "lee_sigma_filter", "category": "Image Processing Tools", "label": "Lee Sigma Filter", "description": "Performs a Lee (Sigma) smoothing filter on an image.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/lee_filter.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#LeeSigmaFilter", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "filterx": {"name": "Filter X-Dimension", "flags": ["--filterx"], "description": "Size of the filter kernel in the x-direction.", "parameter_type": "Integer", "default_value": "11", "optional": true}, "filtery": {"name": "Filter Y-Dimension", "flags": ["--filtery"], "description": "Size of the filter kernel in the y-direction.", "parameter_type": "Integer", "default_value": "11", "optional": true}, "sigma": {"name": "Sigma", "flags": ["--sigma"], "description": "Sigma value should be related to the standard deviation of the distribution of image speckle noise.", "parameter_type": "Float", "default_value": "10.0", "optional": true}, "m": {"name": "M-value", "flags": ["-m"], "description": "M-threshold value the minimum allowable number of pixels within the intensity range", "parameter_type": "Float", "default_value": "5.0", "optional": true}}}, "LengthOfUpstreamChannels": {"name": "LengthOfUpstreamChannels", "tool_name": "length_of_upstream_channels", "category": "Stream Network Analysis", "label": "Length Of Upstream Channels", "description": "Calculates the total length of channels upstream.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/stream_network_analysis/total_length_channels.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/stream_network_analysis.html#LengthOfUpstreamChannels", "parameters": {"d8_pntr": {"name": "Input D8 Pointer File", "flags": ["--d8_pntr"], "description": "Input raster D8 pointer file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "streams": {"name": "Input Streams File", "flags": ["--streams"], "description": "Input raster streams file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "esri_pntr": {"name": "Does the pointer file use the ESRI pointer scheme?", "flags": ["--esri_pntr"], "description": "D8 pointer uses the ESRI style scheme.", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "zero_background": {"name": "Should a background value of zero be used?", "flags": ["--zero_background"], "description": "Flag indicating whether a background value of zero should be used.", "parameter_type": "Boolean", "default_value": null, "optional": true}}}, "LessThan": {"name": "LessThan", "tool_name": "less_than", "category": "Math and Stats Tools", "label": "Less Than", "description": "Performs a less-than comparison operation on two rasters or a raster and a constant value.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/less_than.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#LessThan", "parameters": {"input1": {"name": "Input File Or Constant Value", "flags": ["--input1"], "description": "Input raster file or constant value.", "parameter_type": {"ExistingFileOrFloat": "Raster"}, "default_value": null, "optional": false}, "input2": {"name": "Input File Or Constant Value", "flags": ["--input2"], "description": "Input raster file or constant value.", "parameter_type": {"ExistingFileOrFloat": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "incl_equals": {"name": "Perform a less-than-OR-EQUAL-TO operation?", "flags": ["--incl_equals"], "description": "Perform a less-than-or-equal-to operation.", "parameter_type": "Boolean", "default_value": null, "optional": true}}}, "LidarBlockMaximum": {"name": "LidarBlockMaximum", "tool_name": "lidar_block_maximum", "category": "LiDAR Tools", "label": "Lidar Block Maximum", "description": "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.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/lidar_analysis/block_maximum.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#LidarBlockMaximum", "parameters": {"i": {"name": "Input LiDAR File", "flags": ["-i", "--input"], "description": "Input LiDAR file.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": true}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": true}, "resolution": {"name": "Grid Resolution", "flags": ["--resolution"], "description": "Output raster's grid resolution.", "parameter_type": "Float", "default_value": "1.0", "optional": true}}}, "LidarBlockMinimum": {"name": "LidarBlockMinimum", "tool_name": "lidar_block_minimum", "category": "LiDAR Tools", "label": "Lidar Block Minimum", "description": "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.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/lidar_analysis/block_minimum.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#LidarBlockMinimum", "parameters": {"i": {"name": "Input LiDAR File", "flags": ["-i", "--input"], "description": "Input LiDAR file.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": true}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": true}, "resolution": {"name": "Grid Resolution", "flags": ["--resolution"], "description": "Output raster's grid resolution.", "parameter_type": "Float", "default_value": "1.0", "optional": true}}}, "LidarClassifySubset": {"name": "LidarClassifySubset", "tool_name": "lidar_classify_subset", "category": "LiDAR Tools", "label": "Lidar Classify Subset", "description": "Classifies the values in one LiDAR point cloud that correspond with points in a subset cloud.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/lidar_analysis/lidar_classify_subset.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#LidarClassifySubset", "parameters": {"base": {"name": "Input Base LiDAR File", "flags": ["--base"], "description": "Input base LiDAR file.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": false}, "subset": {"name": "Input Subset LiDAR File", "flags": ["--subset"], "description": "Input subset LiDAR file.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": false}, "output": {"name": "Output LiDAR File", "flags": ["-o", "--output"], "description": "Output LiDAR file.", "parameter_type": {"NewFile": "Lidar"}, "default_value": null, "optional": false}, "subset_class": {"name": "Subset Point Class Value", "flags": ["--subset_class"], "description": "Subset point class value (must be 0-18; see LAS specifications).", "parameter_type": "Float", "default_value": null, "optional": false}, "nonsubset_class": {"name": "Non-Subset Point Class Value (Optional)", "flags": ["--nonsubset_class"], "description": "Non-subset point class value (must be 0-18; see LAS specifications).", "parameter_type": "Float", "default_value": null, "optional": true}}}, "LidarColourize": {"name": "LidarColourize", "tool_name": "lidar_colourize", "category": "LiDAR Tools", "label": "Lidar Colourize", "description": "Adds the red-green-blue colour fields of a LiDAR (LAS) file based on an input image.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/lidar_analysis/lidar_colourize.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#LidarColourize", "parameters": {"in_lidar": {"name": "Input LiDAR File", "flags": ["--in_lidar"], "description": "Input LiDAR file.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": false}, "in_image": {"name": "Input Colour Image File", "flags": ["--in_image"], "description": "Input colour image file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output LiDAR File", "flags": ["-o", "--output"], "description": "Output LiDAR file.", "parameter_type": {"NewFile": "Lidar"}, "default_value": null, "optional": false}}}, "LidarContour": {"name": "LidarContour", "tool_name": "lidar_contour", "category": "LiDAR Tools", "label": "Lidar Contour", "description": "This tool creates a vector contour coverage from an input LiDAR point file.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#LidarContour", "parameters": {"i": {"name": "Input LiDAR Points", "flags": ["-i", "--input"], "description": "Name of the input LiDAR points.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": true}, "output": {"name": "Output Vector Lines", "flags": ["-o", "--output"], "description": "Name of the output vector lines file.", "parameter_type": {"NewFile": {"Vector": "Line"}}, "default_value": null, "optional": true}, "interval": {"name": "Contour Interval", "flags": ["--interval"], "description": "Contour interval.", "parameter_type": "Float", "default_value": "10.0", "optional": false}, "base": {"name": "Base Contour", "flags": ["--base"], "description": "Base contour.", "parameter_type": "Float", "default_value": "0.0", "optional": false}, "smooth": {"name": "Smoothing Filter Size", "flags": ["--smooth"], "description": "Smoothing filter size (in num. points), e.g. 3, 5, 7, 9, 11...", "parameter_type": "Integer", "default_value": "5", "optional": true}, "parameter": {"name": "Interpolation Parameter", "flags": ["-p", "--parameter"], "description": "Interpolation parameter; options are 'elevation' (default), 'intensity', 'user_data'.", "parameter_type": {"OptionList": ["elevation", "intensity", "user_data"]}, "default_value": "elevation", "optional": true}, "returns": {"name": "Point Returns Included", "flags": ["--returns"], "description": "Point return types to include; options are 'all' (default), 'last', 'first'.", "parameter_type": {"OptionList": ["all", "last", "first"]}, "default_value": "all", "optional": true}, "exclude_cls": {"name": "Exclusion Classes (0-18, based on LAS spec; e.g. 3,4,5,6,7)", "flags": ["--exclude_cls"], "description": "Optional exclude classes from interpolation; Valid class values range from 0 to 18, based on LAS specifications. Example, --exclude_cls='3,4,5,6,7,18'.", "parameter_type": "String", "default_value": null, "optional": true}, "minz": {"name": "Minimum Elevation Value (optional)", "flags": ["--minz"], "description": "Optional minimum elevation for inclusion in interpolation.", "parameter_type": "Float", "default_value": null, "optional": true}, "maxz": {"name": "Maximum Elevation Value (optional)", "flags": ["--maxz"], "description": "Optional maximum elevation for inclusion in interpolation.", "parameter_type": "Float", "default_value": null, "optional": true}, "max_triangle_edge_length": {"name": "Maximum Triangle Length (optional)", "flags": ["--max_triangle_edge_length"], "description": "Optional maximum triangle edge length; triangles larger than this size will not be gridded.", "parameter_type": "Float", "default_value": null, "optional": true}}}, "LidarDigitalSurfaceModel": {"name": "LidarDigitalSurfaceModel", "tool_name": "lidar_digital_surface_model", "category": "LiDAR Tools", "label": "Lidar Digital Surface Model", "description": "Creates a top-surface digital surface model (DSM) from a LiDAR point cloud.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/lidar_analysis/lidar_dsm.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#LidarDigitalSurfaceModel", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input LiDAR file (including extension).", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": true}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file (including extension).", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": true}, "resolution": {"name": "Grid Resolution", "flags": ["--resolution"], "description": "Output raster's grid resolution.", "parameter_type": "Float", "default_value": "1.0", "optional": true}, "radius": {"name": "Search Radius", "flags": ["--radius"], "description": "Search Radius.", "parameter_type": "Float", "default_value": "0.5", "optional": true}, "minz": {"name": "Minimum Elevation Value (optional)", "flags": ["--minz"], "description": "Optional minimum elevation for inclusion in interpolation.", "parameter_type": "Float", "default_value": null, "optional": true}, "maxz": {"name": "Maximum Elevation Value (optional)", "flags": ["--maxz"], "description": "Optional maximum elevation for inclusion in interpolation.", "parameter_type": "Float", "default_value": null, "optional": true}, "max_triangle_edge_length": {"name": "Maximum Triangle Edge Length (optional)", "flags": ["--max_triangle_edge_length"], "description": "Optional maximum triangle edge length; triangles larger than this size will not be gridded.", "parameter_type": "Float", "default_value": null, "optional": true}}}, "LidarEigenvalueFeatures": {"name": "LidarEigenvalueFeatures", "tool_name": "lidar_eigenvalue_features", "category": "LiDAR Tools", "label": "Lidar Eigenvalue Features", "description": "Calculate eigenvalue-based metrics from a LiDAR point cloud.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#LidarEigenvalueFeatures", "parameters": {"i": {"name": "Input LiDAR Points", "flags": ["-i", "--input"], "description": "Name of the input LiDAR points.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": true}, "num_neighbours": {"name": "Number of Neighbours:", "flags": ["--num_neighbours"], "description": "Number of neighbours used in search.", "parameter_type": "Integer", "default_value": null, "optional": true}, "radius": {"name": "Search Distance:", "flags": ["--radius"], "description": "Search distance used in neighbourhood search.", "parameter_type": "Float", "default_value": null, "optional": true}}}, "LidarElevationSlice": {"name": "LidarElevationSlice", "tool_name": "lidar_elevation_slice", "category": "LiDAR Tools", "label": "Lidar Elevation Slice", "description": "Outputs all of the points within a LiDAR (LAS) point file that lie between a specified elevation range.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/lidar_analysis/lidar_elevation_slice.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#LidarElevationSlice", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input LiDAR file.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output LiDAR file.", "parameter_type": {"NewFile": "Lidar"}, "default_value": null, "optional": false}, "minz": {"name": "Minimum Elevation Value", "flags": ["--minz"], "description": "Minimum elevation value (optional).", "parameter_type": "Float", "default_value": null, "optional": true}, "maxz": {"name": "Maximum Elevation Value", "flags": ["--maxz"], "description": "Maximum elevation value (optional).", "parameter_type": "Float", "default_value": null, "optional": true}, "class": {"name": "Retain but reclass points outside the specified elevation range?", "flags": ["--class"], "description": "Optional boolean flag indicating whether points outside the range should be retained in output but reclassified.", "parameter_type": "Boolean", "default_value": null, "optional": true}, "inclassval": {"name": "Class Value Assigned to Points Within Range (Optional)", "flags": ["--inclassval"], "description": "Optional parameter specifying the class value assigned to points within the slice.", "parameter_type": "Integer", "default_value": "2", "optional": true}, "outclassval": {"name": "Class Value Assigned to Points Outside Range (Optional)", "flags": ["--outclassval"], "description": "Optional parameter specifying the class value assigned to points within the slice.", "parameter_type": "Integer", "default_value": "1", "optional": true}}}, "LidarGroundPointFilter": {"name": "LidarGroundPointFilter", "tool_name": "lidar_ground_point_filter", "category": "LiDAR Tools", "label": "Lidar Ground Point Filter", "description": "Identifies ground points within LiDAR dataset using a slope-based method.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/lidar_analysis/lidar_ground_point_filter.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#LidarGroundPointFilter", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input LiDAR file.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output LiDAR file.", "parameter_type": {"NewFile": "Lidar"}, "default_value": null, "optional": false}, "radius": {"name": "Search Radius", "flags": ["--radius"], "description": "Search Radius.", "parameter_type": "Float", "default_value": "2.0", "optional": false}, "min_neighbours": {"name": "Minimum Number of Neighbours", "flags": ["--min_neighbours"], "description": "The minimum number of neighbouring points within search areas. If fewer points than this threshold are identified during the fixed-radius search, a subsequent kNN search is performed to identify the k number of neighbours.", "parameter_type": "Integer", "default_value": "0", "optional": true}, "slope_threshold": {"name": "Inter-point Slope Threshold", "flags": ["--slope_threshold"], "description": "Maximum inter-point slope to be considered an off-terrain point.", "parameter_type": "Float", "default_value": "45.0", "optional": true}, "height_threshold": {"name": "Off-terrain Point Height Threshold", "flags": ["--height_threshold"], "description": "Inter-point height difference to be considered an off-terrain point.", "parameter_type": "Float", "default_value": "1.0", "optional": true}, "classify": {"name": "Classify Points", "flags": ["--classify"], "description": "Classify points as ground (2) or off-ground (1).", "parameter_type": "Boolean", "default_value": "true", "optional": true}, "slope_norm": {"name": "Perform initial ground slope normalization?", "flags": ["--slope_norm"], "description": "Perform initial ground slope normalization?", "parameter_type": "Boolean", "default_value": "true", "optional": true}, "height_above_ground": {"name": "Transform output to height above average ground elevation?", "flags": ["--height_above_ground"], "description": "Transform output to height above average ground elevation?", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "LidarHexBinning": {"name": "LidarHexBinning", "tool_name": "lidar_hex_binning", "category": "LiDAR Tools", "label": "Lidar Hex Binning", "description": "Hex-bins a set of LiDAR points.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/lidar_analysis/lidar_hex_bin.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#LidarHexBinning", "parameters": {"i": {"name": "Input Base File", "flags": ["-i", "--input"], "description": "Input base file.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": false}, "output": {"name": "Output Polygon File", "flags": ["-o", "--output"], "description": "Output vector polygon file.", "parameter_type": {"NewFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}, "width": {"name": "Hexagon Width", "flags": ["--width"], "description": "The grid cell width.", "parameter_type": "Float", "default_value": null, "optional": false}, "orientation": {"name": "Grid Orientation", "flags": ["--orientation"], "description": "Grid Orientation, 'horizontal' or 'vertical'.", "parameter_type": {"OptionList": ["horizontal", "vertical"]}, "default_value": "horizontal", "optional": true}}}, "LidarHillshade": {"name": "LidarHillshade", "tool_name": "lidar_hillshade", "category": "LiDAR Tools", "label": "Lidar Hillshade", "description": "Calculates a hillshade value for points within a LAS file and stores these data in the RGB field.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/lidar_analysis/lidar_hillshade.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#LidarHillshade", "parameters": {"i": {"name": "Input LiDAR File", "flags": ["-i", "--input"], "description": "Input LiDAR file.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output file.", "parameter_type": {"NewFile": "Lidar"}, "default_value": null, "optional": false}, "azimuth": {"name": "Azimuth (degrees)", "flags": ["--azimuth"], "description": "Illumination source azimuth in degrees.", "parameter_type": "Float", "default_value": "315.0", "optional": true}, "altitude": {"name": "Altitude (degrees)", "flags": ["--altitude"], "description": "Illumination source altitude in degrees.", "parameter_type": "Float", "default_value": "30.0", "optional": true}, "radius": {"name": "Search Radius", "flags": ["--radius"], "description": "Search Radius.", "parameter_type": "Float", "default_value": "1.0", "optional": false}}}, "LidarHistogram": {"name": "LidarHistogram", "tool_name": "lidar_histogram", "category": "LiDAR Tools", "label": "Lidar Histogram", "description": "Creates a histogram of LiDAR data.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/lidar_analysis/lidar_histogram.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#LidarHistogram", "parameters": {"i": {"name": "Input LiDAR File", "flags": ["-i", "--input"], "description": "Input LiDAR file.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": false}, "output": {"name": "Output HTML File", "flags": ["-o", "--output"], "description": "Output HTML file (default name will be based on input file if unspecified).", "parameter_type": {"NewFile": "Html"}, "default_value": null, "optional": false}, "parameter": {"name": "Parameter", "flags": ["--parameter"], "description": "Parameter; options are 'elevation' (default), 'intensity', 'scan angle', 'class', 'time'.", "parameter_type": {"OptionList": ["elevation", "intensity", "scan angle", "class", "time"]}, "default_value": "elevation", "optional": true}, "clip": {"name": "Tail Clip Percent", "flags": ["--clip"], "description": "Amount to clip distribution tails (in percent).", "parameter_type": "Float", "default_value": "1.0", "optional": true}}}, "LidarIdwInterpolation": {"name": "LidarIdwInterpolation", "tool_name": "lidar_idw_interpolation", "category": "LiDAR Tools", "label": "Lidar Idw Interpolation", "description": "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.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/lidar_analysis/lidar_idw_interpolation.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#LidarIdwInterpolation", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input LiDAR file (including extension).", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": true}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file (including extension).", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": true}, "parameter": {"name": "Interpolation Parameter", "flags": ["--parameter"], "description": "Interpolation parameter; options are 'elevation' (default), 'intensity', 'class', 'return_number', 'number_of_returns', 'scan angle', 'rgb', 'user data'.", "parameter_type": {"OptionList": ["elevation", "intensity", "class", "return_number", "number_of_returns", "scan angle", "rgb", "user data"]}, "default_value": "elevation", "optional": true}, "returns": {"name": "Point Returns Included", "flags": ["--returns"], "description": "Point return types to include; options are 'all' (default), 'last', 'first'.", "parameter_type": {"OptionList": ["all", "last", "first"]}, "default_value": "all", "optional": true}, "resolution": {"name": "Grid Resolution", "flags": ["--resolution"], "description": "Output raster's grid resolution.", "parameter_type": "Float", "default_value": "1.0", "optional": true}, "weight": {"name": "IDW Weight (Exponent) Value", "flags": ["--weight"], "description": "IDW weight value.", "parameter_type": "Float", "default_value": "1.0", "optional": true}, "radius": {"name": "Search Radius", "flags": ["--radius"], "description": "Search Radius.", "parameter_type": "Float", "default_value": "2.5", "optional": true}, "exclude_cls": {"name": "Exclusion Classes (0-18, based on LAS spec; e.g. 3,4,5,6,7)", "flags": ["--exclude_cls"], "description": "Optional exclude classes from interpolation; Valid class values range from 0 to 18, based on LAS specifications. Example, --exclude_cls='3,4,5,6,7,18'.", "parameter_type": "String", "default_value": null, "optional": true}, "minz": {"name": "Minimum Elevation Value (optional)", "flags": ["--minz"], "description": "Optional minimum elevation for inclusion in interpolation.", "parameter_type": "Float", "default_value": null, "optional": true}, "maxz": {"name": "Maximum Elevation Value (optional)", "flags": ["--maxz"], "description": "Optional maximum elevation for inclusion in interpolation.", "parameter_type": "Float", "default_value": null, "optional": true}}}, "LidarInfo": {"name": "LidarInfo", "tool_name": "lidar_info", "category": "LiDAR Tools", "label": "Lidar Info", "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.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/lidar_analysis/lidar_info.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#LidarInfo", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input LiDAR file.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": false}, "output": {"name": "Output Summary Report File", "flags": ["-o", "--output"], "description": "Output HTML file for summary report.", "parameter_type": {"NewFile": "Html"}, "default_value": null, "optional": false}, "density": {"name": "Calculate the average point density and nominal point spacing?", "flags": ["--density"], "description": "Flag indicating whether or not to calculate the average point density and nominal point spacing.", "parameter_type": "Boolean", "default_value": "true", "optional": true}, "vlr": {"name": "Print the variable length records (VLRs)?", "flags": ["--vlr"], "description": "Flag indicating whether or not to print the variable length records (VLRs).", "parameter_type": "Boolean", "default_value": "true", "optional": true}, "geokeys": {"name": "Print the geokeys?", "flags": ["--geokeys"], "description": "Flag indicating whether or not to print the geokeys.", "parameter_type": "Boolean", "default_value": "true", "optional": true}}}, "LidarJoin": {"name": "LidarJoin", "tool_name": "lidar_join", "category": "LiDAR Tools", "label": "Lidar Join", "description": "Joins multiple LiDAR (LAS) files into a single LAS file.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/lidar_analysis/lidar_join.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#LidarJoin", "parameters": {"inputs": {"name": "Input LiDAR Files", "flags": ["-i", "--inputs"], "description": "Input LiDAR files.", "parameter_type": {"FileList": "Lidar"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output LiDAR file.", "parameter_type": {"NewFile": "Lidar"}, "default_value": null, "optional": false}}}, "LidarKappaIndex": {"name": "LidarKappaIndex", "tool_name": "lidar_kappa_index", "category": "LiDAR Tools", "label": "Lidar Kappa Index", "description": "Performs a kappa index of agreement (KIA) analysis on the classifications of two LAS files.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/lidar_analysis/lidar_kappa.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#LidarKappaIndex", "parameters": {"input1": {"name": "Input LiDAR File (Classification)", "flags": ["--i1", "--input1"], "description": "Input LiDAR classification file.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": false}, "input2": {"name": "Input LiDAR File (Reference)", "flags": ["--i2", "--input2"], "description": "Input LiDAR reference file.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": false}, "output": {"name": "Output HTML File", "flags": ["-o", "--output"], "description": "Output HTML file.", "parameter_type": {"NewFile": "Html"}, "default_value": null, "optional": false}, "class_accuracy": {"name": "Output Class Accuracy Raster File", "flags": ["--class_accuracy"], "description": "Output classification accuracy raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "resolution": {"name": "Grid Resolution", "flags": ["--resolution"], "description": "Output raster's grid resolution.", "parameter_type": "Float", "default_value": "1.0", "optional": true}}}, "LidarNearestNeighbourGridding": {"name": "LidarNearestNeighbourGridding", "tool_name": "lidar_nearest_neighbour_gridding", "category": "LiDAR Tools", "label": "Lidar Nearest Neighbour Gridding", "description": "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.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/lidar_analysis/lidar_nn_gridding.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#LidarNearestNeighbourGridding", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input LiDAR file (including extension).", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": true}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file (including extension).", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": true}, "parameter": {"name": "Interpolation Parameter", "flags": ["--parameter"], "description": "Interpolation parameter; options are 'elevation' (default), 'intensity', 'class', 'return_number', 'number_of_returns', 'scan angle', 'rgb', 'user data', 'time'.", "parameter_type": {"OptionList": ["elevation", "intensity", "class", "return_number", "number_of_returns", "scan angle", "rgb", "user data", "time"]}, "default_value": "elevation", "optional": true}, "returns": {"name": "Point Returns Included", "flags": ["--returns"], "description": "Point return types to include; options are 'all' (default), 'last', 'first'.", "parameter_type": {"OptionList": ["all", "last", "first"]}, "default_value": "all", "optional": true}, "resolution": {"name": "Grid Resolution", "flags": ["--resolution"], "description": "Output raster's grid resolution.", "parameter_type": "Float", "default_value": "1.0", "optional": true}, "radius": {"name": "Search Radius", "flags": ["--radius"], "description": "Search Radius.", "parameter_type": "Float", "default_value": "2.5", "optional": true}, "exclude_cls": {"name": "Exclusion Classes (0-18, based on LAS spec; e.g. 3,4,5,6,7)", "flags": ["--exclude_cls"], "description": "Optional exclude classes from interpolation; Valid class values range from 0 to 18, based on LAS specifications. Example, --exclude_cls='3,4,5,6,7,18'.", "parameter_type": "String", "default_value": null, "optional": true}, "minz": {"name": "Minimum Elevation Value (optional)", "flags": ["--minz"], "description": "Optional minimum elevation for inclusion in interpolation.", "parameter_type": "Float", "default_value": null, "optional": true}, "maxz": {"name": "Maximum Elevation Value (optional)", "flags": ["--maxz"], "description": "Optional maximum elevation for inclusion in interpolation.", "parameter_type": "Float", "default_value": null, "optional": true}}}, "LidarPointDensity": {"name": "LidarPointDensity", "tool_name": "lidar_point_density", "category": "LiDAR Tools", "label": "Lidar Point Density", "description": "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.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/lidar_analysis/lidar_point_density.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#LidarPointDensity", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input LiDAR file (including extension).", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": true}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file (including extension).", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": true}, "returns": {"name": "Point Returns Included", "flags": ["--returns"], "description": "Point return types to include; options are 'all' (default), 'last', 'first'.", "parameter_type": {"OptionList": ["all", "last", "first"]}, "default_value": "all", "optional": true}, "resolution": {"name": "Grid Resolution", "flags": ["--resolution"], "description": "Output raster's grid resolution.", "parameter_type": "Float", "default_value": "1.0", "optional": true}, "radius": {"name": "Search Radius", "flags": ["--radius"], "description": "Search radius.", "parameter_type": "Float", "default_value": "2.5", "optional": true}, "exclude_cls": {"name": "Exclusion Classes (0-18, based on LAS spec; e.g. 3,4,5,6,7)", "flags": ["--exclude_cls"], "description": "Optional exclude classes from interpolation; Valid class values range from 0 to 18, based on LAS specifications. Example, --exclude_cls='3,4,5,6,7,18'.", "parameter_type": "String", "default_value": null, "optional": true}, "minz": {"name": "Minimum Elevation Value (optional)", "flags": ["--minz"], "description": "Optional minimum elevation for inclusion in interpolation.", "parameter_type": "Float", "default_value": null, "optional": true}, "maxz": {"name": "Maximum Elevation Value (optional)", "flags": ["--maxz"], "description": "Optional maximum elevation for inclusion in interpolation.", "parameter_type": "Float", "default_value": null, "optional": true}}}, "LidarPointReturnAnalysis": {"name": "LidarPointReturnAnalysis", "tool_name": "lidar_point_return_analysis", "category": "LiDAR Tools", "label": "Lidar Point Return Analysis", "description": "This tool performs a quality control check on the return values of points in a LiDAR file.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#LidarPointReturnAnalysis", "parameters": {"i": {"name": "Input LiDAR Points", "flags": ["-i", "--input"], "description": "Name of the input LiDAR points.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": false}, "output": {"name": "Output LiDAR Points", "flags": ["-o", "--output"], "description": "Name of the output LiDAR points.", "parameter_type": {"NewFile": "Lidar"}, "default_value": null, "optional": true}}}, "LidarPointStats": {"name": "LidarPointStats", "tool_name": "lidar_point_stats", "category": "LiDAR Tools", "label": "Lidar Point Stats", "description": "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.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/lidar_analysis/lidar_point_stats.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#LidarPointStats", "parameters": {"i": {"name": "Input LiDAR File", "flags": ["-i", "--input"], "description": "Input LiDAR file.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": true}, "resolution": {"name": "Grid Resolution", "flags": ["--resolution"], "description": "Output raster's grid resolution.", "parameter_type": "Float", "default_value": "1.0", "optional": true}, "num_points": {"name": "Output number of points?", "flags": ["--num_points"], "description": "Flag indicating whether or not to output the number of points (returns) raster.", "parameter_type": "Boolean", "default_value": "True", "optional": true}, "num_pulses": {"name": "Output number of pulses?", "flags": ["--num_pulses"], "description": "Flag indicating whether or not to output the number of pulses raster.", "parameter_type": "Boolean", "default_value": null, "optional": true}, "avg_points_per_pulse": {"name": "Output average number of points per pulse?", "flags": ["--avg_points_per_pulse"], "description": "Flag indicating whether or not to output the average number of points (returns) per pulse raster.", "parameter_type": "Boolean", "default_value": "True", "optional": true}, "z_range": {"name": "Output elevation range?", "flags": ["--z_range"], "description": "Flag indicating whether or not to output the elevation range raster.", "parameter_type": "Boolean", "default_value": null, "optional": true}, "intensity_range": {"name": "Output intensity range?", "flags": ["--intensity_range"], "description": "Flag indicating whether or not to output the intensity range raster.", "parameter_type": "Boolean", "default_value": null, "optional": true}, "predom_class": {"name": "Output predominant class?", "flags": ["--predom_class"], "description": "Flag indicating whether or not to output the predominant classification raster.", "parameter_type": "Boolean", "default_value": null, "optional": true}}}, "LidarRansacPlanes": {"name": "LidarRansacPlanes", "tool_name": "lidar_ransac_planes", "category": "LiDAR Tools", "label": "Lidar Ransac Planes", "description": "Performs a RANSAC analysis to identify points within a LiDAR point cloud that belong to linear planes.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/lidar_analysis/lidar_ransac_planes.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#LidarRansacPlanes", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input LiDAR file.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output LiDAR file.", "parameter_type": {"NewFile": "Lidar"}, "default_value": null, "optional": false}, "radius": {"name": "Search Radius", "flags": ["--radius"], "description": "Search Radius.", "parameter_type": "Float", "default_value": "2.0", "optional": true}, "num_iter": {"name": "Number of Iterations", "flags": ["--num_iter"], "description": "Number of iterations.", "parameter_type": "Integer", "default_value": "50", "optional": true}, "num_samples": {"name": "Number of Sample Points", "flags": ["--num_samples"], "description": "Number of sample points on which to build the model.", "parameter_type": "Integer", "default_value": "5", "optional": true}, "threshold": {"name": "Inlier Threshold", "flags": ["--threshold"], "description": "Threshold used to determine inlier points.", "parameter_type": "Float", "default_value": "0.35", "optional": true}, "model_size": {"name": "Acceptable Model Size", "flags": ["--model_size"], "description": "Acceptable model size.", "parameter_type": "Integer", "default_value": "8", "optional": true}, "max_slope": {"name": "Maximum Planar Slope", "flags": ["--max_slope"], "description": "Maximum planar slope.", "parameter_type": "Float", "default_value": "80.0", "optional": true}, "classify": {"name": "Classify Points", "flags": ["--classify"], "description": "Classify points as ground (2) or off-ground (1).", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "last_returns": {"name": "Last Returns Only", "flags": ["--last_returns"], "description": "Only include last- and only-return points.", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "LidarRbfInterpolation": {"name": "LidarRbfInterpolation", "tool_name": "lidar_rbf_interpolation", "category": "LiDAR Tools", "label": "Lidar Rbf Interpolation", "description": "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.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/lidar_analysis/lidar_radial_basis_function_interpolation.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#LidarRbfInterpolation", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input LiDAR file (including extension).", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": true}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file (including extension).", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": true}, "parameter": {"name": "Interpolation Parameter", "flags": ["--parameter"], "description": "Interpolation parameter; options are 'elevation' (default), 'intensity', 'class', 'return_number', 'number_of_returns', 'scan angle', 'rgb', 'user data'.", "parameter_type": {"OptionList": ["elevation", "intensity", "class", "return_number", "number_of_returns", "scan angle", "rgb", "user data"]}, "default_value": "elevation", "optional": true}, "returns": {"name": "Point Returns Included", "flags": ["--returns"], "description": "Point return types to include; options are 'all' (default), 'last', 'first'.", "parameter_type": {"OptionList": ["all", "last", "first"]}, "default_value": "all", "optional": true}, "resolution": {"name": "Grid Resolution", "flags": ["--resolution"], "description": "Output raster's grid resolution.", "parameter_type": "Float", "default_value": "1.0", "optional": true}, "num_points": {"name": "Number of Points", "flags": ["--num_points"], "description": "Number of points.", "parameter_type": "Integer", "default_value": "20", "optional": false}, "exclude_cls": {"name": "Exclusion Classes (0-18, based on LAS spec; e.g. 3,4,5,6,7)", "flags": ["--exclude_cls"], "description": "Optional exclude classes from interpolation; Valid class values range from 0 to 18, based on LAS specifications. Example, --exclude_cls='3,4,5,6,7,18'.", "parameter_type": "String", "default_value": null, "optional": true}, "minz": {"name": "Minimum Elevation Value (optional)", "flags": ["--minz"], "description": "Optional minimum elevation for inclusion in interpolation.", "parameter_type": "Float", "default_value": null, "optional": true}, "maxz": {"name": "Maximum Elevation Value (optional)", "flags": ["--maxz"], "description": "Optional maximum elevation for inclusion in interpolation.", "parameter_type": "Float", "default_value": null, "optional": true}, "func_type": {"name": "Radial Basis Function Type", "flags": ["--func_type"], "description": "Radial basis function type; options are 'ThinPlateSpline' (default), 'PolyHarmonic', 'Gaussian', 'MultiQuadric', 'InverseMultiQuadric'.", "parameter_type": {"OptionList": ["ThinPlateSpline", "PolyHarmonic", "Gaussian", "MultiQuadric", "InverseMultiQuadric"]}, "default_value": "ThinPlateSpline", "optional": true}, "poly_order": {"name": "Polynomial Order", "flags": ["--poly_order"], "description": "Polynomial order; options are 'none' (default), 'constant', 'affine'.", "parameter_type": {"OptionList": ["none", "constant", "affine"]}, "default_value": "none", "optional": true}, "weight": {"name": "Weight", "flags": ["--weight"], "description": "Weight parameter used in basis function.", "parameter_type": "Float", "default_value": "5", "optional": false}}}, "LidarRemoveDuplicates": {"name": "LidarRemoveDuplicates", "tool_name": "lidar_remove_duplicates", "category": "LiDAR Tools", "label": "Lidar Remove Duplicates", "description": "Removes duplicate points from a LiDAR data set.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/lidar_analysis/remove_duplicates.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#LidarRemoveDuplicates", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input LiDAR file.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output LiDAR file.", "parameter_type": {"NewFile": "Lidar"}, "default_value": null, "optional": false}, "include_z": {"name": "Include z-values in point comparison?", "flags": ["--include_z"], "description": "Include z-values in point comparison?", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "LidarRemoveOutliers": {"name": "LidarRemoveOutliers", "tool_name": "lidar_remove_outliers", "category": "LiDAR Tools", "label": "Lidar Remove Outliers", "description": "Removes outliers (high and low points) in a LiDAR point cloud.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/lidar_analysis/lidar_outliers.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#LidarRemoveOutliers", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input LiDAR file.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output LiDAR file.", "parameter_type": {"NewFile": "Lidar"}, "default_value": null, "optional": false}, "radius": {"name": "Search Radius", "flags": ["--radius"], "description": "Search Radius.", "parameter_type": "Float", "default_value": "2.0", "optional": true}, "elev_diff": {"name": "Max. Elevation Difference", "flags": ["--elev_diff"], "description": "Max. elevation difference.", "parameter_type": "Float", "default_value": "50.0", "optional": true}, "use_median": {"name": "Use difference from median elevation?", "flags": ["--use_median"], "description": "Optional flag indicating whether to use the difference from median elevation rather than mean.", "parameter_type": "Boolean", "default_value": null, "optional": true}, "classify": {"name": "Classify Points", "flags": ["--classify"], "description": "Classify points as ground (2) or off-ground (1).", "parameter_type": "Boolean", "default_value": "true", "optional": true}}}, "LidarRooftopAnalysis": {"name": "LidarRooftopAnalysis", "tool_name": "lidar_rooftop_analysis", "category": "LiDAR Tools", "label": "Lidar Rooftop Analysis", "description": "Identifies roof segments in a LiDAR point cloud.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/lidar_analysis/lidar_rooftop_analysis.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#LidarRooftopAnalysis", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input LiDAR file.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": true}, "buildings": {"name": "Input Building Footprint Polygon File", "flags": ["--buildings"], "description": "Input vector build footprint polygons file.", "parameter_type": {"ExistingFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}, "output": {"name": "Output Polygon File", "flags": ["-o", "--output"], "description": "Output vector polygon file.", "parameter_type": {"NewFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}, "radius": {"name": "Search Radius", "flags": ["--radius"], "description": "Search Radius.", "parameter_type": "Float", "default_value": "2.0", "optional": true}, "num_iter": {"name": "Number of Iterations", "flags": ["--num_iter"], "description": "Number of iterations.", "parameter_type": "Integer", "default_value": "50", "optional": true}, "num_samples": {"name": "Number of Sample Points", "flags": ["--num_samples"], "description": "Number of sample points on which to build the model.", "parameter_type": "Integer", "default_value": "10", "optional": true}, "threshold": {"name": "Inlier Threshold", "flags": ["--threshold"], "description": "Threshold used to determine inlier points (in elevation units).", "parameter_type": "Float", "default_value": "0.15", "optional": true}, "model_size": {"name": "Acceptable Model Size (points)", "flags": ["--model_size"], "description": "Acceptable model size, in points.", "parameter_type": "Integer", "default_value": "15", "optional": true}, "max_slope": {"name": "Maximum Planar Slope (degrees)", "flags": ["--max_slope"], "description": "Maximum planar slope, in degrees.", "parameter_type": "Float", "default_value": "65.0", "optional": true}, "norm_diff": {"name": "Normal Difference Threshold (degrees)", "flags": ["--norm_diff"], "description": "Maximum difference in normal vectors, in degrees.", "parameter_type": "Float", "default_value": "10.0", "optional": true}, "azimuth": {"name": "Azimuth (degrees)", "flags": ["--azimuth"], "description": "Illumination source azimuth, in degrees.", "parameter_type": "Float", "default_value": "180.0", "optional": true}, "altitude": {"name": "Altitude (degrees)", "flags": ["--altitude"], "description": "Illumination source altitude in degrees.", "parameter_type": "Float", "default_value": "30.0", "optional": true}}}, "LidarSegmentation": {"name": "LidarSegmentation", "tool_name": "lidar_segmentation", "category": "LiDAR Tools", "label": "Lidar Segmentation", "description": "Segments a LiDAR point cloud based on differences in the orientation of fitted planar surfaces and point proximity.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/lidar_analysis/lidar_segmentation.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#LidarSegmentation", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input LiDAR file.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output LiDAR file.", "parameter_type": {"NewFile": "Lidar"}, "default_value": null, "optional": false}, "radius": {"name": "Search Radius", "flags": ["--radius"], "description": "Search Radius.", "parameter_type": "Float", "default_value": "2.0", "optional": true}, "num_iter": {"name": "Number of Iterations", "flags": ["--num_iter"], "description": "Number of iterations.", "parameter_type": "Integer", "default_value": "50", "optional": true}, "num_samples": {"name": "Number of Sample Points", "flags": ["--num_samples"], "description": "Number of sample points on which to build the model.", "parameter_type": "Integer", "default_value": "10", "optional": true}, "threshold": {"name": "Inlier Threshold", "flags": ["--threshold"], "description": "Threshold used to determine inlier points.", "parameter_type": "Float", "default_value": "0.15", "optional": true}, "model_size": {"name": "Acceptable Model Size", "flags": ["--model_size"], "description": "Acceptable model size.", "parameter_type": "Integer", "default_value": "15", "optional": true}, "max_slope": {"name": "Maximum Planar Slope", "flags": ["--max_slope"], "description": "Maximum planar slope.", "parameter_type": "Float", "default_value": "80.0", "optional": true}, "norm_diff": {"name": "Normal Difference Threshold", "flags": ["--norm_diff"], "description": "Maximum difference in normal vectors, in degrees.", "parameter_type": "Float", "default_value": "10.0", "optional": true}, "maxzdiff": {"name": "Maximum Elevation Difference Between Points", "flags": ["--maxzdiff"], "description": "Maximum difference in elevation (z units) between neighbouring points of the same segment.", "parameter_type": "Float", "default_value": "1.0", "optional": true}, "classes": {"name": "Don't cross class boundaries?", "flags": ["--classes"], "description": "Segments don't cross class boundaries.", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "ground": {"name": "Classify largest segment as ground?", "flags": ["--ground"], "description": "Classify the largest segment as ground points?", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "LidarSegmentationBasedFilter": {"name": "LidarSegmentationBasedFilter", "tool_name": "lidar_segmentation_based_filter", "category": "LiDAR Tools", "label": "Lidar Segmentation Based Filter", "description": "Identifies ground points within LiDAR point clouds using a segmentation based approach.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/lidar_analysis/lidar_segmentation_based_filter.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#LidarSegmentationBasedFilter", "parameters": {"i": {"name": "Input LiDAR File", "flags": ["-i", "--input"], "description": "Input LiDAR file.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output file.", "parameter_type": {"NewFile": "Lidar"}, "default_value": null, "optional": false}, "radius": {"name": "Search Radius", "flags": ["--dist", "--radius"], "description": "Search Radius.", "parameter_type": "Float", "default_value": "5.0", "optional": false}, "norm_diff": {"name": "Normal Difference Threshold", "flags": ["--norm_diff"], "description": "Maximum difference in normal vectors, in degrees.", "parameter_type": "Float", "default_value": "2.0", "optional": true}, "maxzdiff": {"name": "Maximum Elevation Difference Between Points", "flags": ["--maxzdiff"], "description": "Maximum difference in elevation (z units) between neighbouring points of the same segment.", "parameter_type": "Float", "default_value": "1.0", "optional": true}, "classify": {"name": "Classify Points", "flags": ["--classify"], "description": "Classify points as ground (2) or off-ground (1).", "parameter_type": "Boolean", "default_value": null, "optional": true}}}, "LidarSibsonInterpolation": {"name": "LidarSibsonInterpolation", "tool_name": "lidar_sibson_interpolation", "category": "LiDAR Tools", "label": "Lidar Sibson Interpolation", "description": "This tool interpolates one or more LiDAR tiles using Sibson's natural neighbour method.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#LidarSibsonInterpolation", "parameters": {"i": {"name": "Input LiDAR Points", "flags": ["-i", "--input"], "description": "Name of the input LiDAR points (leave blank to use all files in WorkingDirectory.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": true}, "output": {"name": "Output Raster", "flags": ["-o", "--output"], "description": "Output raster file (including extension).", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": true}, "parameter": {"name": "Interpolation Parameter", "flags": ["-p", "--parameter"], "description": "Interpolation parameter; options are 'elevation' (default), 'intensity', 'class', 'return_number', 'number_of_returns', 'scan angle', 'user_data'.", "parameter_type": {"OptionList": ["elevation", "intensity", "class", "return_number", "number_of_returns", "scan_angle", "user_data"]}, "default_value": "elevation", "optional": true}, "returns": {"name": "Point Returns Included", "flags": ["--returns"], "description": "Point return types to include; options are 'all' (default), 'last', 'first'.", "parameter_type": {"OptionList": ["all", "last", "first"]}, "default_value": "all", "optional": true}, "resolution": {"name": "Output Grid Resolution", "flags": ["--resolution"], "description": "Output raster's grid resolution.", "parameter_type": "Float", "default_value": "1.0", "optional": true}, "exclude_cls": {"name": "Exclusion Classes (0-18, based on LAS spec; e.g. 3,4,5,6,7)", "flags": ["--exclude_cls"], "description": "Optional exclude classes from interpolation; Valid class values range from 0 to 18, based on LAS specifications. Example, --exclude_cls='3,4,5,6,7,18'.", "parameter_type": "String", "default_value": null, "optional": true}, "minz": {"name": "Minimum Elevation Value (optional)", "flags": ["--minz"], "description": "Optional minimum elevation for inclusion in interpolation.", "parameter_type": "Float", "default_value": null, "optional": true}, "maxz": {"name": "Maximum Elevation Value (optional)", "flags": ["--maxz"], "description": "Optional maximum elevation for inclusion in interpolation.", "parameter_type": "Float", "default_value": null, "optional": true}}}, "LidarTinGridding": {"name": "LidarTinGridding", "tool_name": "lidar_tin_gridding", "category": "LiDAR Tools", "label": "Lidar Tin Gridding", "description": "Creates a raster grid based on a Delaunay triangular irregular network (TIN) fitted to LiDAR points.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/lidar_analysis/lidar_tin_gridding.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#LidarTinGridding", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input LiDAR file (including extension).", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": true}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file (including extension).", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": true}, "parameter": {"name": "Interpolation Parameter", "flags": ["--parameter"], "description": "Interpolation parameter; options are 'elevation' (default), 'intensity', 'class', 'return_number', 'number_of_returns', 'scan angle', 'rgb', 'user data'.", "parameter_type": {"OptionList": ["elevation", "intensity", "class", "return_number", "number_of_returns", "scan angle", "rgb", "user data"]}, "default_value": "elevation", "optional": true}, "returns": {"name": "Point Returns Included", "flags": ["--returns"], "description": "Point return types to include; options are 'all' (default), 'last', 'first'.", "parameter_type": {"OptionList": ["all", "last", "first"]}, "default_value": "all", "optional": true}, "resolution": {"name": "Grid Resolution", "flags": ["--resolution"], "description": "Output raster's grid resolution.", "parameter_type": "Float", "default_value": "1.0", "optional": true}, "exclude_cls": {"name": "Exclusion Classes (0-18, based on LAS spec; e.g. 3,4,5,6,7)", "flags": ["--exclude_cls"], "description": "Optional exclude classes from interpolation; Valid class values range from 0 to 18, based on LAS specifications. Example, --exclude_cls='3,4,5,6,7,18'.", "parameter_type": "String", "default_value": "7,18", "optional": true}, "minz": {"name": "Minimum Elevation Value (optional)", "flags": ["--minz"], "description": "Optional minimum elevation for inclusion in interpolation.", "parameter_type": "Float", "default_value": null, "optional": true}, "maxz": {"name": "Maximum Elevation Value (optional)", "flags": ["--maxz"], "description": "Optional maximum elevation for inclusion in interpolation.", "parameter_type": "Float", "default_value": null, "optional": true}, "max_triangle_edge_length": {"name": "Maximum Triangle Edge Length (optional)", "flags": ["--max_triangle_edge_length"], "description": "Optional maximum triangle edge length; triangles larger than this size will not be gridded.", "parameter_type": "Float", "default_value": null, "optional": true}}}, "LidarThin": {"name": "LidarThin", "tool_name": "lidar_thin", "category": "LiDAR Tools", "label": "Lidar Thin", "description": "Thins a LiDAR point cloud, reducing point density.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/lidar_analysis/lidar_thin.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#LidarThin", "parameters": {"i": {"name": "Input LiDAR File", "flags": ["-i", "--input"], "description": "Input LiDAR file.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output LiDAR file.", "parameter_type": {"NewFile": "Lidar"}, "default_value": null, "optional": false}, "resolution": {"name": "Sample Resolution", "flags": ["--resolution"], "description": "The size of the square area used to evaluate nearby points in the LiDAR data.", "parameter_type": "Float", "default_value": "2.0", "optional": true}, "method": {"name": "Point Selection Method", "flags": ["--method"], "description": "Point selection method; options are 'first', 'last', 'lowest' (default), 'highest', 'nearest'.", "parameter_type": {"OptionList": ["first", "last", "lowest", "highest", "nearest"]}, "default_value": "lowest", "optional": true}, "save_filtered": {"name": "Save filtered points to separate file?", "flags": ["--save_filtered"], "description": "Save filtered points to separate file?", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "LidarThinHighDensity": {"name": "LidarThinHighDensity", "tool_name": "lidar_thin_high_density", "category": "LiDAR Tools", "label": "Lidar Thin High Density", "description": "Thins points from high density areas within a LiDAR point cloud.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/lidar_analysis/lidar_thin_high_density.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#LidarThinHighDensity", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input LiDAR file.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output LiDAR file.", "parameter_type": {"NewFile": "Lidar"}, "default_value": null, "optional": false}, "resolution": {"name": "Grid Resolution", "flags": ["--resolution"], "description": "Output raster's grid resolution.", "parameter_type": "Float", "default_value": "1.0", "optional": true}, "density": {"name": "Max. Point Density (pts/m^2)", "flags": ["--density"], "description": "Max. point density (points / m^3).", "parameter_type": "Float", "default_value": null, "optional": false}, "save_filtered": {"name": "Save filtered points to separate file?", "flags": ["--save_filtered"], "description": "Save filtered points to separate file?", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "LidarTile": {"name": "LidarTile", "tool_name": "lidar_tile", "category": "LiDAR Tools", "label": "Lidar Tile", "description": "Tiles a LiDAR LAS file into multiple LAS files.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/lidar_analysis/lidar_tile.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#LidarTile", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input LiDAR file.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": false}, "width": {"name": "Tile Width", "flags": ["--width"], "description": "Width of tiles in the X dimension; default 1000.0.", "parameter_type": "Float", "default_value": "1000.0", "optional": true}, "height": {"name": "Tile Height", "flags": ["--height"], "description": "Height of tiles in the Y dimension.", "parameter_type": "Float", "default_value": "1000.0", "optional": true}, "origin_x": {"name": "Origin Point X-Coordinate", "flags": ["--origin_x"], "description": "Origin point X coordinate for tile grid.", "parameter_type": "Float", "default_value": "0.0", "optional": true}, "origin_y": {"name": "Origin Point Y-Coordinate", "flags": ["--origin_y"], "description": "Origin point Y coordinate for tile grid.", "parameter_type": "Float", "default_value": "0.0", "optional": true}, "min_points": {"name": "Minimum Number of Tile Points", "flags": ["--min_points"], "description": "Minimum number of points contained in a tile for it to be saved.", "parameter_type": "Integer", "default_value": "2", "optional": true}}}, "LidarTileFootprint": {"name": "LidarTileFootprint", "tool_name": "lidar_tile_footprint", "category": "LiDAR Tools", "label": "Lidar Tile Footprint", "description": "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.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/lidar_analysis/lidar_tile_footprint.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#LidarTileFootprint", "parameters": {"i": {"name": "Input LiDAR File", "flags": ["-i", "--input"], "description": "Input LiDAR file.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": true}, "output": {"name": "Output Polygon File", "flags": ["-o", "--output"], "description": "Output vector polygon file.", "parameter_type": {"NewFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}, "hull": {"name": "Create Convex Hull Around Points", "flags": ["--hull"], "description": "Identify the convex hull around points.", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "LidarTophatTransform": {"name": "LidarTophatTransform", "tool_name": "lidar_tophat_transform", "category": "LiDAR Tools", "label": "Lidar Tophat Transform", "description": "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.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/lidar_analysis/lidar_tophat_transform.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#LidarTophatTransform", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input LiDAR file.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output LiDAR file.", "parameter_type": {"NewFile": "Lidar"}, "default_value": null, "optional": false}, "radius": {"name": "Search Radius", "flags": ["--radius"], "description": "Search Radius.", "parameter_type": "Float", "default_value": "1.0", "optional": false}}}, "LineDetectionFilter": {"name": "LineDetectionFilter", "tool_name": "line_detection_filter", "category": "Image Processing Tools", "label": "Line Detection Filter", "description": "Performs a line-detection filter on an image.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/line_detection_filter.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#LineDetectionFilter", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "variant": {"name": "Variant", "flags": ["--variant"], "description": "Optional variant value. Options include 'v' (vertical), 'h' (horizontal), '45', and '135' (default is 'v').", "parameter_type": {"OptionList": ["vertical", "horizontal", "45", "135"]}, "default_value": "vertical", "optional": true}, "absvals": {"name": "Output absolute values?", "flags": ["--absvals"], "description": "Optional flag indicating whether outputs should be absolute values.", "parameter_type": "Boolean", "default_value": null, "optional": true}, "clip": {"name": "Distribution Tail Clip Amount (%)", "flags": ["--clip"], "description": "Optional amount to clip the distribution tails by, in percent.", "parameter_type": "Float", "default_value": "0.0", "optional": true}}}, "LineIntersections": {"name": "LineIntersections", "tool_name": "line_intersections", "category": "GIS Analysis", "label": "Line Intersections", "description": "Identifies points where the features of two vector line layers intersect.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/line_intersections.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#LineIntersections", "parameters": {"input1": {"name": "Input Vector Lines File", "flags": ["--i1", "--input1"], "description": "Input vector polyline file.", "parameter_type": {"ExistingFile": {"Vector": "LineOrPolygon"}}, "default_value": null, "optional": false}, "input2": {"name": "Input Vector Lines File", "flags": ["--i2", "--input2"], "description": "Input vector polyline file.", "parameter_type": {"ExistingFile": {"Vector": "LineOrPolygon"}}, "default_value": null, "optional": false}, "output": {"name": "Output Vector Point File", "flags": ["-o", "--output"], "description": "Output vector point file.", "parameter_type": {"NewFile": {"Vector": "Point"}}, "default_value": null, "optional": false}}}, "LineThinning": {"name": "LineThinning", "tool_name": "line_thinning", "category": "Image Processing Tools", "label": "Line Thinning", "description": "Performs line thinning a on Boolean raster image; intended to be used with the RemoveSpurs tool.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/line_thin.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#LineThinning", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "LinearityIndex": {"name": "LinearityIndex", "tool_name": "linearity_index", "category": "GIS Analysis", "label": "Linearity Index", "description": "Calculates the linearity index for vector polygons.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/linearity_index.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#LinearityIndex", "parameters": {"i": {"name": "Input Vector Polygon File", "flags": ["-i", "--input"], "description": "Input vector polygon file.", "parameter_type": {"ExistingFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}}}, "LinesToPolygons": {"name": "LinesToPolygons", "tool_name": "lines_to_polygons", "category": "Data Tools", "label": "Lines To Polygons", "description": "Converts vector polylines to polygons.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/data_tools/lines_to_polygons.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/data_tools.html#LinesToPolygons", "parameters": {"i": {"name": "Input Line File", "flags": ["-i", "--input"], "description": "Input vector line file.", "parameter_type": {"ExistingFile": {"Vector": "Line"}}, "default_value": null, "optional": false}, "output": {"name": "Output Polygon File", "flags": ["-o", "--output"], "description": "Output vector polygon file.", "parameter_type": {"NewFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}}}, "ListUniqueValues": {"name": "ListUniqueValues", "tool_name": "list_unique_values", "category": "Math and Stats Tools", "label": "List Unique Values", "description": "Lists the unique values contained in a field within a vector's attribute table.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/list_unique_values.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#ListUniqueValues", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input vector file.", "parameter_type": {"ExistingFile": {"Vector": "Any"}}, "default_value": null, "optional": false}, "field": {"name": "Field Name", "flags": ["--field"], "description": "Input field name in attribute table.", "parameter_type": {"VectorAttributeField": ["Any", "--input"]}, "default_value": null, "optional": false}, "output": {"name": "Output HTML File", "flags": ["-o", "--output"], "description": "Output HTML file (default name will be based on input file if unspecified).", "parameter_type": {"NewFile": "Html"}, "default_value": null, "optional": false}}}, "ListUniqueValuesRaster": {"name": "ListUniqueValuesRaster", "tool_name": "list_unique_values_raster", "category": "Math and Stats Tools", "label": "List Unique Values Raster", "description": "Lists the unique values contained in a field within a vector's attribute table.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/list_unique_values_raster.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#ListUniqueValuesRaster", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}}}, "Ln": {"name": "Ln", "tool_name": "ln", "category": "Math and Stats Tools", "label": "Ln", "description": "Returns the natural logarithm of values in a raster.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/ln.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#Ln", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "LocalHypsometricAnalysis": {"name": "LocalHypsometricAnalysis", "tool_name": "local_hypsometric_analysis", "category": "Geomorphometric Analysis", "label": "Local Hypsometric Analysis", "description": "This tool calculates a local, neighbourhood-based hypsometric integral raster.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#LocalHypsometricAnalysis", "parameters": {"i": {"name": "Input Raster DEM", "flags": ["-i", "--input"], "description": "Name of the input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "out_mag": {"name": "Output Magnitude Raster", "flags": ["--out_mag"], "description": "Name of the openness output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "out_scale": {"name": "Output Scale Raster", "flags": ["--out_scale"], "description": "Name of the openness output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "min_scale": {"name": "Minimum Search Neighbourhood Radius (grid cells)", "flags": ["--min_scale"], "description": "Minimum search neighbourhood radius in grid cells.", "parameter_type": "Integer", "default_value": "4", "optional": true}, "step": {"name": "Base Step Size", "flags": ["--step"], "description": "Step size as any positive non-zero integer.", "parameter_type": "Integer", "default_value": "1", "optional": true}, "num_steps": {"name": "Number of Steps", "flags": ["--num_steps"], "description": "Number of steps.", "parameter_type": "Integer", "default_value": "10", "optional": true}, "step_nonlinearity": {"name": "Step Nonlinearity", "flags": ["--step_nonlinearity"], "description": "Step nonlinearity factor (1.0-2.0 is typical)", "parameter_type": "Float", "default_value": "1.0", "optional": true}}}, "Log10": {"name": "Log10", "tool_name": "log10", "category": "Math and Stats Tools", "label": "Log10", "description": "Returns the base-10 logarithm of values in a raster.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/log10.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#Log10", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "Log2": {"name": "Log2", "tool_name": "log2", "category": "Math and Stats Tools", "label": "Log2", "description": "Returns the base-2 logarithm of values in a raster.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/log2.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#Log2", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "LogisticRegression": {"name": "LogisticRegression", "tool_name": "logistic_regression", "category": "Machine Learning", "label": "Logistic Regression", "description": "Performs a logistic regression analysis using training site polygons/points and predictor rasters.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/machine_learning.html#LogisticRegression", "parameters": {"inputs": {"name": "Input Predictor Rasters", "flags": ["-i", "--inputs"], "description": "Names of the input predictor rasters.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "scaling": {"name": "Scaling Method", "flags": ["--scaling"], "description": "Scaling method for predictors. Options include 'None', 'Normalize', and 'Standardize'", "parameter_type": {"OptionList": ["None", "Normalize", "Standardize"]}, "default_value": "Normalize", "optional": true}, "training": {"name": "Input Training Polygons/Points", "flags": ["-t", "--training"], "description": "Name of the input training site polygons/points shapefile.", "parameter_type": {"ExistingFile": {"Vector": "Any"}}, "default_value": null, "optional": false}, "field": {"name": "Class Field Name", "flags": ["-f", "--field"], "description": "Name of the attribute containing class data.", "parameter_type": {"VectorAttributeField": ["Any", "--training"]}, "default_value": null, "optional": false}, "output": {"name": "Output Raster File", "flags": ["-o", "--output"], "description": "Name of the output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": true}, "test_proportion": {"name": "Test Proportion", "flags": ["--test_proportion"], "description": "The proportion of the dataset to include in the test split; default is 0.2.", "parameter_type": "Float", "default_value": "0.2", "optional": true}}}, "LongProfile": {"name": "LongProfile", "tool_name": "long_profile", "category": "Stream Network Analysis", "label": "Long Profile", "description": "Plots the stream longitudinal profiles for one or more rivers.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/stream_network_analysis/long_profile.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/stream_network_analysis.html#LongProfile", "parameters": {"d8_pntr": {"name": "Input D8 Pointer File", "flags": ["--d8_pntr"], "description": "Input raster D8 pointer file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "streams": {"name": "Input Streams File", "flags": ["--streams"], "description": "Input raster streams file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "dem": {"name": "Input DEM File", "flags": ["--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output HTML File", "flags": ["-o", "--output"], "description": "Output HTML file.", "parameter_type": {"NewFile": "Html"}, "default_value": null, "optional": false}, "esri_pntr": {"name": "Does the pointer file use the ESRI pointer scheme?", "flags": ["--esri_pntr"], "description": "D8 pointer uses the ESRI style scheme.", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "LongProfileFromPoints": {"name": "LongProfileFromPoints", "tool_name": "long_profile_from_points", "category": "Stream Network Analysis", "label": "Long Profile From Points", "description": "Plots the longitudinal profiles from flow-paths initiating from a set of vector points.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/stream_network_analysis/long_profile_from_points.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/stream_network_analysis.html#LongProfileFromPoints", "parameters": {"d8_pntr": {"name": "Input D8 Pointer File", "flags": ["--d8_pntr"], "description": "Input raster D8 pointer file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "points": {"name": "Input Vector Points File", "flags": ["--points"], "description": "Input vector points file.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "dem": {"name": "Input DEM File", "flags": ["--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output HTML File", "flags": ["-o", "--output"], "description": "Output HTML file.", "parameter_type": {"NewFile": "Html"}, "default_value": null, "optional": false}, "esri_pntr": {"name": "Does the pointer file use the ESRI pointer scheme?", "flags": ["--esri_pntr"], "description": "D8 pointer uses the ESRI style scheme.", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "LongestFlowpath": {"name": "LongestFlowpath", "tool_name": "longest_flowpath", "category": "Hydrological Analysis", "label": "Longest Flowpath", "description": "Delineates the longest flowpaths for a group of subbasins or watersheds.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/longest_flowpath.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#LongestFlowpath", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "basins": {"name": "Basins File", "flags": ["--basins"], "description": "Input raster basins file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output vector file.", "parameter_type": {"NewFile": {"Vector": "Line"}}, "default_value": null, "optional": false}}}, "LowPointsOnHeadwaterDivides": {"name": "LowPointsOnHeadwaterDivides", "tool_name": "low_points_on_headwater_divides", "category": "Hydrological Analysis", "label": "Low Points On Headwater Divides", "description": "This tool locates saddle points along ridges within a digital elevation model (DEM)", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#LowPointsOnHeadwaterDivides", "parameters": {"dem": {"name": "Input DEM Raster", "flags": ["-d", "--dem"], "description": "Name of the input DEM raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "streams": {"name": "Input Streams Raster", "flags": ["--streams"], "description": "Name of the input stream channel raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Vector File", "flags": ["-o", "--output"], "description": "Name of the output vector file.", "parameter_type": {"NewFile": {"Vector": "Point"}}, "default_value": null, "optional": false}}}, "LowestPosition": {"name": "LowestPosition", "tool_name": "lowest_position", "category": "GIS Analysis", "label": "Lowest Position", "description": "Identifies the stack position of the minimum value within a raster stack on a cell-by-cell basis.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/lowest_pos.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#LowestPosition", "parameters": {"inputs": {"name": "Input Files", "flags": ["-i", "--inputs"], "description": "Input raster files.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "MdInfFlowAccumulation": {"name": "MdInfFlowAccumulation", "tool_name": "md_inf_flow_accumulation", "category": "Hydrological Analysis", "label": "Md Inf Flow Accumulation", "description": "Calculates an FD8 flow accumulation raster from an input DEM.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/mdinf_flow_accum.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#MdInfFlowAccumulation", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "out_type": {"name": "Output Type", "flags": ["--out_type"], "description": "Output type; one of 'cells', 'specific contributing area' (default), and 'catchment area'.", "parameter_type": {"OptionList": ["cells", "specific contributing area", "catchment area"]}, "default_value": "specific contributing area", "optional": true}, "exponent": {"name": "Exponent Parameter", "flags": ["--exponent"], "description": "Optional exponent parameter; default is 1.1.", "parameter_type": "Float", "default_value": "1.1", "optional": true}, "threshold": {"name": "Convergence Threshold (grid cells; blank for none)", "flags": ["--threshold"], "description": "Optional convergence threshold parameter, in grid cells; default is infinity.", "parameter_type": "Float", "default_value": null, "optional": true}, "log": {"name": "Log-transform the output?", "flags": ["--log"], "description": "Optional flag to request the output be log-transformed.", "parameter_type": "Boolean", "default_value": null, "optional": true}, "clip": {"name": "Clip the upper tail by 1%?", "flags": ["--clip"], "description": "Optional flag to request clipping the display max by 1%.", "parameter_type": "Boolean", "default_value": null, "optional": true}}}, "MajorityFilter": {"name": "MajorityFilter", "tool_name": "majority_filter", "category": "Image Processing Tools", "label": "Majority Filter", "description": "Assigns each cell in the output grid the most frequently occurring value (mode) in a moving window centred on each grid cell in the input raster.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/majority_filter.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#MajorityFilter", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "filterx": {"name": "Filter X-Dimension", "flags": ["--filterx"], "description": "Size of the filter kernel in the x-direction.", "parameter_type": "Integer", "default_value": "11", "optional": true}, "filtery": {"name": "Filter Y-Dimension", "flags": ["--filtery"], "description": "Size of the filter kernel in the y-direction.", "parameter_type": "Integer", "default_value": "11", "optional": true}}}, "MapOffTerrainObjects": {"name": "MapOffTerrainObjects", "tool_name": "map_off_terrain_objects", "category": "Geomorphometric Analysis", "label": "Map Off Terrain Objects", "description": "Maps off-terrain objects in a digital elevation model (DEM).", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/map_otos.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#MapOffTerrainObjects", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "max_slope": {"name": "Maximum Slope", "flags": ["--max_slope"], "description": "Maximum inter-cell absolute slope.", "parameter_type": "Float", "default_value": "40.0", "optional": false}, "min_size": {"name": "Minimum Feature Size", "flags": ["--min_size"], "description": "Minimum feature size, in grid cells.", "parameter_type": "Integer", "default_value": "1", "optional": false}}}, "Max": {"name": "Max", "tool_name": "max", "category": "Math and Stats Tools", "label": "Max", "description": "Performs a MAX operation on two rasters or a raster and a constant value.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/max.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#Max", "parameters": {"input1": {"name": "Input File Or Constant Value", "flags": ["--input1"], "description": "Input raster file or constant value.", "parameter_type": {"ExistingFileOrFloat": "Raster"}, "default_value": null, "optional": false}, "input2": {"name": "Input File Or Constant Value", "flags": ["--input2"], "description": "Input raster file or constant value.", "parameter_type": {"ExistingFileOrFloat": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "MaxAbsoluteOverlay": {"name": "MaxAbsoluteOverlay", "tool_name": "max_absolute_overlay", "category": "GIS Analysis", "label": "Max Absolute Overlay", "description": "Evaluates the maximum absolute value for each grid cell from a stack of input rasters.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/max_abs_overlay.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#MaxAbsoluteOverlay", "parameters": {"inputs": {"name": "Input Files", "flags": ["-i", "--inputs"], "description": "Input raster files.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "MaxAnisotropyDev": {"name": "MaxAnisotropyDev", "tool_name": "max_anisotropy_dev", "category": "Geomorphometric Analysis", "label": "Max Anisotropy Dev", "description": "Calculates the maximum anisotropy (directionality) in elevation deviation over a range of spatial scales.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/max_anisotropy_dev.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#MaxAnisotropyDev", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "out_mag": {"name": "Output DEVmax Magnitude File", "flags": ["--out_mag"], "description": "Output raster DEVmax magnitude file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "out_scale": {"name": "Output DEVmax Scale File", "flags": ["--out_scale"], "description": "Output raster DEVmax scale file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "min_scale": {"name": "Minimum Search Neighbourhood Radius (grid cells)", "flags": ["--min_scale"], "description": "Minimum search neighbourhood radius in grid cells.", "parameter_type": "Integer", "default_value": "3", "optional": false}, "max_scale": {"name": "Maximum Search Neighbourhood Radius (grid cells)", "flags": ["--max_scale"], "description": "Maximum search neighbourhood radius in grid cells.", "parameter_type": "Integer", "default_value": null, "optional": false}, "step": {"name": "Step Size", "flags": ["--step"], "description": "Step size as any positive non-zero integer.", "parameter_type": "Integer", "default_value": "2", "optional": false}}}, "MaxAnisotropyDevSignature": {"name": "MaxAnisotropyDevSignature", "tool_name": "max_anisotropy_dev_signature", "category": "Geomorphometric Analysis", "label": "Max Anisotropy Dev Signature", "description": "Calculates the anisotropy in deviation from mean for points over a range of spatial scales.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/max_anisotropy_dev_signature.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#MaxAnisotropyDevSignature", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "points": {"name": "Input Vector Points File", "flags": ["--points"], "description": "Input vector points file.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "output": {"name": "Output HTML File", "flags": ["-o", "--output"], "description": "Output HTML file.", "parameter_type": {"NewFile": "Html"}, "default_value": null, "optional": false}, "min_scale": {"name": "Minimum Search Neighbourhood Radius (grid cells)", "flags": ["--min_scale"], "description": "Minimum search neighbourhood radius in grid cells.", "parameter_type": "Integer", "default_value": "1", "optional": true}, "max_scale": {"name": "Maximum Search Neighbourhood Radius (grid cells)", "flags": ["--max_scale"], "description": "Maximum search neighbourhood radius in grid cells.", "parameter_type": "Integer", "default_value": null, "optional": false}, "step": {"name": "Step Size", "flags": ["--step"], "description": "Step size as any positive non-zero integer.", "parameter_type": "Integer", "default_value": "1", "optional": true}}}, "MaxBranchLength": {"name": "MaxBranchLength", "tool_name": "max_branch_length", "category": "Geomorphometric Analysis", "label": "Max Branch Length", "description": "Lindsay and Seibert's (2013) branch length index is used to map drainage divides or ridge lines.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/max_branch_length.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#MaxBranchLength", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "log": {"name": "Log-transform the output?", "flags": ["--log"], "description": "Optional flag to request the output be log-transformed.", "parameter_type": "Boolean", "default_value": null, "optional": true}}}, "MaxDifferenceFromMean": {"name": "MaxDifferenceFromMean", "tool_name": "max_difference_from_mean", "category": "Geomorphometric Analysis", "label": "Max Difference From Mean", "description": "Calculates the maximum difference from mean elevation over a range of spatial scales.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/max_diff_from_mean.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#MaxDifferenceFromMean", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "out_mag": {"name": "Output DIFFmax Magnitude File", "flags": ["--out_mag"], "description": "Output raster DIFFmax magnitude file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "out_scale": {"name": "Output DIFFmax Scale File", "flags": ["--out_scale"], "description": "Output raster DIFFmax scale file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "min_scale": {"name": "Minimum Search Neighbourhood Radius (grid cells)", "flags": ["--min_scale"], "description": "Minimum search neighbourhood radius in grid cells.", "parameter_type": "Integer", "default_value": null, "optional": false}, "max_scale": {"name": "Maximum Search Neighbourhood Radius (grid cells)", "flags": ["--max_scale"], "description": "Maximum search neighbourhood radius in grid cells.", "parameter_type": "Integer", "default_value": null, "optional": false}, "step": {"name": "Step Size", "flags": ["--step"], "description": "Step size as any positive non-zero integer.", "parameter_type": "Integer", "default_value": "1", "optional": false}}}, "MaxDownslopeElevChange": {"name": "MaxDownslopeElevChange", "tool_name": "max_downslope_elev_change", "category": "Geomorphometric Analysis", "label": "Max Downslope Elev Change", "description": "Calculates the maximum downslope change in elevation between a grid cell and its eight downslope neighbors.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/max_downslope_elev_change.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#MaxDownslopeElevChange", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "MaxElevDevSignature": {"name": "MaxElevDevSignature", "tool_name": "max_elev_dev_signature", "category": "Geomorphometric Analysis", "label": "Max Elev Dev Signature", "description": "Calculates the maximum elevation deviation over a range of spatial scales and for a set of points.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/max_elev_dev_signature.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#MaxElevDevSignature", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "points": {"name": "Input Vector Points File", "flags": ["--points"], "description": "Input vector points file.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "output": {"name": "Output HTML File", "flags": ["-o", "--output"], "description": "Output HTML file.", "parameter_type": {"NewFile": "Html"}, "default_value": null, "optional": false}, "min_scale": {"name": "Minimum Search Neighbourhood Radius (grid cells)", "flags": ["--min_scale"], "description": "Minimum search neighbourhood radius in grid cells.", "parameter_type": "Integer", "default_value": null, "optional": false}, "max_scale": {"name": "Maximum Search Neighbourhood Radius (grid cells)", "flags": ["--max_scale"], "description": "Maximum search neighbourhood radius in grid cells.", "parameter_type": "Integer", "default_value": null, "optional": false}, "step": {"name": "Step Size", "flags": ["--step"], "description": "Step size as any positive non-zero integer.", "parameter_type": "Integer", "default_value": "10", "optional": false}}}, "MaxElevationDeviation": {"name": "MaxElevationDeviation", "tool_name": "max_elevation_deviation", "category": "Geomorphometric Analysis", "label": "Max Elevation Deviation", "description": "Calculates the maximum elevation deviation over a range of spatial scales.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/max_elev_deviation.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#MaxElevationDeviation", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "out_mag": {"name": "Output DEVmax Magnitude File", "flags": ["--out_mag"], "description": "Output raster DEVmax magnitude file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "out_scale": {"name": "Output DEVmax Scale File", "flags": ["--out_scale"], "description": "Output raster DEVmax scale file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "min_scale": {"name": "Minimum Search Neighbourhood Radius (grid cells)", "flags": ["--min_scale"], "description": "Minimum search neighbourhood radius in grid cells.", "parameter_type": "Integer", "default_value": null, "optional": false}, "max_scale": {"name": "Maximum Search Neighbourhood Radius (grid cells)", "flags": ["--max_scale"], "description": "Maximum search neighbourhood radius in grid cells.", "parameter_type": "Integer", "default_value": null, "optional": false}, "step": {"name": "Step Size", "flags": ["--step"], "description": "Step size as any positive non-zero integer.", "parameter_type": "Integer", "default_value": "1", "optional": false}}}, "MaxOverlay": {"name": "MaxOverlay", "tool_name": "max_overlay", "category": "GIS Analysis", "label": "Max Overlay", "description": "Evaluates the maximum value for each grid cell from a stack of input rasters.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/max_overlay.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#MaxOverlay", "parameters": {"inputs": {"name": "Input Files", "flags": ["-i", "--inputs"], "description": "Input raster files.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "MaxUpslopeElevChange": {"name": "MaxUpslopeElevChange", "tool_name": "max_upslope_elev_change", "category": "Geomorphometric Analysis", "label": "Max Upslope Elev Change", "description": "Calculates the maximum upslope change in elevation between a grid cell and its eight downslope neighbors.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/max_upslope_elev_change.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#MaxUpslopeElevChange", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "MaxUpslopeFlowpathLength": {"name": "MaxUpslopeFlowpathLength", "tool_name": "max_upslope_flowpath_length", "category": "Hydrological Analysis", "label": "Max Upslope Flowpath Length", "description": "Measures the maximum length of all upslope flowpaths draining each grid cell.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/max_upslope_flowpath.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#MaxUpslopeFlowpathLength", "parameters": {"dem": {"name": "Input File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "MaximalCurvature": {"name": "MaximalCurvature", "tool_name": "maximal_curvature", "category": "Geomorphometric Analysis", "label": "Maximal Curvature", "description": "Calculates a mean curvature raster from an input DEM.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/maximal_curvature.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#MaximalCurvature", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "log": {"name": "Log-transform the output?", "flags": ["--log"], "description": "Display output values using a log-scale.", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "zfactor": {"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}}}, "MaximumFilter": {"name": "MaximumFilter", "tool_name": "maximum_filter", "category": "Image Processing Tools", "label": "Maximum Filter", "description": "Assigns each cell in the output grid the maximum value in a moving window centred on each grid cell in the input raster.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/max_filter.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#MaximumFilter", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "filterx": {"name": "Filter X-Dimension", "flags": ["--filterx"], "description": "Size of the filter kernel in the x-direction.", "parameter_type": "Integer", "default_value": "11", "optional": true}, "filtery": {"name": "Filter Y-Dimension", "flags": ["--filtery"], "description": "Size of the filter kernel in the y-direction.", "parameter_type": "Integer", "default_value": "11", "optional": true}}}, "MeanCurvature": {"name": "MeanCurvature", "tool_name": "mean_curvature", "category": "Geomorphometric Analysis", "label": "Mean Curvature", "description": "Calculates a mean curvature raster from an input DEM.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/mean_curvature.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#MeanCurvature", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "log": {"name": "Log-transform the output?", "flags": ["--log"], "description": "Display output values using a log-scale.", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "zfactor": {"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}}}, "MeanFilter": {"name": "MeanFilter", "tool_name": "mean_filter", "category": "Image Processing Tools", "label": "Mean Filter", "description": "Performs a mean filter (low-pass filter) on an input image.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/mean_filter.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#MeanFilter", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "filterx": {"name": "Filter X-Dimension", "flags": ["--filterx"], "description": "Size of the filter kernel in the x-direction.", "parameter_type": "Integer", "default_value": "3", "optional": true}, "filtery": {"name": "Filter Y-Dimension", "flags": ["--filtery"], "description": "Size of the filter kernel in the y-direction.", "parameter_type": "Integer", "default_value": "3", "optional": true}}}, "MedianFilter": {"name": "MedianFilter", "tool_name": "median_filter", "category": "Image Processing Tools", "label": "Median Filter", "description": "Performs a median filter on an input image.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/median_filter.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#MedianFilter", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "filterx": {"name": "Filter X-Dimension", "flags": ["--filterx"], "description": "Size of the filter kernel in the x-direction.", "parameter_type": "Integer", "default_value": "11", "optional": true}, "filtery": {"name": "Filter Y-Dimension", "flags": ["--filtery"], "description": "Size of the filter kernel in the y-direction.", "parameter_type": "Integer", "default_value": "11", "optional": true}, "sig_digits": {"name": "Number of Significant Digits", "flags": ["--sig_digits"], "description": "Number of significant digits.", "parameter_type": "Integer", "default_value": "2", "optional": true}}}, "Medoid": {"name": "Medoid", "tool_name": "medoid", "category": "GIS Analysis", "label": "Medoid", "description": "Calculates the medoid for a series of vector features contained in a shapefile.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/medoid.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#Medoid", "parameters": {"i": {"name": "Input Vector File", "flags": ["-i", "--input"], "description": "Input vector file.", "parameter_type": {"ExistingFile": {"Vector": "Any"}}, "default_value": null, "optional": false}, "output": {"name": "Output Vector File", "flags": ["-o", "--output"], "description": "Output vector file.", "parameter_type": {"NewFile": {"Vector": "Any"}}, "default_value": null, "optional": false}}}, "MergeLineSegments": {"name": "MergeLineSegments", "tool_name": "merge_line_segments", "category": "GIS Analysis", "label": "Merge Line Segments", "description": "Merges vector line segments into larger features.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/merge_line_segments.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#MergeLineSegments", "parameters": {"i": {"name": "Input Vector File", "flags": ["-i", "--input"], "description": "Input vector file.", "parameter_type": {"ExistingFile": {"Vector": "Line"}}, "default_value": null, "optional": false}, "output": {"name": "Output Vector File", "flags": ["-o", "--output"], "description": "Output vector file.", "parameter_type": {"NewFile": {"Vector": "Any"}}, "default_value": null, "optional": false}, "snap": {"name": "Snap Tolerance", "flags": ["--snap"], "description": "Snap tolerance.", "parameter_type": "Float", "default_value": "0.0", "optional": true}}}, "MergeTableWithCsv": {"name": "MergeTableWithCsv", "tool_name": "merge_table_with_csv", "category": "Data Tools", "label": "Merge Table With Csv", "description": "Merge a vector's attribute table with a table contained within a CSV text file.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/data_tools/merge_table_with_csv.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/data_tools.html#MergeTableWithCsv", "parameters": {"i": {"name": "Input Primary Vector File", "flags": ["-i", "--input"], "description": "Input primary vector file (i.e. the table to be modified).", "parameter_type": {"ExistingFile": {"Vector": "Any"}}, "default_value": null, "optional": false}, "pkey": {"name": "Primary Key Field", "flags": ["--pkey"], "description": "Primary key field.", "parameter_type": {"VectorAttributeField": ["Any", "--input"]}, "default_value": null, "optional": false}, "csv": {"name": "Input CSV File", "flags": ["--csv"], "description": "Input CSV file (i.e. source of data to be imported).", "parameter_type": {"ExistingFile": "Csv"}, "default_value": null, "optional": false}, "fkey": {"name": "Foreign Key Field", "flags": ["--fkey"], "description": "Foreign key field.", "parameter_type": {"VectorAttributeField": ["Any", "--csv"]}, "default_value": null, "optional": false}, "import_field": {"name": "Imported Field", "flags": ["--import_field"], "description": "Imported field (all fields will be imported if not specified).", "parameter_type": {"VectorAttributeField": ["Any", "--csv"]}, "default_value": null, "optional": true}}}, "MergeVectors": {"name": "MergeVectors", "tool_name": "merge_vectors", "category": "Data Tools", "label": "Merge Vectors", "description": "Combines two or more input vectors of the same ShapeType creating a single, new output vector.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/data_tools/merge_vectors.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/data_tools.html#MergeVectors", "parameters": {"inputs": {"name": "Input Vector Files", "flags": ["-i", "--inputs"], "description": "Input vector files.", "parameter_type": {"FileList": {"Vector": "Any"}}, "default_value": null, "optional": false}, "output": {"name": "Output Vector File", "flags": ["-o", "--output"], "description": "Output vector file.", "parameter_type": {"NewFile": {"Vector": "Any"}}, "default_value": null, "optional": false}}}, "Min": {"name": "Min", "tool_name": "min", "category": "Math and Stats Tools", "label": "Min", "description": "Performs a MIN operation on two rasters or a raster and a constant value.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/min.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#Min", "parameters": {"input1": {"name": "Input File Or Constant Value", "flags": ["--input1"], "description": "Input raster file or constant value.", "parameter_type": {"ExistingFileOrFloat": "Raster"}, "default_value": null, "optional": false}, "input2": {"name": "Input File Or Constant Value", "flags": ["--input2"], "description": "Input raster file or constant value.", "parameter_type": {"ExistingFileOrFloat": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "MinAbsoluteOverlay": {"name": "MinAbsoluteOverlay", "tool_name": "min_absolute_overlay", "category": "GIS Analysis", "label": "Min Absolute Overlay", "description": "Evaluates the minimum absolute value for each grid cell from a stack of input rasters.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/min_abs_overlay.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#MinAbsoluteOverlay", "parameters": {"inputs": {"name": "Input Files", "flags": ["-i", "--inputs"], "description": "Input raster files.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "MinDistClassification": {"name": "MinDistClassification", "tool_name": "min_dist_classification", "category": "Image Processing Tools", "label": "Min Dist Classification", "description": "Performs a supervised minimum-distance classification using training site polygons and multi-spectral images.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools/classification.html#MinDistClassification", "parameters": {"inputs": {"name": "Input Band Images", "flags": ["-i", "--inputs"], "description": "Names of the input band images.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "polys": {"name": "Input Training Polygons", "flags": ["-p", "--polys"], "description": "Name of the input training site polygons shapefile.", "parameter_type": {"ExistingFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}, "field": {"name": "Class Name Field", "flags": ["-f", "--field"], "description": "Name of the attribute containing class name data.", "parameter_type": {"VectorAttributeField": ["Any", "--polys"]}, "default_value": null, "optional": false}, "output": {"name": "Output Raster File", "flags": ["-o", "--output"], "description": "Name of the output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "threshold": {"name": "Distance Threshold (z-scores; blank for none)", "flags": ["--threshold"], "description": "Distance threshold, in z-scores; blank for none.", "parameter_type": "Float", "default_value": null, "optional": true}}}, "MinDownslopeElevChange": {"name": "MinDownslopeElevChange", "tool_name": "min_downslope_elev_change", "category": "Geomorphometric Analysis", "label": "Min Downslope Elev Change", "description": "Calculates the minimum downslope change in elevation between a grid cell and its eight downslope neighbors.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/min_downslope_elev_change.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#MinDownslopeElevChange", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "MinMaxContrastStretch": {"name": "MinMaxContrastStretch", "tool_name": "min_max_contrast_stretch", "category": "Image Processing Tools", "label": "Min Max Contrast Stretch", "description": "Performs a min-max contrast stretch on an input greytone image.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/min_max_contrast_stretch.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#MinMaxContrastStretch", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "min_val": {"name": "Lower Tail Clip Value", "flags": ["--min_val"], "description": "Lower tail clip value.", "parameter_type": "Float", "default_value": null, "optional": false}, "max_val": {"name": "Upper Tail Clip Value", "flags": ["--max_val"], "description": "Upper tail clip value.", "parameter_type": "Float", "default_value": null, "optional": false}, "num_tones": {"name": "Number of Tones", "flags": ["--num_tones"], "description": "Number of tones in the output image.", "parameter_type": "Integer", "default_value": "256", "optional": false}}}, "MinOverlay": {"name": "MinOverlay", "tool_name": "min_overlay", "category": "GIS Analysis", "label": "Min Overlay", "description": "Evaluates the minimum value for each grid cell from a stack of input rasters.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/min_overlay.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#MinOverlay", "parameters": {"inputs": {"name": "Input Files", "flags": ["-i", "--inputs"], "description": "Input raster files.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "MinimalCurvature": {"name": "MinimalCurvature", "tool_name": "minimal_curvature", "category": "Geomorphometric Analysis", "label": "Minimal Curvature", "description": "Calculates a mean curvature raster from an input DEM.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/minimal_curvature.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#MinimalCurvature", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "log": {"name": "Log-transform the output?", "flags": ["--log"], "description": "Display output values using a log-scale.", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "zfactor": {"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}}}, "MinimumBoundingBox": {"name": "MinimumBoundingBox", "tool_name": "minimum_bounding_box", "category": "GIS Analysis", "label": "Minimum Bounding Box", "description": "Creates a vector minimum bounding rectangle around vector features.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/minimum_bounding_box.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#MinimumBoundingBox", "parameters": {"i": {"name": "Input Vector File", "flags": ["-i", "--input"], "description": "Input vector file.", "parameter_type": {"ExistingFile": {"Vector": "Any"}}, "default_value": null, "optional": false}, "output": {"name": "Output Polygon File", "flags": ["-o", "--output"], "description": "Output vector polygon file.", "parameter_type": {"NewFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}, "criterion": {"name": "Minimization Criterion", "flags": ["--criterion"], "description": "Minimization criterion; options include 'area' (default), 'length', 'width', and 'perimeter'.", "parameter_type": {"OptionList": ["area", "length", "width", "perimeter"]}, "default_value": "area", "optional": true}, "features": {"name": "Find bounding rectangles around each individual feature.", "flags": ["--features"], "description": "Find the minimum bounding rectangles around each individual vector feature", "parameter_type": "Boolean", "default_value": "true", "optional": true}}}, "MinimumBoundingCircle": {"name": "MinimumBoundingCircle", "tool_name": "minimum_bounding_circle", "category": "GIS Analysis", "label": "Minimum Bounding Circle", "description": "Delineates the minimum bounding circle (i.e. smallest enclosing circle) for a group of vectors.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/minimum_bounding_circle.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#MinimumBoundingCircle", "parameters": {"i": {"name": "Input Vector File", "flags": ["-i", "--input"], "description": "Input vector file.", "parameter_type": {"ExistingFile": {"Vector": "Any"}}, "default_value": null, "optional": false}, "output": {"name": "Output Polygon File", "flags": ["-o", "--output"], "description": "Output vector polygon file.", "parameter_type": {"NewFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}, "features": {"name": "Find bounding circle around each individual feature.", "flags": ["--features"], "description": "Find the minimum bounding circle around each individual vector feature", "parameter_type": "Boolean", "default_value": "true", "optional": true}}}, "MinimumBoundingEnvelope": {"name": "MinimumBoundingEnvelope", "tool_name": "minimum_bounding_envelope", "category": "GIS Analysis", "label": "Minimum Bounding Envelope", "description": "Creates a vector axis-aligned minimum bounding rectangle (envelope) around vector features.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/minimum_bounding_envelope.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#MinimumBoundingEnvelope", "parameters": {"i": {"name": "Input Vector File", "flags": ["-i", "--input"], "description": "Input vector file.", "parameter_type": {"ExistingFile": {"Vector": "Any"}}, "default_value": null, "optional": false}, "output": {"name": "Output Polygon File", "flags": ["-o", "--output"], "description": "Output vector polygon file.", "parameter_type": {"NewFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}, "features": {"name": "Find bounding envelop around each individual feature.", "flags": ["--features"], "description": "Find the minimum bounding envelop around each individual vector feature", "parameter_type": "Boolean", "default_value": "true", "optional": true}}}, "MinimumConvexHull": {"name": "MinimumConvexHull", "tool_name": "minimum_convex_hull", "category": "GIS Analysis", "label": "Minimum Convex Hull", "description": "Creates a vector convex polygon around vector features.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/minimum_convex_hull.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#MinimumConvexHull", "parameters": {"i": {"name": "Input Vector File", "flags": ["-i", "--input"], "description": "Input vector file.", "parameter_type": {"ExistingFile": {"Vector": "Any"}}, "default_value": null, "optional": false}, "output": {"name": "Output Polygon File", "flags": ["-o", "--output"], "description": "Output vector polygon file.", "parameter_type": {"NewFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}, "features": {"name": "Find hulls around each individual feature.", "flags": ["--features"], "description": "Find the hulls around each vector feature", "parameter_type": "Boolean", "default_value": "true", "optional": true}}}, "MinimumFilter": {"name": "MinimumFilter", "tool_name": "minimum_filter", "category": "Image Processing Tools", "label": "Minimum Filter", "description": "Assigns each cell in the output grid the minimum value in a moving window centred on each grid cell in the input raster.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/min_filter.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#MinimumFilter", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "filterx": {"name": "Filter X-Dimension", "flags": ["--filterx"], "description": "Size of the filter kernel in the x-direction.", "parameter_type": "Integer", "default_value": "11", "optional": true}, "filtery": {"name": "Filter Y-Dimension", "flags": ["--filtery"], "description": "Size of the filter kernel in the y-direction.", "parameter_type": "Integer", "default_value": "11", "optional": true}}}, "ModifiedKMeansClustering": {"name": "ModifiedKMeansClustering", "tool_name": "modified_k_means_clustering", "category": "Machine Learning", "label": "Modified K Means Clustering", "description": "Performs a modified k-means clustering operation on a multi-spectral dataset.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/modified_k_means_clustering.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/machine_learning.html#ModifiedKMeansClustering", "parameters": {"inputs": {"name": "Input Files", "flags": ["-i", "--inputs"], "description": "Input raster files.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "out_html": {"name": "Output HTML Report File", "flags": ["--out_html"], "description": "Output HTML report file.", "parameter_type": {"NewFile": "Html"}, "default_value": null, "optional": true}, "start_clusters": {"name": "Initial Num. of Clusters", "flags": ["--start_clusters"], "description": "Initial number of clusters", "parameter_type": "Integer", "default_value": "1000", "optional": true}, "merge_dist": {"name": "Cluster Merger Distance", "flags": ["--merge_dist"], "description": "Cluster merger distance", "parameter_type": "Float", "default_value": null, "optional": true}, "max_iterations": {"name": "Max. Iterations", "flags": ["--max_iterations"], "description": "Maximum number of iterations", "parameter_type": "Integer", "default_value": "10", "optional": true}, "class_change": {"name": "Percent Class Change Threshold", "flags": ["--class_change"], "description": "Minimum percent of cells changed between iterations before completion", "parameter_type": "Float", "default_value": "2.0", "optional": true}}}, "ModifyLidar": {"name": "ModifyLidar", "tool_name": "modify_lidar", "category": "LiDAR Tools", "label": "Modify Lidar", "description": "Modify points within a LiDAR point cloud based on point properties.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#ModifyLidar", "parameters": {"i": {"name": "Input LiDAR Points", "flags": ["-i", "--input"], "description": "Name of the input LiDAR points.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": true}, "output": {"name": "Output LiDAR Points", "flags": ["-o", "--output"], "description": "Name of the output LiDAR points.", "parameter_type": {"NewFile": "Lidar"}, "default_value": null, "optional": true}, "statement": {"name": "Statement:", "flags": ["-s", "--statement"], "description": "Modify statement e.g. x += 5000.0.", "parameter_type": "String", "default_value": "", "optional": false}}}, "ModifyNoDataValue": {"name": "ModifyNoDataValue", "tool_name": "modify_no_data_value", "category": "Data Tools", "label": "Modify No Data Value", "description": "Modifies nodata values in a raster.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/data_tools/modify_nodata_value.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/data_tools.html#ModifyNoDataValue", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "new_value": {"name": "New NoData Value", "flags": ["--new_value"], "description": "New NoData value.", "parameter_type": "Float", "default_value": "-32768.0", "optional": true}}}, "Modulo": {"name": "Modulo", "tool_name": "modulo", "category": "Math and Stats Tools", "label": "Modulo", "description": "Performs a modulo operation on two rasters or a raster and a constant value.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/modulo.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#Modulo", "parameters": {"input1": {"name": "Input File Or Constant Value", "flags": ["--input1"], "description": "Input raster file or constant value.", "parameter_type": {"ExistingFileOrFloat": "Raster"}, "default_value": null, "optional": false}, "input2": {"name": "Input File Or Constant Value", "flags": ["--input2"], "description": "Input raster file or constant value.", "parameter_type": {"ExistingFileOrFloat": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "Mosaic": {"name": "Mosaic", "tool_name": "mosaic", "category": "Image Processing Tools", "label": "Mosaic", "description": "Mosaics two or more images together.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/mosaic.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#Mosaic", "parameters": {"inputs": {"name": "Input Files", "flags": ["-i", "--inputs"], "description": "Input raster files.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": true}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "method": {"name": "Resampling Method", "flags": ["--method"], "description": "Resampling method; options include 'nn' (nearest neighbour), 'bilinear', and 'cc' (cubic convolution)", "parameter_type": {"OptionList": ["nn", "bilinear", "cc"]}, "default_value": "nn", "optional": true}}}, "MosaicWithFeathering": {"name": "MosaicWithFeathering", "tool_name": "mosaic_with_feathering", "category": "Image Processing Tools", "label": "Mosaic With Feathering", "description": "Mosaics two images together using a feathering technique in overlapping areas to reduce edge-effects.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/mosaic_with_feathering.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#MosaicWithFeathering", "parameters": {"input1": {"name": "Input File To Modify", "flags": ["--i1", "--input1"], "description": "Input raster file to modify.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "input2": {"name": "Input Reference File", "flags": ["--i2", "--input2"], "description": "Input reference raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "method": {"name": "Resampling Method", "flags": ["--method"], "description": "Resampling method; options include 'nn' (nearest neighbour), 'bilinear', and 'cc' (cubic convolution)", "parameter_type": {"OptionList": ["nn", "bilinear", "cc"]}, "default_value": "cc", "optional": true}, "weight": {"name": "Distance Weight", "flags": ["--weight"], "description": "", "parameter_type": "Float", "default_value": "4.0", "optional": true}}}, "MultiPartToSinglePart": {"name": "MultiPartToSinglePart", "tool_name": "multi_part_to_single_part", "category": "Data Tools", "label": "Multi Part To Single Part", "description": "Converts a vector file containing multi-part features into a vector containing only single-part features.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/data_tools/multipart_to_singlepart.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/data_tools.html#MultiPartToSinglePart", "parameters": {"i": {"name": "Input Line or Polygon File", "flags": ["-i", "--input"], "description": "Input vector line or polygon file.", "parameter_type": {"ExistingFile": {"Vector": "Any"}}, "default_value": null, "optional": false}, "output": {"name": "Output Line or Polygon File", "flags": ["-o", "--output"], "description": "Output vector line or polygon file.", "parameter_type": {"NewFile": {"Vector": "Any"}}, "default_value": null, "optional": false}, "exclude_holes": {"name": "Exclude hole parts?", "flags": ["--exclude_holes"], "description": "Exclude hole parts from the feature splitting? (holes will continue to belong to their features in output.)", "parameter_type": "Boolean", "default_value": "true", "optional": true}}}, "MultidirectionalHillshade": {"name": "MultidirectionalHillshade", "tool_name": "multidirectional_hillshade", "category": "Geomorphometric Analysis", "label": "Multidirectional Hillshade", "description": "Calculates a multi-direction hillshade raster from an input DEM.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/multidirectional_hillshade.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#MultidirectionalHillshade", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "altitude": {"name": "Altitude (degrees)", "flags": ["--altitude"], "description": "Illumination source altitude in degrees.", "parameter_type": "Float", "default_value": "45.0", "optional": true}, "zfactor": {"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}, "full_mode": {"name": "Full 360-degree mode?", "flags": ["--full_mode"], "description": "Optional flag indicating whether to use full 360-degrees of illumination sources.", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "Multiply": {"name": "Multiply", "tool_name": "multiply", "category": "Math and Stats Tools", "label": "Multiply", "description": "Performs a multiplication operation on two rasters or a raster and a constant value.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/multiply.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#Multiply", "parameters": {"input1": {"name": "Input File Or Constant Value", "flags": ["--input1"], "description": "Input raster file or constant value.", "parameter_type": {"ExistingFileOrFloat": "Raster"}, "default_value": null, "optional": false}, "input2": {"name": "Input File Or Constant Value", "flags": ["--input2"], "description": "Input raster file or constant value.", "parameter_type": {"ExistingFileOrFloat": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "MultiplyOverlay": {"name": "MultiplyOverlay", "tool_name": "multiply_overlay", "category": "GIS Analysis", "label": "Multiply Overlay", "description": "Calculates the sum for each grid cell from a group of raster images.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/multiply_overlay.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#MultiplyOverlay", "parameters": {"inputs": {"name": "Input Files", "flags": ["-i", "--inputs"], "description": "Input raster files.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "MultiscaleCurvatures": {"name": "MultiscaleCurvatures", "tool_name": "multiscale_curvatures", "category": "Geomorphometric Analysis", "label": "Multiscale Curvatures", "description": "This tool calculates several multiscale curvatures and curvature-based indices from an input DEM.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#MultiscaleCurvatures", "parameters": {"dem": {"name": "Input Raster DEM", "flags": ["-i", "--input", "--dem"], "description": "Name of the input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "curv_type": {"name": "Curvature Type", "flags": ["--curv_type"], "description": "Curvature type", "parameter_type": {"OptionList": ["AccumulationCurv", "Curvedness", "DifferenceCurv", "GaussianCurv", "GeneratingFunction", "HorizontalExcessCurv", "MaximalCurv", "MeanCurv", "MinimalCurv", "PlanCurv", "ProfileCurv", "RingCurv", "Rotor", "ShapeIndex", "TangentialCurv", "TotalCurv", "Unsphericity", "VerticalExcessCurv"]}, "default_value": "ProfileCurv", "optional": true}, "out_mag": {"name": "Output Magnitude File", "flags": ["--out_mag"], "description": "Output raster magnitude file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "out_scale": {"name": "Output Scale File", "flags": ["--out_scale"], "description": "Output raster scale file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": true}, "min_scale": {"name": "Minimum Search Neighbourhood Radius (grid cells)", "flags": ["--min_scale"], "description": "Minimum search neighbourhood radius in grid cells.", "parameter_type": "Integer", "default_value": "0", "optional": true}, "step": {"name": "Base Step Size", "flags": ["--step"], "description": "Step size as any positive non-zero integer.", "parameter_type": "Integer", "default_value": "1", "optional": true}, "num_steps": {"name": "Number of Steps", "flags": ["--num_steps"], "description": "Number of steps.", "parameter_type": "Integer", "default_value": "1", "optional": false}, "step_nonlinearity": {"name": "Step Nonlinearity", "flags": ["--step_nonlinearity"], "description": "Step nonlinearity factor (1.0-2.0 is typical).", "parameter_type": "Float", "default_value": "1.0", "optional": false}, "log": {"name": "Log-transform the output?", "flags": ["--log"], "description": "Display output values using a log-scale.", "parameter_type": "Boolean", "default_value": "true", "optional": true}, "standardize": {"name": "Standardize Each Scale?", "flags": ["--standardize"], "description": "Should each scale be standardized to z-scores?", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "MultiscaleElevationPercentile": {"name": "MultiscaleElevationPercentile", "tool_name": "multiscale_elevation_percentile", "category": "Geomorphometric Analysis", "label": "Multiscale Elevation Percentile", "description": "Calculates surface roughness over a range of spatial scales.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/multiscale_elev_percentile.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#MultiscaleElevationPercentile", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "out_mag": {"name": "Output Roughness Magnitude File", "flags": ["--out_mag"], "description": "Output raster roughness magnitude file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "out_scale": {"name": "Output Roughness Scale File", "flags": ["--out_scale"], "description": "Output raster roughness scale file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "sig_digits": {"name": "Number of Significant Digits", "flags": ["--sig_digits"], "description": "Number of significant digits.", "parameter_type": "Integer", "default_value": "3", "optional": true}, "min_scale": {"name": "Minimum Search Neighbourhood Radius (grid cells)", "flags": ["--min_scale"], "description": "Minimum search neighbourhood radius in grid cells.", "parameter_type": "Integer", "default_value": "4", "optional": true}, "step": {"name": "Base Step Size", "flags": ["--step"], "description": "Step size as any positive non-zero integer.", "parameter_type": "Integer", "default_value": "1", "optional": true}, "num_steps": {"name": "Number of Steps", "flags": ["--num_steps"], "description": "Number of steps", "parameter_type": "Integer", "default_value": "10", "optional": true}, "step_nonlinearity": {"name": "Step Nonlinearity", "flags": ["--step_nonlinearity"], "description": "Step nonlinearity factor (1.0-2.0 is typical)", "parameter_type": "Float", "default_value": "1.0", "optional": true}}}, "MultiscaleRoughness": {"name": "MultiscaleRoughness", "tool_name": "multiscale_roughness", "category": "Geomorphometric Analysis", "label": "Multiscale Roughness", "description": "Calculates surface roughness over a range of spatial scales.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/multiscale_roughness.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#MultiscaleRoughness", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "out_mag": {"name": "Output Roughness Magnitude File", "flags": ["--out_mag"], "description": "Output raster roughness magnitude file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "out_scale": {"name": "Output Roughness Scale File", "flags": ["--out_scale"], "description": "Output raster roughness scale file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "min_scale": {"name": "Minimum Search Neighbourhood Radius (grid cells)", "flags": ["--min_scale"], "description": "Minimum search neighbourhood radius in grid cells.", "parameter_type": "Integer", "default_value": "1", "optional": true}, "max_scale": {"name": "Maximum Search Neighbourhood Radius (grid cells)", "flags": ["--max_scale"], "description": "Maximum search neighbourhood radius in grid cells.", "parameter_type": "Integer", "default_value": null, "optional": false}, "step": {"name": "Step Size", "flags": ["--step"], "description": "Step size as any positive non-zero integer.", "parameter_type": "Integer", "default_value": "1", "optional": true}}}, "MultiscaleRoughnessSignature": {"name": "MultiscaleRoughnessSignature", "tool_name": "multiscale_roughness_signature", "category": "Geomorphometric Analysis", "label": "Multiscale Roughness Signature", "description": "Calculates the surface roughness for points over a range of spatial scales.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/multiscale_roughness_signature.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#MultiscaleRoughnessSignature", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "points": {"name": "Input Vector Points File", "flags": ["--points"], "description": "Input vector points file.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "output": {"name": "Output HTML File", "flags": ["-o", "--output"], "description": "Output HTML file.", "parameter_type": {"NewFile": "Html"}, "default_value": null, "optional": false}, "min_scale": {"name": "Minimum Search Neighbourhood Radius (grid cells)", "flags": ["--min_scale"], "description": "Minimum search neighbourhood radius in grid cells.", "parameter_type": "Integer", "default_value": "1", "optional": true}, "max_scale": {"name": "Maximum Search Neighbourhood Radius (grid cells)", "flags": ["--max_scale"], "description": "Maximum search neighbourhood radius in grid cells.", "parameter_type": "Integer", "default_value": null, "optional": false}, "step": {"name": "Step Size", "flags": ["--step"], "description": "Step size as any positive non-zero integer.", "parameter_type": "Integer", "default_value": "1", "optional": true}}}, "MultiscaleStdDevNormals": {"name": "MultiscaleStdDevNormals", "tool_name": "multiscale_std_dev_normals", "category": "Geomorphometric Analysis", "label": "Multiscale Std Dev Normals", "description": "Calculates surface roughness over a range of spatial scales.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/multiscale_std_dev_normals.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#MultiscaleStdDevNormals", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "out_mag": {"name": "Output Roughness Magnitude File", "flags": ["--out_mag"], "description": "Output raster roughness magnitude file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "out_scale": {"name": "Output Roughness Scale File", "flags": ["--out_scale"], "description": "Output raster roughness scale file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "min_scale": {"name": "Minimum Search Neighbourhood Radius (grid cells)", "flags": ["--min_scale"], "description": "Minimum search neighbourhood radius in grid cells.", "parameter_type": "Integer", "default_value": "1", "optional": true}, "step": {"name": "Base Step Size", "flags": ["--step"], "description": "Step size as any positive non-zero integer.", "parameter_type": "Integer", "default_value": "1", "optional": true}, "num_steps": {"name": "Number of Steps", "flags": ["--num_steps"], "description": "Number of steps", "parameter_type": "Integer", "default_value": "10", "optional": false}, "step_nonlinearity": {"name": "Step Nonlinearity", "flags": ["--step_nonlinearity"], "description": "Step nonlinearity factor (1.0-2.0 is typical)", "parameter_type": "Float", "default_value": "1.0", "optional": false}}}, "MultiscaleStdDevNormalsSignature": {"name": "MultiscaleStdDevNormalsSignature", "tool_name": "multiscale_std_dev_normals_signature", "category": "Geomorphometric Analysis", "label": "Multiscale Std Dev Normals Signature", "description": "Calculates the surface roughness for points over a range of spatial scales.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/multiscale_std_dev_normals_signature.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#MultiscaleStdDevNormalsSignature", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "points": {"name": "Input Vector Points File", "flags": ["--points"], "description": "Input vector points file.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "output": {"name": "Output HTML File", "flags": ["-o", "--output"], "description": "Output HTML file.", "parameter_type": {"NewFile": "Html"}, "default_value": null, "optional": false}, "min_scale": {"name": "Minimum Search Neighbourhood Radius (grid cells)", "flags": ["--min_scale"], "description": "Minimum search neighbourhood radius in grid cells.", "parameter_type": "Integer", "default_value": "1", "optional": true}, "step": {"name": "Base Step Size", "flags": ["--step"], "description": "Step size as any positive non-zero integer.", "parameter_type": "Integer", "default_value": "1", "optional": true}, "num_steps": {"name": "Number of Steps", "flags": ["--num_steps"], "description": "Number of steps", "parameter_type": "Integer", "default_value": "10", "optional": false}, "step_nonlinearity": {"name": "Step Nonlinearity", "flags": ["--step_nonlinearity"], "description": "Step nonlinearity factor (1.0-2.0 is typical)", "parameter_type": "Float", "default_value": "1.0", "optional": false}}}, "MultiscaleTopographicPositionImage": {"name": "MultiscaleTopographicPositionImage", "tool_name": "multiscale_topographic_position_image", "category": "Geomorphometric Analysis", "label": "Multiscale Topographic Position Image", "description": "Creates a multiscale topographic position image from three DEVmax rasters of differing spatial scale ranges.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/multiscale_topographic_position_image.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#MultiscaleTopographicPositionImage", "parameters": {"local": {"name": "Input Local-Scale File", "flags": ["--local"], "description": "Input local-scale topographic position (DEVmax) raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "meso": {"name": "Input Meso-Scale File", "flags": ["--meso"], "description": "Input meso-scale topographic position (DEVmax) raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "broad": {"name": "Input Broad-Scale File", "flags": ["--broad"], "description": "Input broad-scale topographic position (DEVmax) raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "hillshade": {"name": "Optional Hillshade File", "flags": ["--hillshade"], "description": "Input optional hillshade raster file. Note: a multi-directional (360-degree option) hillshade tends to work best in this application.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": true}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "lightness": {"name": "Image Lightness Value", "flags": ["--lightness"], "description": "Image lightness value (default is 1.2).", "parameter_type": "Float", "default_value": "1.2", "optional": true}}}, "NarrownessIndex": {"name": "NarrownessIndex", "tool_name": "narrowness_index", "category": "GIS Analysis", "label": "Narrowness Index", "description": "Calculates the narrowness of raster polygons.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/narrowness_index.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#NarrownessIndex", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "NaturalNeighbourInterpolation": {"name": "NaturalNeighbourInterpolation", "tool_name": "natural_neighbour_interpolation", "category": "GIS Analysis", "label": "Natural Neighbour Interpolation", "description": "Creates a raster grid based on Sibson's natural neighbour method.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/natural_neighbour_interpolation.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#NaturalNeighbourInterpolation", "parameters": {"i": {"name": "Input Vector Points File", "flags": ["-i", "--input"], "description": "Input vector points file.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "field": {"name": "Field Name", "flags": ["--field"], "description": "Input field name in attribute table.", "parameter_type": {"VectorAttributeField": ["Number", "--input"]}, "default_value": null, "optional": true}, "use_z": {"name": "Use Shapefile 'z' values?", "flags": ["--use_z"], "description": "Use the 'z' dimension of the Shapefile's geometry instead of an attribute field?", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "output": {"name": "Output Raster File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "cell_size": {"name": "Cell Size (optional)", "flags": ["--cell_size"], "description": "Optionally specified cell size of output raster. Not used when base raster is specified.", "parameter_type": "Float", "default_value": null, "optional": true}, "base": {"name": "Base Raster File (optional)", "flags": ["--base"], "description": "Optionally specified input base raster file. Not used when a cell size is specified.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": true}, "clip": {"name": "Clip to convex hull?", "flags": ["--clip"], "description": "Clip the data to the convex hull of the points?", "parameter_type": "Boolean", "default_value": "true", "optional": true}}}, "NearestNeighbourGridding": {"name": "NearestNeighbourGridding", "tool_name": "nearest_neighbour_gridding", "category": "GIS Analysis", "label": "Nearest Neighbour Gridding", "description": "Creates a raster grid based on a set of vector points and assigns grid values using the nearest neighbour.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/nearest_neighbour_gridding.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#NearestNeighbourGridding", "parameters": {"i": {"name": "Input Vector Points File", "flags": ["-i", "--input"], "description": "Input vector Points file.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "field": {"name": "Field Name", "flags": ["--field"], "description": "Input field name in attribute table.", "parameter_type": {"VectorAttributeField": ["Number", "--input"]}, "default_value": null, "optional": false}, "use_z": {"name": "Use z-coordinate instead of field?", "flags": ["--use_z"], "description": "Use z-coordinate instead of field?", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "cell_size": {"name": "Cell Size (optional)", "flags": ["--cell_size"], "description": "Optionally specified cell size of output raster. Not used when base raster is specified.", "parameter_type": "Float", "default_value": null, "optional": true}, "base": {"name": "Base Raster File (optional)", "flags": ["--base"], "description": "Optionally specified input base raster file. Not used when a cell size is specified.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": true}, "max_dist": {"name": "Maximum Search Distance", "flags": ["--max_dist"], "description": "Maximum search distance (optional)", "parameter_type": "Float", "default_value": null, "optional": true}}}, "Negate": {"name": "Negate", "tool_name": "negate", "category": "Math and Stats Tools", "label": "Negate", "description": "Changes the sign of values in a raster or the 0-1 values of a Boolean raster.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/negate.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#Negate", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "NewRasterFromBase": {"name": "NewRasterFromBase", "tool_name": "new_raster_from_base", "category": "Data Tools", "label": "New Raster From Base", "description": "Creates a new raster using a base image.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/data_tools/new_raster.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/data_tools.html#NewRasterFromBase", "parameters": {"base": {"name": "Input Base File", "flags": ["-i", "--base"], "description": "Input base raster file.", "parameter_type": {"ExistingFile": {"RasterAndVector": "Any"}}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "value": {"name": "Constant Value", "flags": ["--value"], "description": "Constant value to fill raster with; either 'nodata' or numeric value.", "parameter_type": "StringOrNumber", "default_value": "nodata", "optional": true}, "data_type": {"name": "Data Type", "flags": ["--data_type"], "description": "Output raster data type; options include 'double' (64-bit), 'float' (32-bit), and 'integer' (signed 16-bit) (default is 'float').", "parameter_type": {"OptionList": ["double", "float", "integer"]}, "default_value": "float", "optional": true}, "cell_size": {"name": "Cell Size (optional)", "flags": ["--cell_size"], "description": "Optionally specified cell size of output raster. Not used when base raster is specified.", "parameter_type": "Float", "default_value": null, "optional": true}}}, "NormalVectors": {"name": "NormalVectors", "tool_name": "normal_vectors", "category": "LiDAR Tools", "label": "Normal Vectors", "description": "Calculates normal vectors for points within a LAS file and stores these data (XYZ vector components) in the RGB field.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/lidar_analysis/normal_vectors.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#NormalVectors", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input LiDAR file.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output LiDAR file.", "parameter_type": {"NewFile": "Lidar"}, "default_value": null, "optional": false}, "radius": {"name": "Search Radius", "flags": ["--radius"], "description": "Search Radius.", "parameter_type": "Float", "default_value": "1.0", "optional": false}}}, "NormalizedDifferenceIndex": {"name": "NormalizedDifferenceIndex", "tool_name": "normalized_difference_index", "category": "Image Processing Tools", "label": "Normalized Difference Index", "description": "Calculate a normalized-difference index (NDI) from two bands of multispectral image data.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/normalized_difference_index.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#NormalizedDifferenceIndex", "parameters": {"input1": {"name": "Input 1 File", "flags": ["--input1"], "description": "Input image 1 (e.g. near-infrared band).", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "input2": {"name": "Input 2 File", "flags": ["--input2"], "description": "Input image 2 (e.g. red band).", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "clip": {"name": "Distribution Tail Clip Amount (%)", "flags": ["--clip"], "description": "Optional amount to clip the distribution tails by, in percent.", "parameter_type": "Float", "default_value": "0.0", "optional": true}, "correction": {"name": "Correction value", "flags": ["--correction"], "description": "Optional adjustment value (e.g. 1, or 0.16 for the optimal soil adjusted vegetation index, OSAVI).", "parameter_type": "Float", "default_value": "0.0", "optional": true}}}, "Not": {"name": "Not", "tool_name": "not", "category": "Math and Stats Tools", "label": "Not", "description": "Performs a logical NOT operator on two Boolean raster images.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/not.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#Not", "parameters": {"input1": {"name": "Input File", "flags": ["--input1"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "input2": {"name": "Input File", "flags": ["--input2"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "NotEqualTo": {"name": "NotEqualTo", "tool_name": "not_equal_to", "category": "Math and Stats Tools", "label": "Not Equal To", "description": "Performs a not-equal-to comparison operation on two rasters or a raster and a constant value.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/not_equal_to.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#NotEqualTo", "parameters": {"input1": {"name": "Input File Or Constant Value", "flags": ["--input1"], "description": "Input raster file or constant value.", "parameter_type": {"ExistingFileOrFloat": "Raster"}, "default_value": null, "optional": false}, "input2": {"name": "Input File Or Constant Value", "flags": ["--input2"], "description": "Input raster file or constant value.", "parameter_type": {"ExistingFileOrFloat": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "NumDownslopeNeighbours": {"name": "NumDownslopeNeighbours", "tool_name": "num_downslope_neighbours", "category": "Geomorphometric Analysis", "label": "Num Downslope Neighbours", "description": "Calculates the number of downslope neighbours to each grid cell in a DEM.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/num_downslope_neighbours.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#NumDownslopeNeighbours", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "NumInflowingNeighbours": {"name": "NumInflowingNeighbours", "tool_name": "num_inflowing_neighbours", "category": "Hydrological Analysis", "label": "Num Inflowing Neighbours", "description": "Computes the number of inflowing neighbours to each cell in an input DEM based on the D8 algorithm.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/num_inflowing_neighbours.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#NumInflowingNeighbours", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "NumUpslopeNeighbours": {"name": "NumUpslopeNeighbours", "tool_name": "num_upslope_neighbours", "category": "Geomorphometric Analysis", "label": "Num Upslope Neighbours", "description": "Calculates the number of upslope neighbours to each grid cell in a DEM.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/num_upslope_neighbours.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#NumUpslopeNeighbours", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "OlympicFilter": {"name": "OlympicFilter", "tool_name": "olympic_filter", "category": "Image Processing Tools", "label": "Olympic Filter", "description": "Performs an olympic smoothing filter on an image.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/olympic_filter.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#OlympicFilter", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "filterx": {"name": "Filter X-Dimension", "flags": ["--filterx"], "description": "Size of the filter kernel in the x-direction.", "parameter_type": "Integer", "default_value": "11", "optional": true}, "filtery": {"name": "Filter Y-Dimension", "flags": ["--filtery"], "description": "Size of the filter kernel in the y-direction.", "parameter_type": "Integer", "default_value": "11", "optional": true}}}, "Opening": {"name": "Opening", "tool_name": "opening", "category": "Image Processing Tools", "label": "Opening", "description": "An opening is a mathematical morphology operation involving a dilation (max filter) of an erosion (min filter) set.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/opening.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#Opening", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "filterx": {"name": "Filter X-Dimension", "flags": ["--filterx"], "description": "Size of the filter kernel in the x-direction.", "parameter_type": "Integer", "default_value": "11", "optional": true}, "filtery": {"name": "Filter Y-Dimension", "flags": ["--filtery"], "description": "Size of the filter kernel in the y-direction.", "parameter_type": "Integer", "default_value": "11", "optional": true}}}, "Openness": {"name": "Openness", "tool_name": "openness", "category": "Geomorphometric Analysis", "label": "Openness", "description": "This tool calculates the topographic openness index from an input DEM.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#Openness", "parameters": {"i": {"name": "Input Raster DEM", "flags": ["-i", "--input"], "description": "Name of the input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "pos_output": {"name": "Positive Openness Output Raster", "flags": ["--pos_output"], "description": "Name of the positive openness output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "neg_output": {"name": "Negative Openness Output Raster", "flags": ["--neg_output"], "description": "Name of the negative openness output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "dist": {"name": "Search Distance (grid cells)", "flags": ["--dist"], "description": "Search distance, in grid cells.", "parameter_type": "Integer", "default_value": "20", "optional": true}}}, "Or": {"name": "Or", "tool_name": "or", "category": "Math and Stats Tools", "label": "Or", "description": "Performs a logical OR operator on two Boolean raster images.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/or.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#Or", "parameters": {"input1": {"name": "Input File", "flags": ["--input1"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "input2": {"name": "Input File", "flags": ["--input2"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "PairedSampleTTest": {"name": "PairedSampleTTest", "tool_name": "paired_sample_t_test", "category": "Math and Stats Tools", "label": "Paired Sample T Test", "description": "Performs a 2-sample K-S test for significant differences on two input rasters.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/paired_sample_t_test.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#PairedSampleTTest", "parameters": {"input1": {"name": "First Input File", "flags": ["--input1"], "description": "First input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "input2": {"name": "Second Input File", "flags": ["--input2"], "description": "Second input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output HTML file.", "parameter_type": {"NewFile": "Html"}, "default_value": null, "optional": false}, "num_samples": {"name": "Num. Samples (blank for whole image)", "flags": ["--num_samples"], "description": "Number of samples. Leave blank to use whole image.", "parameter_type": "Integer", "default_value": null, "optional": true}}}, "PanchromaticSharpening": {"name": "PanchromaticSharpening", "tool_name": "panchromatic_sharpening", "category": "Image Processing Tools", "label": "Panchromatic Sharpening", "description": "Increases the spatial resolution of image data by combining multispectral bands with panchromatic data.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/pan_sharpening.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#PanchromaticSharpening", "parameters": {"red": {"name": "Input Red Band File (optional; only if colour-composite not specified)", "flags": ["--red"], "description": "Input red band image file. Optionally specified if colour-composite not specified.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": true}, "green": {"name": "Input Green Band File (optional; only if colour-composite not specified)", "flags": ["--green"], "description": "Input green band image file. Optionally specified if colour-composite not specified.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": true}, "blue": {"name": "Input Blue Band File (optional; only if colour-composite not specified)", "flags": ["--blue"], "description": "Input blue band image file. Optionally specified if colour-composite not specified.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": true}, "composite": {"name": "Input Colour-Composite Image File (optional; only if individual bands not specified)", "flags": ["--composite"], "description": "Input colour-composite image file. Only used if individual bands are not specified.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": true}, "pan": {"name": "Input Panchromatic Band File", "flags": ["--pan"], "description": "Input panchromatic band file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Colour Composite File", "flags": ["-o", "--output"], "description": "Output colour composite file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "method": {"name": "Pan-Sharpening Method", "flags": ["--method"], "description": "Options include 'brovey' (default) and 'ihs'", "parameter_type": {"OptionList": ["brovey", "ihs"]}, "default_value": "brovey", "optional": true}}}, "ParallelepipedClassification": {"name": "ParallelepipedClassification", "tool_name": "parallelepiped_classification", "category": "Image Processing Tools", "label": "Parallelepiped Classification", "description": "Performs a supervised parallelepiped classification using training site polygons and multi-spectral images.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools/classification.html#ParallelepipedClassification", "parameters": {"inputs": {"name": "Input Band Images", "flags": ["-i", "--inputs"], "description": "Name of the input band images.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "polys": {"name": "Input Training Polygons", "flags": ["-p", "--polys"], "description": "Name of the input training site polygons shapefile.", "parameter_type": {"ExistingFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}, "field": {"name": "Class Name Field", "flags": ["-f", "--field"], "description": "Name of the attribute containing class name data.", "parameter_type": {"VectorAttributeField": ["Any", "--polys"]}, "default_value": null, "optional": false}, "output": {"name": "Output Raster File", "flags": ["-o", "--output"], "description": "Name of the output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "PatchOrientation": {"name": "PatchOrientation", "tool_name": "patch_orientation", "category": "GIS Analysis", "label": "Patch Orientation", "description": "Calculates the orientation of vector polygons.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/patch_orientation.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#PatchOrientation", "parameters": {"i": {"name": "Input Vector Polygon File", "flags": ["-i", "--input"], "description": "Input vector polygon file.", "parameter_type": {"ExistingFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}}}, "PennockLandformClass": {"name": "PennockLandformClass", "tool_name": "pennock_landform_class", "category": "Geomorphometric Analysis", "label": "Pennock Landform Class", "description": "Classifies hillslope zones based on slope, profile curvature, and plan curvature.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/pennock_landform_class.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#PennockLandformClass", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "slope": {"name": "Slope Threshold (degrees)", "flags": ["--slope"], "description": "Slope threshold value, in degrees (default is 3.0)", "parameter_type": "Float", "default_value": "3.0", "optional": false}, "prof": {"name": "Profile Curvature Threshold", "flags": ["--prof"], "description": "Profile curvature threshold value (default is 0.1)", "parameter_type": "Float", "default_value": "0.1", "optional": false}, "plan": {"name": "Plan Curvature Threshold", "flags": ["--plan"], "description": "Plan curvature threshold value (default is 0.0).", "parameter_type": "Float", "default_value": "0.0", "optional": false}, "zfactor": {"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}}}, "PercentElevRange": {"name": "PercentElevRange", "tool_name": "percent_elev_range", "category": "Geomorphometric Analysis", "label": "Percent Elev Range", "description": "Calculates percent of elevation range from a DEM.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/percent_elev_range.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#PercentElevRange", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--input", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "filterx": {"name": "Filter X-Dimension", "flags": ["--filterx"], "description": "Size of the filter kernel in the x-direction.", "parameter_type": "Integer", "default_value": "3", "optional": true}, "filtery": {"name": "Filter Y-Dimension", "flags": ["--filtery"], "description": "Size of the filter kernel in the y-direction.", "parameter_type": "Integer", "default_value": "3", "optional": true}}}, "PercentEqualTo": {"name": "PercentEqualTo", "tool_name": "percent_equal_to", "category": "GIS Analysis", "label": "Percent Equal To", "description": "Calculates the percentage of a raster stack that have cell values equal to an input on a cell-by-cell basis.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/percent_equal_to.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#PercentEqualTo", "parameters": {"inputs": {"name": "Input Files", "flags": ["-i", "--inputs"], "description": "Input raster files.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "comparison": {"name": "Input Comparison File", "flags": ["--comparison"], "description": "Input comparison raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "PercentGreaterThan": {"name": "PercentGreaterThan", "tool_name": "percent_greater_than", "category": "GIS Analysis", "label": "Percent Greater Than", "description": "Calculates the percentage of a raster stack that have cell values greater than an input on a cell-by-cell basis.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/percent_greater_than.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#PercentGreaterThan", "parameters": {"inputs": {"name": "Input Files", "flags": ["-i", "--inputs"], "description": "Input raster files.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "comparison": {"name": "Input Comparison File", "flags": ["--comparison"], "description": "Input comparison raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "PercentLessThan": {"name": "PercentLessThan", "tool_name": "percent_less_than", "category": "GIS Analysis", "label": "Percent Less Than", "description": "Calculates the percentage of a raster stack that have cell values less than an input on a cell-by-cell basis.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/percent_less_than.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#PercentLessThan", "parameters": {"inputs": {"name": "Input Files", "flags": ["-i", "--inputs"], "description": "Input raster files.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "comparison": {"name": "Input Comparison File", "flags": ["--comparison"], "description": "Input comparison raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "PercentageContrastStretch": {"name": "PercentageContrastStretch", "tool_name": "percentage_contrast_stretch", "category": "Image Processing Tools", "label": "Percentage Contrast Stretch", "description": "Performs a percentage linear contrast stretch on input images.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/percentage_contrast_stretch.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#PercentageContrastStretch", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "clip": {"name": "Distribution Tail Clip Amount (%)", "flags": ["--clip"], "description": "Optional amount to clip the distribution tails by, in percent.", "parameter_type": "Float", "default_value": "1.0", "optional": true}, "tail": {"name": "Tail", "flags": ["--tail"], "description": "Specified which tails to clip; options include 'upper', 'lower', and 'both' (default is 'both').", "parameter_type": {"OptionList": ["upper", "lower", "both"]}, "default_value": "both", "optional": true}, "num_tones": {"name": "Number of Tones", "flags": ["--num_tones"], "description": "Number of tones in the output image.", "parameter_type": "Integer", "default_value": "256", "optional": false}}}, "PercentileFilter": {"name": "PercentileFilter", "tool_name": "percentile_filter", "category": "Image Processing Tools", "label": "Percentile Filter", "description": "Performs a percentile filter on an input image.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/percentile_filter.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#PercentileFilter", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "filterx": {"name": "Filter X-Dimension", "flags": ["--filterx"], "description": "Size of the filter kernel in the x-direction.", "parameter_type": "Integer", "default_value": "11", "optional": true}, "filtery": {"name": "Filter Y-Dimension", "flags": ["--filtery"], "description": "Size of the filter kernel in the y-direction.", "parameter_type": "Integer", "default_value": "11", "optional": true}, "sig_digits": {"name": "Number of Significant Digits", "flags": ["--sig_digits"], "description": "Number of significant digits.", "parameter_type": "Integer", "default_value": "2", "optional": true}}}, "PerimeterAreaRatio": {"name": "PerimeterAreaRatio", "tool_name": "perimeter_area_ratio", "category": "GIS Analysis", "label": "Perimeter Area Ratio", "description": "Calculates the perimeter-area ratio of vector polygons.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/perimeter_area_ratio.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#PerimeterAreaRatio", "parameters": {"i": {"name": "Input Vector Polygon File", "flags": ["-i", "--input"], "description": "Input vector polygon file.", "parameter_type": {"ExistingFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}}}, "PhiCoefficient": {"name": "PhiCoefficient", "tool_name": "phi_coefficient", "category": "Math and Stats Tools", "label": "Phi Coefficient", "description": "This tool performs a binary classification accuracy assessment.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#PhiCoefficient", "parameters": {"input1": {"name": "Input Raster Image 1", "flags": ["--input1"], "description": "Name of the first input raster image file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "input2": {"name": "Input Raster Image 2", "flags": ["--input2"], "description": "Name of the second input raster image file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output HTML File", "flags": ["-o", "--output"], "description": "Name of the output HTML file.", "parameter_type": {"NewFile": "Html"}, "default_value": null, "optional": false}}}, "PickFromList": {"name": "PickFromList", "tool_name": "pick_from_list", "category": "GIS Analysis", "label": "Pick From List", "description": "Outputs the value from a raster stack specified by a position raster.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/pick_from_list.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#PickFromList", "parameters": {"inputs": {"name": "Input Files", "flags": ["-i", "--inputs"], "description": "Input raster files.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "pos_input": {"name": "Input Position File", "flags": ["--pos_input"], "description": "Input position raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "PiecewiseContrastStretch": {"name": "PiecewiseContrastStretch", "tool_name": "piecewise_contrast_stretch", "category": "Image Processing Tools", "label": "Piecewise Contrast Stretch", "description": "Performs a piecewise contrast stretch on an input image.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools/image_enhancement.html#PiecewiseContrastStretch", "parameters": {"i": {"name": "Input Raster Image", "flags": ["-i", "--input"], "description": "Name of the input raster image file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster Image", "flags": ["-o", "--output"], "description": "Name of the output raster image file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "function": {"name": "Piecewise Function Break-points:", "flags": ["-f", "--function"], "description": "Piecewise function break-points e.g. '(50, 0.1); (150, 0.8); (255; 1.0)", "parameter_type": "String", "default_value": "", "optional": false}, "greytones": {"name": "Number of Output Greytones:", "flags": ["-g", "--greytones"], "description": "Number of greytones in the output image.", "parameter_type": "Integer", "default_value": "1024", "optional": true}}}, "PlanCurvature": {"name": "PlanCurvature", "tool_name": "plan_curvature", "category": "Geomorphometric Analysis", "label": "Plan Curvature", "description": "Calculates a plan (contour) curvature raster from an input DEM.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/plan_curvature.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#PlanCurvature", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "log": {"name": "Log-transform the output?", "flags": ["--log"], "description": "Display output values using a log-scale.", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "zfactor": {"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}}}, "PolygonArea": {"name": "PolygonArea", "tool_name": "polygon_area", "category": "GIS Analysis", "label": "Polygon Area", "description": "Calculates the area of vector polygons.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/polygon_area.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#PolygonArea", "parameters": {"i": {"name": "Input Vector Polygon File", "flags": ["-i", "--input"], "description": "Input vector polygon file.", "parameter_type": {"ExistingFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}}}, "PolygonLongAxis": {"name": "PolygonLongAxis", "tool_name": "polygon_long_axis", "category": "GIS Analysis", "label": "Polygon Long Axis", "description": "Used to map the long axis of polygon features.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/polygon_long_axis.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#PolygonLongAxis", "parameters": {"i": {"name": "Input Polygon File", "flags": ["-i", "--input"], "description": "Input vector polygons file.", "parameter_type": {"ExistingFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}, "output": {"name": "Output Polygon File", "flags": ["-o", "--output"], "description": "Output vector polyline file.", "parameter_type": {"NewFile": {"Vector": "Line"}}, "default_value": null, "optional": false}}}, "PolygonPerimeter": {"name": "PolygonPerimeter", "tool_name": "polygon_perimeter", "category": "GIS Analysis", "label": "Polygon Perimeter", "description": "Calculates the perimeter of vector polygons.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/polygon_perimeter.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#PolygonPerimeter", "parameters": {"i": {"name": "Input Vector Polygon File", "flags": ["-i", "--input"], "description": "Input vector polygon file.", "parameter_type": {"ExistingFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}}}, "PolygonShortAxis": {"name": "PolygonShortAxis", "tool_name": "polygon_short_axis", "category": "GIS Analysis", "label": "Polygon Short Axis", "description": "Used to map the short axis of polygon features.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/polygon_short_axis.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#PolygonShortAxis", "parameters": {"i": {"name": "Input Polygon File", "flags": ["-i", "--input"], "description": "Input vector polygons file.", "parameter_type": {"ExistingFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}, "output": {"name": "Output Polygon File", "flags": ["-o", "--output"], "description": "Output vector polyline file.", "parameter_type": {"NewFile": {"Vector": "Line"}}, "default_value": null, "optional": false}}}, "Polygonize": {"name": "Polygonize", "tool_name": "polygonize", "category": "GIS Analysis", "label": "Polygonize", "description": "Creates a polygon layer from two or more intersecting line features contained in one or more input vector line files.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/polygonize.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#Polygonize", "parameters": {"inputs": {"name": "Input Vector Lines File", "flags": ["-i", "--inputs"], "description": "Input vector polyline file.", "parameter_type": {"FileList": {"Vector": "Line"}}, "default_value": null, "optional": false}, "output": {"name": "Output Vector Polygon File", "flags": ["-o", "--output"], "description": "Output vector polygon file.", "parameter_type": {"NewFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}}}, "PolygonsToLines": {"name": "PolygonsToLines", "tool_name": "polygons_to_lines", "category": "Data Tools", "label": "Polygons To Lines", "description": "Converts vector polygons to polylines.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/data_tools/polygons_to_lines.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/data_tools.html#PolygonsToLines", "parameters": {"i": {"name": "Input Polygon File", "flags": ["-i", "--input"], "description": "Input vector polygon file.", "parameter_type": {"ExistingFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}, "output": {"name": "Output Line File", "flags": ["-o", "--output"], "description": "Output vector lines file.", "parameter_type": {"NewFile": {"Vector": "Line"}}, "default_value": null, "optional": false}}}, "Power": {"name": "Power", "tool_name": "power", "category": "Math and Stats Tools", "label": "Power", "description": "Raises the values in grid cells of one rasters, or a constant value, by values in another raster or constant value.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/power.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#Power", "parameters": {"input1": {"name": "Input File Or Constant Value", "flags": ["--input1"], "description": "Input raster file or constant value.", "parameter_type": {"ExistingFileOrFloat": "Raster"}, "default_value": null, "optional": false}, "input2": {"name": "Input File Or Constant Value", "flags": ["--input2"], "description": "Input raster file or constant value.", "parameter_type": {"ExistingFileOrFloat": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "PrewittFilter": {"name": "PrewittFilter", "tool_name": "prewitt_filter", "category": "Image Processing Tools", "label": "Prewitt Filter", "description": "Performs a Prewitt edge-detection filter on an image.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/prewitt_filter.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#PrewittFilter", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "clip": {"name": "Distribution Tail Clip Amount (Percent)", "flags": ["--clip"], "description": "Optional amount to clip the distribution tails by, in percent.", "parameter_type": "Float", "default_value": "0.0", "optional": true}}}, "PrincipalComponentAnalysis": {"name": "PrincipalComponentAnalysis", "tool_name": "principal_component_analysis", "category": "Math and Stats Tools", "label": "Principal Component Analysis", "description": "Performs a principal component analysis (PCA) on a multi-spectral dataset.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/principal_component_analysis.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#PrincipalComponentAnalysis", "parameters": {"inputs": {"name": "Input Files", "flags": ["-i", "--inputs"], "description": "Input raster files.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output HTML Report File", "flags": ["--out_html", "--output"], "description": "Output HTML report file.", "parameter_type": {"NewFile": "Html"}, "default_value": null, "optional": false}, "num_comp": {"name": "Num. of Component Images (blank for all)", "flags": ["--num_comp"], "description": "Number of component images to output; <= to num. input images", "parameter_type": "Integer", "default_value": null, "optional": true}, "standardized": {"name": "Perform Standaradized PCA?", "flags": ["--standardized"], "description": "Perform standardized PCA?", "parameter_type": "Boolean", "default_value": null, "optional": true}}}, "PrintGeoTiffTags": {"name": "PrintGeoTiffTags", "tool_name": "print_geo_tiff_tags", "category": "Data Tools", "label": "Print Geo Tiff Tags", "description": "Prints the tags within a GeoTIFF.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/data_tools/print_geotiff_tags.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/data_tools.html#PrintGeoTiffTags", "parameters": {"i": {"name": "Input GeoTIFF Raster File", "flags": ["-i", "--input"], "description": "Input GeoTIFF file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}}}, "Profile": {"name": "Profile", "tool_name": "profile", "category": "Geomorphometric Analysis", "label": "Profile", "description": "Plots profiles from digital surface models.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/profile.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#Profile", "parameters": {"lines": {"name": "Input Vector Line File", "flags": ["--lines"], "description": "Input vector line file.", "parameter_type": {"ExistingFile": {"Vector": "Line"}}, "default_value": null, "optional": false}, "surface": {"name": "Input Surface File", "flags": ["--surface"], "description": "Input raster surface file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output HTML File", "flags": ["-o", "--output"], "description": "Output HTML file.", "parameter_type": {"NewFile": "Html"}, "default_value": null, "optional": false}}}, "ProfileCurvature": {"name": "ProfileCurvature", "tool_name": "profile_curvature", "category": "Geomorphometric Analysis", "label": "Profile Curvature", "description": "Calculates a profile curvature raster from an input DEM.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/prof_curvature.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#ProfileCurvature", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "log": {"name": "Log-transform the output?", "flags": ["--log"], "description": "Display output values using a log-scale.", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "zfactor": {"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}}}, "PruneVectorStreams": {"name": "PruneVectorStreams", "tool_name": "prune_vector_streams", "category": "Stream Network Analysis", "label": "Prune Vector Streams", "description": "This tool performs common stream network analysis operations on an input vector stream file.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/stream_network_analysis.html#PruneVectorStreams", "parameters": {"streams": {"name": "Input Streams Vector", "flags": ["--streams"], "description": "Name of the input streams vector file.", "parameter_type": {"ExistingFile": {"Vector": "Line"}}, "default_value": null, "optional": false}, "dem": {"name": "Input DEM Raster", "flags": ["--dem"], "description": "Name of the input DEM raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Lines", "flags": ["-o", "--output"], "description": "Name of the output lines shapefile.", "parameter_type": {"NewFile": {"Vector": "Line"}}, "default_value": null, "optional": false}, "threshold": {"name": "Upstream Channel Length Threshold", "flags": ["--threshold"], "description": "Tributary upstream channel length threshold, in xy units (metres).", "parameter_type": "Float", "default_value": "", "optional": false}, "snap": {"name": "Snap Distance", "flags": ["--snap"], "description": "Snap distance, in xy units (metres).", "parameter_type": "Float", "default_value": "0.1", "optional": true}}}, "Quantiles": {"name": "Quantiles", "tool_name": "quantiles", "category": "Math and Stats Tools", "label": "Quantiles", "description": "Transforms raster values into quantiles.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/quantiles.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#Quantiles", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "num_quantiles": {"name": "Number of Quantiles", "flags": ["--num_quantiles"], "description": "Number of quantiles.", "parameter_type": "Integer", "default_value": "5", "optional": false}}}, "RadialBasisFunctionInterpolation": {"name": "RadialBasisFunctionInterpolation", "tool_name": "radial_basis_function_interpolation", "category": "GIS Analysis", "label": "Radial Basis Function Interpolation", "description": "Interpolates vector points into a raster surface using a radial basis function scheme.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/radial_basis_function_interpolation.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#RadialBasisFunctionInterpolation", "parameters": {"i": {"name": "Input Vector Points File", "flags": ["-i", "--input"], "description": "Input vector points file.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "field": {"name": "Field Name", "flags": ["--field"], "description": "Input field name in attribute table.", "parameter_type": {"VectorAttributeField": ["Number", "--input"]}, "default_value": null, "optional": false}, "use_z": {"name": "Use z-coordinate instead of field?", "flags": ["--use_z"], "description": "Use z-coordinate instead of field?", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "radius": {"name": "Search Radius (map units)", "flags": ["--radius"], "description": "Search Radius (in map units).", "parameter_type": "Float", "default_value": null, "optional": true}, "min_points": {"name": "Min. Number of Points", "flags": ["--min_points"], "description": "Minimum number of points.", "parameter_type": "Integer", "default_value": null, "optional": true}, "func_type": {"name": "Radial Basis Function Type", "flags": ["--func_type"], "description": "Radial basis function type; options are 'ThinPlateSpline' (default), 'PolyHarmonic', 'Gaussian', 'MultiQuadric', 'InverseMultiQuadric'.", "parameter_type": {"OptionList": ["ThinPlateSpline", "PolyHarmonic", "Gaussian", "MultiQuadric", "InverseMultiQuadric"]}, "default_value": "ThinPlateSpline", "optional": true}, "poly_order": {"name": "Polynomial Order", "flags": ["--poly_order"], "description": "Polynomial order; options are 'none' (default), 'constant', 'affine'.", "parameter_type": {"OptionList": ["none", "constant", "affine"]}, "default_value": "none", "optional": true}, "weight": {"name": "Weight", "flags": ["--weight"], "description": "Weight parameter used in basis function.", "parameter_type": "Float", "default_value": "0.1", "optional": false}, "cell_size": {"name": "Cell Size (optional)", "flags": ["--cell_size"], "description": "Optionally specified cell size of output raster. Not used when base raster is specified.", "parameter_type": "Float", "default_value": null, "optional": true}, "base": {"name": "Base Raster File (optional)", "flags": ["--base"], "description": "Optionally specified input base raster file. Not used when a cell size is specified.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": true}, "use_data_hull": {"name": "Only interpolate points within the data convex hull?", "flags": ["--use_data_hull"], "description": "Only interpolate points within the data convex hull?", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "RadiusOfGyration": {"name": "RadiusOfGyration", "tool_name": "radius_of_gyration", "category": "GIS Analysis", "label": "Radius Of Gyration", "description": "Calculates the distance of cells from their polygon's centroid.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/radius_of_gyration.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#RadiusOfGyration", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "text_output": {"name": "Output text?", "flags": ["--text_output"], "description": "Optional text output.", "parameter_type": "Boolean", "default_value": null, "optional": false}}}, "RaiseWalls": {"name": "RaiseWalls", "tool_name": "raise_walls", "category": "Hydrological Analysis", "label": "Raise Walls", "description": "Raises walls in a DEM along a line or around a polygon, e.g. a watershed.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/raise_walls.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#RaiseWalls", "parameters": {"input": {"name": "Input Vector Line or Polygon File", "flags": ["-i", "walls", "--input"], "description": "Input vector lines or polygons file.", "parameter_type": {"ExistingFile": {"Vector": "Any"}}, "default_value": null, "optional": false}, "breach": {"name": "Input Breach Lines (optional)", "flags": ["--breach"], "description": "Optional input vector breach lines.", "parameter_type": {"ExistingFile": {"Vector": "Line"}}, "default_value": null, "optional": true}, "dem": {"name": "Input DEM File", "flags": ["--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "height": {"name": "Wall Height", "flags": ["--height"], "description": "Wall height.", "parameter_type": "Float", "default_value": "100.0", "optional": true}}}, "RandomField": {"name": "RandomField", "tool_name": "random_field", "category": "Math and Stats Tools", "label": "Random Field", "description": "Creates an image containing random values.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/random_field.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#RandomField", "parameters": {"base": {"name": "Input Base File", "flags": ["-i", "--base"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "RandomForestClassificationFit": {"name": "RandomForestClassificationFit", "tool_name": "random_forest_classification_fit", "category": "Machine Learning", "label": "Random Forest Classification Fit", "description": "Performs a supervised random forest classification using training site polygons/points and predictor rasters.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/machine_learning.html#RandomForestClassificationFit", "parameters": {"inputs": {"name": "Input Predictor Rasters", "flags": ["-i", "--inputs"], "description": "Names of the input predictor rasters.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "training": {"name": "Input Training Polygons/Points", "flags": ["-t", "--training"], "description": "Name of the input training site polygons/points shapefile.", "parameter_type": {"ExistingFile": {"Vector": "Any"}}, "default_value": null, "optional": false}, "field": {"name": "Class Field Name", "flags": ["-f", "--field"], "description": "Name of the attribute containing class data.", "parameter_type": {"VectorAttributeField": ["Any", "--training"]}, "default_value": null, "optional": false}, "output": {"name": "Output Model File (*.dat)", "flags": ["-o", "--output"], "description": "Name of the output model file (*.dat).", "parameter_type": {"NewFile": "Dat"}, "default_value": null, "optional": false}, "split_criterion": {"name": "Split Criterion", "flags": ["--split_criterion"], "description": "Split criterion to use when building a tree. Options include 'Gini', 'Entropy', and 'ClassificationError'", "parameter_type": {"OptionList": ["Gini", "Entropy", "ClassificationError"]}, "default_value": "Gini", "optional": true}, "n_trees": {"name": "Number of Trees in Forest", "flags": ["--n_trees"], "description": "The number of trees in the forest.", "parameter_type": "Integer", "default_value": "100", "optional": true}, "min_samples_leaf": {"name": "Min Number of Samples to be a Leaf", "flags": ["--min_samples_leaf"], "description": "The minimum number of samples required to be at a leaf node.", "parameter_type": "Integer", "default_value": "1", "optional": true}, "min_samples_split": {"name": "Min Number of Samples Needed to Split Node", "flags": ["--min_samples_split"], "description": "The minimum number of samples required to split an internal node.", "parameter_type": "Integer", "default_value": "2", "optional": true}, "test_proportion": {"name": "Test Proportion", "flags": ["--test_proportion"], "description": "The proportion of the dataset to include in the test split; default is 0.2.", "parameter_type": "Float", "default_value": "0.2", "optional": true}}}, "RandomForestClassificationPredict": {"name": "RandomForestClassificationPredict", "tool_name": "random_forest_classification_predict", "category": "Machine Learning", "label": "Random Forest Classification Predict", "description": "Uses a pre-trained random forest classification model and predictor rasters to create an output raster.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/machine_learning.html#RandomForestClassificationPredict", "parameters": {"inputs": {"name": "Input Predictor Rasters", "flags": ["-i", "--inputs"], "description": "Names of the input predictor rasters. Raster order is important and must follow that used to fit the model.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "model": {"name": "Input Random Forest Model (*.dat)", "flags": ["-m", "--model"], "description": "Name of the previously trained random forest model (*.dat).", "parameter_type": {"ExistingFile": "Dat"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster File", "flags": ["-o", "--output"], "description": "Name of the output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "RandomForestRegressionFit": {"name": "RandomForestRegressionFit", "tool_name": "random_forest_regression_fit", "category": "Machine Learning", "label": "Random Forest Regression Fit", "description": "Trains a random forest regression model using training site data and predictor rasters.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/machine_learning.html#RandomForestRegressionFit", "parameters": {"inputs": {"name": "Input Predictor Rasters", "flags": ["-i", "--inputs"], "description": "Names of the input predictor rasters.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "training": {"name": "Input Training Points", "flags": ["-t", "--training"], "description": "Name of the input training site points Shapefile.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "field": {"name": "Response Variable Field Name", "flags": ["-f", "--field"], "description": "Name of the attribute containing response variable name data.", "parameter_type": {"VectorAttributeField": ["Any", "--training"]}, "default_value": null, "optional": false}, "output": {"name": "Output Model File (*.dat)", "flags": ["-o", "--output"], "description": "Name of the output model file (*.dat).", "parameter_type": {"NewFile": "Dat"}, "default_value": null, "optional": false}, "n_trees": {"name": "Number of Trees in Forest", "flags": ["--n_trees"], "description": "The number of trees in the forest.", "parameter_type": "Integer", "default_value": "100", "optional": true}, "min_samples_leaf": {"name": "Min Number of Samples to be a Leaf", "flags": ["--min_samples_leaf"], "description": "The minimum number of samples required to be at a leaf node.", "parameter_type": "Integer", "default_value": "1", "optional": true}, "min_samples_split": {"name": "Min Number of Samples Needed to Split Node", "flags": ["--min_samples_split"], "description": "The minimum number of samples required to split an internal node.", "parameter_type": "Integer", "default_value": "2", "optional": true}, "test_proportion": {"name": "Test Proportion", "flags": ["--test_proportion"], "description": "The proportion of the dataset to include in the test split; default is 0.2.", "parameter_type": "Float", "default_value": "0.2", "optional": true}}}, "RandomForestRegressionPredict": {"name": "RandomForestRegressionPredict", "tool_name": "random_forest_regression_predict", "category": "Machine Learning", "label": "Random Forest Regression Predict", "description": "Uses a pre-trained random forest regression model and predictor rasters to create an output raster.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/machine_learning.html#RandomForestRegressionPredict", "parameters": {"inputs": {"name": "Input Predictor Rasters", "flags": ["-i", "--inputs"], "description": "Names of the input predictor rasters. Raster order is important and must follow that used to fit the model.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "model": {"name": "Input Random Forest Model (*.dat)", "flags": ["-m", "--model"], "description": "Name of the previously trained random forest model (*.dat).", "parameter_type": {"ExistingFile": "Dat"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster File", "flags": ["-o", "--output"], "description": "Name of the output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "RandomSample": {"name": "RandomSample", "tool_name": "random_sample", "category": "Math and Stats Tools", "label": "Random Sample", "description": "Creates an image containing randomly located sample grid cells with unique IDs.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/random_sample.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#RandomSample", "parameters": {"base": {"name": "Input Base File", "flags": ["-i", "--base"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "num_samples": {"name": "Num. Samples", "flags": ["--num_samples"], "description": "Number of samples", "parameter_type": "Integer", "default_value": "1000", "optional": false}}}, "RangeFilter": {"name": "RangeFilter", "tool_name": "range_filter", "category": "Image Processing Tools", "label": "Range Filter", "description": "Assigns each cell in the output grid the range of values in a moving window centred on each grid cell in the input raster.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/range_filter.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#RangeFilter", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "filterx": {"name": "Filter X-Dimension", "flags": ["--filterx"], "description": "Size of the filter kernel in the x-direction.", "parameter_type": "Integer", "default_value": "11", "optional": true}, "filtery": {"name": "Filter Y-Dimension", "flags": ["--filtery"], "description": "Size of the filter kernel in the y-direction.", "parameter_type": "Integer", "default_value": "11", "optional": true}}}, "RasterArea": {"name": "RasterArea", "tool_name": "raster_area", "category": "GIS Analysis", "label": "Raster Area", "description": "Calculates the area of polygons or classes within a raster image.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/raster_area.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#RasterArea", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": true}, "out_text": {"name": "Output text?", "flags": ["--out_text"], "description": "Would you like to output polygon areas to text?", "parameter_type": "Boolean", "default_value": null, "optional": false}, "units": {"name": "Units", "flags": ["--units"], "description": "Area units; options include 'grid cells' and 'map units'.", "parameter_type": {"OptionList": ["grid cells", "map units"]}, "default_value": "grid cells", "optional": true}, "zero_back": {"name": "Treat zero values as background?", "flags": ["--zero_back"], "description": "Flag indicating whether zero values should be treated as a background.", "parameter_type": "Boolean", "default_value": null, "optional": false}}}, "RasterCellAssignment": {"name": "RasterCellAssignment", "tool_name": "raster_cell_assignment", "category": "GIS Analysis", "label": "Raster Cell Assignment", "description": "Assign row or column number to cells.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/raster_cell_assignment.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#RasterCellAssignment", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "assign": {"name": "Which spatial variable should be assigned?", "flags": ["-a", "--assign"], "description": "Which variable would you like to assign to grid cells? Options include 'column', 'row', 'x', and 'y'.", "parameter_type": {"OptionList": ["column", "row", "x", "y"]}, "default_value": "column", "optional": false}}}, "RasterHistogram": {"name": "RasterHistogram", "tool_name": "raster_histogram", "category": "Math and Stats Tools", "label": "Raster Histogram", "description": "Creates a histogram from raster values.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/raster_histogram.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#RasterHistogram", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output HTML File", "flags": ["-o", "--output"], "description": "Output HTML file (default name will be based on input file if unspecified).", "parameter_type": {"NewFile": "Html"}, "default_value": null, "optional": false}}}, "RasterPerimeter": {"name": "RasterPerimeter", "tool_name": "raster_perimeter", "category": "GIS Analysis", "label": "Raster Perimeter", "description": "Calculates the perimeters of polygons or classes within a raster image.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/raster_perimeter.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#RasterPerimeter", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": true}, "out_text": {"name": "Output text?", "flags": ["--out_text"], "description": "Would you like to output polygon areas to text?", "parameter_type": "Boolean", "default_value": null, "optional": false}, "units": {"name": "Units", "flags": ["--units"], "description": "Area units; options include 'grid cells' and 'map units'.", "parameter_type": {"OptionList": ["grid cells", "map units"]}, "default_value": "grid cells", "optional": true}, "zero_back": {"name": "Treat zero values as background?", "flags": ["--zero_back"], "description": "Flag indicating whether zero values should be treated as a background.", "parameter_type": "Boolean", "default_value": null, "optional": false}}}, "RasterStreamsToVector": {"name": "RasterStreamsToVector", "tool_name": "raster_streams_to_vector", "category": "Stream Network Analysis", "label": "Raster Streams To Vector", "description": "Converts a raster stream file into a vector file.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/stream_network_analysis/raster_streams_to_vector.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/stream_network_analysis.html#RasterStreamsToVector", "parameters": {"streams": {"name": "Input Streams File", "flags": ["--streams"], "description": "Input raster streams file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "d8_pntr": {"name": "Input D8 Pointer File", "flags": ["--d8_pntr"], "description": "Input raster D8 pointer file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output vector file.", "parameter_type": {"NewFile": {"Vector": "Line"}}, "default_value": null, "optional": false}, "esri_pntr": {"name": "Does the pointer file use the ESRI pointer scheme?", "flags": ["--esri_pntr"], "description": "D8 pointer uses the ESRI style scheme.", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "all_vertices": {"name": "Preserve all stream vertices?", "flags": ["--all_vertices"], "description": "Do you want to preserve all vertices in output (i.e. no straight-line generalization)", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "RasterSummaryStats": {"name": "RasterSummaryStats", "tool_name": "raster_summary_stats", "category": "Math and Stats Tools", "label": "Raster Summary Stats", "description": "Measures a rasters min, max, average, standard deviation, num. non-nodata cells, and total.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/raster_summary_stats.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#RasterSummaryStats", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}}}, "RasterToVectorLines": {"name": "RasterToVectorLines", "tool_name": "raster_to_vector_lines", "category": "Data Tools", "label": "Raster To Vector Lines", "description": "Converts a raster lines features into a vector of the POLYLINE shapetype", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/data_tools/raster_to_vector_lines.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/data_tools.html#RasterToVectorLines", "parameters": {"i": {"name": "Input Raster Lines File", "flags": ["-i", "--input"], "description": "Input raster lines file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": {"Vector": "Line"}}, "default_value": null, "optional": false}}}, "RasterToVectorPoints": {"name": "RasterToVectorPoints", "tool_name": "raster_to_vector_points", "category": "Data Tools", "label": "Raster To Vector Points", "description": "Converts a raster dataset to a vector of the POINT shapetype.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/data_tools/raster_to_vector_points.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/data_tools.html#RasterToVectorPoints", "parameters": {"i": {"name": "Input Raster File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Points File", "flags": ["-o", "--output"], "description": "Output vector points file.", "parameter_type": {"NewFile": {"Vector": "Point"}}, "default_value": null, "optional": false}}}, "RasterToVectorPolygons": {"name": "RasterToVectorPolygons", "tool_name": "raster_to_vector_polygons", "category": "Data Tools", "label": "Raster To Vector Polygons", "description": "Converts a raster dataset to a vector of the POLYGON shapetype.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/data_tools/raster_to_vector_polygons.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/data_tools.html#RasterToVectorPolygons", "parameters": {"i": {"name": "Input Raster File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Polygons File", "flags": ["-o", "--output"], "description": "Output vector polygons file.", "parameter_type": {"NewFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}}}, "RasterizeStreams": {"name": "RasterizeStreams", "tool_name": "rasterize_streams", "category": "Stream Network Analysis", "label": "Rasterize Streams", "description": "Rasterizes vector streams based on Lindsay (2016) method.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/stream_network_analysis/rasterize_streams.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/stream_network_analysis.html#RasterizeStreams", "parameters": {"streams": {"name": "Input Vector Streams File", "flags": ["--streams"], "description": "Input vector streams file.", "parameter_type": {"ExistingFile": {"Vector": "Line"}}, "default_value": null, "optional": false}, "base": {"name": "Input Base Raster File", "flags": ["--base"], "description": "Input base raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "nodata": {"name": "Use NoData value for background?", "flags": ["--nodata"], "description": "Use NoData value for background?", "parameter_type": "Boolean", "default_value": "true", "optional": true}, "feature_id": {"name": "Use feature number as output value?", "flags": ["--feature_id"], "description": "Use feature number as output value?", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "Reciprocal": {"name": "Reciprocal", "tool_name": "reciprocal", "category": "Math and Stats Tools", "label": "Reciprocal", "description": "Returns the reciprocal (i.e. 1 / z) of values in a raster.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/reciprocal.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#Reciprocal", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "Reclass": {"name": "Reclass", "tool_name": "reclass", "category": "GIS Analysis", "label": "Reclass", "description": "Reclassifies the values in a raster image.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/reclass.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#Reclass", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "reclass_vals": {"name": "Reclass Values (new value; from value; to less than)", "flags": ["--reclass_vals"], "description": "Reclassification triplet values (new value; from value; to less than), e.g. '0.0;0.0;1.0;1.0;1.0;2.0'", "parameter_type": "String", "default_value": null, "optional": false}, "assign_mode": {"name": "Operate in assign mode? (i.e. Reclass data are pair values rather than triplets)", "flags": ["--assign_mode"], "description": "Optional Boolean flag indicating whether to operate in assign mode, reclass_vals values are interpreted as new value; old value pairs.", "parameter_type": "Boolean", "default_value": null, "optional": true}}}, "ReclassEqualInterval": {"name": "ReclassEqualInterval", "tool_name": "reclass_equal_interval", "category": "GIS Analysis", "label": "Reclass Equal Interval", "description": "Reclassifies the values in a raster image based on equal-ranges.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/reclass_equal_interval.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#ReclassEqualInterval", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "interval": {"name": "Class Interval Size", "flags": ["--interval"], "description": "Class interval size.", "parameter_type": "Float", "default_value": "10.0", "optional": false}, "start_val": {"name": "Starting Value", "flags": ["--start_val"], "description": "Optional starting value (default is input minimum value).", "parameter_type": "Float", "default_value": null, "optional": true}, "end_val": {"name": "Ending Value", "flags": ["--end_val"], "description": "Optional ending value (default is input maximum value).", "parameter_type": "Float", "default_value": null, "optional": true}}}, "ReclassFromFile": {"name": "ReclassFromFile", "tool_name": "reclass_from_file", "category": "GIS Analysis", "label": "Reclass From File", "description": "Reclassifies the values in a raster image using reclass ranges in a text file.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/reclass_from_file.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#ReclassFromFile", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "reclass_file": {"name": "Input Reclass Text File", "flags": ["--reclass_file"], "description": "Input text file containing reclass ranges.", "parameter_type": {"ExistingFile": "Text"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "ReconcileMultipleHeaders": {"name": "ReconcileMultipleHeaders", "tool_name": "reconcile_multiple_headers", "category": "Precision Agriculture", "label": "Reconcile Multiple Headers", "description": "This tool adjusts the crop yield values for data sets collected with multiple headers or combines.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/precision_agriculture.html#ReconcileMultipleHeaders", "parameters": {"i": {"name": "Input Points", "flags": ["-i", "--input"], "description": "Name of the input points shapefile.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "region_field": {"name": "Region Field Name", "flags": ["--region_field"], "description": "Name of the attribute containing region data.", "parameter_type": {"VectorAttributeField": ["Any", "--input"]}, "default_value": null, "optional": false}, "yield_field": {"name": "Yield Field Name", "flags": ["-y", "--yield_field"], "description": "Name of the attribute containing yield data.", "parameter_type": {"VectorAttributeField": ["Any", "--input"]}, "default_value": null, "optional": false}, "output": {"name": "Output Points", "flags": ["-o", "--output"], "description": "Name of the output points shapefile.", "parameter_type": {"NewFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "radius": {"name": "Search Radius (m)", "flags": ["--radius"], "description": "Optional search radius, in metres. Only specify this value if you want to calculate locally normalized yield.", "parameter_type": "Float", "default_value": null, "optional": true}, "min_yield": {"name": "Minimum Yield", "flags": ["--min_yield"], "description": "Minimum yield value in output.", "parameter_type": "Float", "default_value": null, "optional": true}, "max_yield": {"name": "Maximum Yield", "flags": ["--max_yield"], "description": "Maximum yield value in output.", "parameter_type": "Float", "default_value": null, "optional": true}, "mean_tonnage": {"name": "Overall Average Tonnage (Optional)", "flags": ["--mean_tonnage"], "description": "Use this optional parameter to force the output to have a certain overall average tonnage.", "parameter_type": "Float", "default_value": null, "optional": true}}}, "RecoverFlightlineInfo": {"name": "RecoverFlightlineInfo", "tool_name": "recover_flightline_info", "category": "LiDAR Tools", "label": "Recover Flightline Info", "description": "Associates LiDAR points by their flightlines.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#RecoverFlightlineInfo", "parameters": {"i": {"name": "Input LiDAR Points", "flags": ["-i", "--input"], "description": "Name of the input LiDAR points.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": false}, "output": {"name": "Output LiDAR Points", "flags": ["-o", "--output"], "description": "Name of the output LiDAR points.", "parameter_type": {"NewFile": "Lidar"}, "default_value": null, "optional": false}, "max_time_diff": {"name": "Maximum In-Flightline Time Difference (seconds)", "flags": ["--max_time_diff"], "description": "Maximum in-flightline time difference (seconds)", "parameter_type": "Float", "default_value": "5.0", "optional": true}, "pt_src_id": {"name": "Add flightline info to the Point Source ID?", "flags": ["--pt_src_id"], "description": "Add flightline information to the point source ID", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "user_data": {"name": "Add flightline info to the User Data?", "flags": ["--user_data"], "description": "Add flightline information to the user data", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "rgb": {"name": "Add flightline info to the RGB colour data?", "flags": ["--rgb"], "description": "Add flightline information to the RGB colour data", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "RecreatePassLines": {"name": "RecreatePassLines", "tool_name": "recreate_pass_lines", "category": "Precision Agriculture", "label": "Recreate Pass Lines", "description": "This tool can be used to approximate the harvester pass lines from yield points.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/precision_agriculture.html#RecreatePassLines", "parameters": {"i": {"name": "Input Points", "flags": ["-i", "--input"], "description": "Name of the input points shapefile.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "yield_field_name": {"name": "Yield Field Name", "flags": ["-y", "--yield_field_name"], "description": "Name of the attribute containing yield data.", "parameter_type": {"VectorAttributeField": ["Any", "--input"]}, "default_value": null, "optional": false}, "output_lines": {"name": "Output Pass Line", "flags": ["--output_lines"], "description": "Name of the output pass lines shapefile.", "parameter_type": {"NewFile": {"Vector": "Line"}}, "default_value": null, "optional": false}, "output_points": {"name": "Output Points", "flags": ["--output_points"], "description": "Name of the output points shapefile.", "parameter_type": {"NewFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "max_change_in_heading": {"name": "Max Change In Heading (degrees)", "flags": ["-m", "--max_change_in_heading"], "description": "Max change in heading.", "parameter_type": "Float", "default_value": "25.0", "optional": true}, "ignore_zeros": {"name": "Ignore zero-valued yield points?", "flags": ["--ignore_zeros"], "description": "Ignore zero-valued yield points?", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "ReinitializeAttributeTable": {"name": "ReinitializeAttributeTable", "tool_name": "reinitialize_attribute_table", "category": "Data Tools", "label": "Reinitialize Attribute Table", "description": "Reinitializes a vector's attribute table deleting all fields but the feature ID (FID).", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/data_tools/reinitialize_attribute_table.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/data_tools.html#ReinitializeAttributeTable", "parameters": {"i": {"name": "Input Vector File", "flags": ["-i", "--input"], "description": "Input vector file.", "parameter_type": {"ExistingFile": {"Vector": "Any"}}, "default_value": null, "optional": false}}}, "RelatedCircumscribingCircle": {"name": "RelatedCircumscribingCircle", "tool_name": "related_circumscribing_circle", "category": "GIS Analysis", "label": "Related Circumscribing Circle", "description": "Calculates the related circumscribing circle of vector polygons.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/related_circumscribing_circle.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#RelatedCircumscribingCircle", "parameters": {"i": {"name": "Input Vector Polygon File", "flags": ["-i", "--input"], "description": "Input vector polygon file.", "parameter_type": {"ExistingFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}}}, "RelativeAspect": {"name": "RelativeAspect", "tool_name": "relative_aspect", "category": "Geomorphometric Analysis", "label": "Relative Aspect", "description": "Calculates relative aspect (relative to a user-specified direction) from an input DEM.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/relative_aspect.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#RelativeAspect", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "azimuth": {"name": "Azimuth", "flags": ["--azimuth"], "description": "Illumination source azimuth.", "parameter_type": "Float", "default_value": "0.0", "optional": false}, "zfactor": {"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}}}, "RelativeTopographicPosition": {"name": "RelativeTopographicPosition", "tool_name": "relative_topographic_position", "category": "Geomorphometric Analysis", "label": "Relative Topographic Position", "description": "Calculates the relative topographic position index from a DEM.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/relative_topographic_position.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#RelativeTopographicPosition", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "filterx": {"name": "Filter X-Dimension", "flags": ["--filterx"], "description": "Size of the filter kernel in the x-direction.", "parameter_type": "Integer", "default_value": "11", "optional": true}, "filtery": {"name": "Filter Y-Dimension", "flags": ["--filtery"], "description": "Size of the filter kernel in the y-direction.", "parameter_type": "Integer", "default_value": "11", "optional": true}}}, "RemoveFieldEdgePoints": {"name": "RemoveFieldEdgePoints", "tool_name": "remove_field_edge_points", "category": "Precision Agriculture", "label": "Remove Field Edge Points", "description": "This tool can be used to remove, or flag, most of the points along the edges from a crop yield data set.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/precision_agriculture.html#RemoveFieldEdgePoints", "parameters": {"i": {"name": "Input Points", "flags": ["-i", "--input"], "description": "Name of the input points shapefile.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "output": {"name": "Output Points", "flags": ["-o", "--output"], "description": "Name of the output points shapefile.", "parameter_type": {"NewFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "dist": {"name": "Average Distance Between Passes (m)", "flags": ["-d", "--dist"], "description": "Average distance between passes, in meters.", "parameter_type": "Float", "default_value": null, "optional": true}, "max_change_in_heading": {"name": "Max Change In Heading (degrees)", "flags": ["-m", "--max_change_in_heading"], "description": "Max change in heading.", "parameter_type": "Float", "default_value": "25.0", "optional": true}, "flag_edges": {"name": "Don't remove edge points, just flag them?", "flags": ["--flag_edges"], "description": "Don't remove edge points, just flag them in the attribute table?", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "RemoveOffTerrainObjects": {"name": "RemoveOffTerrainObjects", "tool_name": "remove_off_terrain_objects", "category": "Geomorphometric Analysis", "label": "Remove Off Terrain Objects", "description": "Removes off-terrain objects from a raster digital elevation model (DEM).", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/remove_off_terrain_objects.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#RemoveOffTerrainObjects", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--input", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "filter": {"name": "Filter Dimension", "flags": ["--filter"], "description": "Filter size (cells).", "parameter_type": "Integer", "default_value": "11", "optional": false}, "slope": {"name": "Slope Threshold", "flags": ["--slope"], "description": "Slope threshold value.", "parameter_type": "Float", "default_value": "15.0", "optional": false}}}, "RemovePolygonHoles": {"name": "RemovePolygonHoles", "tool_name": "remove_polygon_holes", "category": "Data Tools", "label": "Remove Polygon Holes", "description": "Removes holes within the features of a vector polygon file.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/data_tools/remove_polygon_holes.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/data_tools.html#RemovePolygonHoles", "parameters": {"i": {"name": "Input Vector Polygon File", "flags": ["-i", "--input"], "description": "Input vector polygon file.", "parameter_type": {"ExistingFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}, "output": {"name": "Output Polygon File", "flags": ["-o", "--output"], "description": "Output vector polygon file.", "parameter_type": {"NewFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}}}, "RemoveRasterPolygonHoles": {"name": "RemoveRasterPolygonHoles", "tool_name": "remove_raster_polygon_holes", "category": "Data Tools", "label": "Remove Raster Polygon Holes", "description": "Removes polygon holes, or 'donut-holes', from raster polygons.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/data_tools.html#RemoveRasterPolygonHoles", "parameters": {"i": {"name": "Input Raster Image", "flags": ["-i", "--input"], "description": "Name of the input raster image file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster File", "flags": ["-o", "--output"], "description": "Name of the output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "threshold": {"name": "Threshold Size (Grid Cells):", "flags": ["--threshold"], "description": "Maximum size of removed holes, in grid cells. Blank for no threshold, i.e. remove all holes.", "parameter_type": "Integer", "default_value": "3", "optional": true}, "use_diagonals": {"name": "Use diagonal neighbours during clumping?", "flags": ["--use_diagonals"], "description": "Use diagonal neighbours during clumping operation.", "parameter_type": "Boolean", "default_value": "true", "optional": true}}}, "RemoveShortStreams": {"name": "RemoveShortStreams", "tool_name": "remove_short_streams", "category": "Stream Network Analysis", "label": "Remove Short Streams", "description": "Removes short first-order streams from a stream network.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/stream_network_analysis/remove_short_streams.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/stream_network_analysis.html#RemoveShortStreams", "parameters": {"d8_pntr": {"name": "Input D8 Pointer File", "flags": ["--d8_pntr"], "description": "Input raster D8 pointer file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "streams": {"name": "Input Streams File", "flags": ["--streams"], "description": "Input raster streams file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "min_length": {"name": "Minimum Tributary Length (map units)", "flags": ["--min_length"], "description": "Minimum tributary length (in map units) used for network pruning.", "parameter_type": "Float", "default_value": null, "optional": false}, "esri_pntr": {"name": "Does the pointer file use the ESRI pointer scheme?", "flags": ["--esri_pntr"], "description": "D8 pointer uses the ESRI style scheme.", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "RemoveSpurs": {"name": "RemoveSpurs", "tool_name": "remove_spurs", "category": "Image Processing Tools", "label": "Remove Spurs", "description": "Removes the spurs (pruning operation) from a Boolean line image; intended to be used on the output of the LineThinning tool.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/remove_spurs.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#RemoveSpurs", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "iterations": {"name": "Maximum Iterations", "flags": ["--iterations"], "description": "Maximum number of iterations", "parameter_type": "Integer", "default_value": "10", "optional": false}}}, "Resample": {"name": "Resample", "tool_name": "resample", "category": "Image Processing Tools", "label": "Resample", "description": "Resamples one or more input images into a destination image.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/resample.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#Resample", "parameters": {"inputs": {"name": "Input Files", "flags": ["-i", "--inputs"], "description": "Input raster files.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "cell_size": {"name": "Cell Size (optional)", "flags": ["--cell_size"], "description": "Optionally specified cell size of output raster. Not used when base raster is specified.", "parameter_type": "Float", "default_value": null, "optional": true}, "base": {"name": "Base Raster File (optional)", "flags": ["--base"], "description": "Optionally specified input base raster file. Not used when a cell size is specified.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": true}, "method": {"name": "Resampling Method", "flags": ["--method"], "description": "Resampling method; options include 'nn' (nearest neighbour), 'bilinear', and 'cc' (cubic convolution)", "parameter_type": {"OptionList": ["nn", "bilinear", "cc"]}, "default_value": "cc", "optional": true}}}, "RescaleValueRange": {"name": "RescaleValueRange", "tool_name": "rescale_value_range", "category": "Math and Stats Tools", "label": "Rescale Value Range", "description": "Performs a min-max contrast stretch on an input greytone image.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/rescale_value_range.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#RescaleValueRange", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "out_min_val": {"name": "Output Raster Minimum Value", "flags": ["--out_min_val"], "description": "New minimum value in output image.", "parameter_type": "Float", "default_value": null, "optional": false}, "out_max_val": {"name": "Output Raster Maximum Value", "flags": ["--out_max_val"], "description": "New maximum value in output image.", "parameter_type": "Float", "default_value": null, "optional": false}, "clip_min": {"name": "Lower-Tail Clip Value (optional)", "flags": ["--clip_min"], "description": "Optional lower tail clip value.", "parameter_type": "Float", "default_value": null, "optional": true}, "clip_max": {"name": "Upper-Tail Clip Value (optional)", "flags": ["--clip_max"], "description": "Optional upper tail clip value.", "parameter_type": "Float", "default_value": null, "optional": true}}}, "RgbToIhs": {"name": "RgbToIhs", "tool_name": "rgb_to_ihs", "category": "Image Processing Tools", "label": "Rgb To Ihs", "description": "Converts red, green, and blue (RGB) images into intensity, hue, and saturation (IHS) images.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/rgb_to_ihs.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#RgbToIhs", "parameters": {"red": {"name": "Input Red Band File (optional; only if colour-composite not specified)", "flags": ["--red"], "description": "Input red band image file. Optionally specified if colour-composite not specified.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": true}, "green": {"name": "Input Green Band File (optional; only if colour-composite not specified)", "flags": ["--green"], "description": "Input green band image file. Optionally specified if colour-composite not specified.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": true}, "blue": {"name": "Input Blue Band File (optional; only if colour-composite not specified)", "flags": ["--blue"], "description": "Input blue band image file. Optionally specified if colour-composite not specified.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": true}, "composite": {"name": "Input Colour-Composite Image File (optional; only if individual bands not specified)", "flags": ["--composite"], "description": "Input colour-composite image file. Only used if individual bands are not specified.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": true}, "intensity": {"name": "Output Intensity File", "flags": ["--intensity"], "description": "Output intensity raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "hue": {"name": "Output Hue File", "flags": ["--hue"], "description": "Output hue raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "saturation": {"name": "Output Saturation File", "flags": ["--saturation"], "description": "Output saturation raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "Rho8Pointer": {"name": "Rho8Pointer", "tool_name": "rho8_pointer", "category": "Hydrological Analysis", "label": "Rho8 Pointer", "description": "Calculates a stochastic Rho8 flow pointer raster from an input DEM.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/rho8_pointer.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#Rho8Pointer", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "esri_pntr": {"name": "Should the pointer file use the ESRI pointer scheme?", "flags": ["--esri_pntr"], "description": "D8 pointer uses the ESRI style scheme.", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "RingCurvature": {"name": "RingCurvature", "tool_name": "ring_curvature", "category": "Geomorphometric Analysis", "label": "Ring Curvature", "description": "This tool calculates ring curvature from an input DEM.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#RingCurvature", "parameters": {"dem": {"name": "Input Raster DEM", "flags": ["-i", "--dem"], "description": "Name of the input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster Image", "flags": ["-o", "--output"], "description": "Name of the output raster image file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "log": {"name": "Log-transform the output?", "flags": ["--log"], "description": "Display output values using a log-scale.", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "zfactor": {"name": "Z-factor", "flags": ["--zfactor"], "description": "Z conversion factor.", "parameter_type": "Float", "default_value": "1.0", "optional": true}}}, "RiverCenterlines": {"name": "RiverCenterlines", "tool_name": "river_centerlines", "category": "Hydrological Analysis", "label": "River Centerlines", "description": "Maps river centerlines from an input water raster.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#RiverCenterlines", "parameters": {"i": {"name": "Input Raster Image", "flags": ["-i", "--input"], "description": "Name of the input raster image file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Vector Lines File", "flags": ["-o", "--output"], "description": "Name of the output vector lines file.", "parameter_type": {"NewFile": {"Vector": "Line"}}, "default_value": null, "optional": false}, "min_length": {"name": "Min. Line Length (In Grid Cells)", "flags": ["--min_length"], "description": "Minimum line length, in grid cells.", "parameter_type": "Integer", "default_value": "3", "optional": true}, "radius": {"name": "Search Radius (In Grid Cells)", "flags": ["--radius"], "description": "Search radius for joining distant endnodes, in grid cells.", "parameter_type": "Integer", "default_value": "4", "optional": true}}}, "RobertsCrossFilter": {"name": "RobertsCrossFilter", "tool_name": "roberts_cross_filter", "category": "Image Processing Tools", "label": "Roberts Cross Filter", "description": "Performs a Robert's cross edge-detection filter on an image.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/roberts_filter.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#RobertsCrossFilter", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "clip": {"name": "Distribution Tail Clip Amount (Percent)", "flags": ["--clip"], "description": "Optional amount to clip the distribution tails by, in percent.", "parameter_type": "Float", "default_value": "0.0", "optional": true}}}, "RootMeanSquareError": {"name": "RootMeanSquareError", "tool_name": "root_mean_square_error", "category": "Math and Stats Tools", "label": "Root Mean Square Error", "description": "Calculates the RMSE and other accuracy statistics.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/root_mean_square_error.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#RootMeanSquareError", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "base": {"name": "Input Base File", "flags": ["--base"], "description": "Input base raster file used for comparison.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}}}, "Rotor": {"name": "Rotor", "tool_name": "rotor", "category": "Geomorphometric Analysis", "label": "Rotor", "description": "This tool calculates rotor from an input DEM.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#Rotor", "parameters": {"dem": {"name": "Input Raster DEM", "flags": ["-i", "--dem"], "description": "Name of the input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster Image", "flags": ["-o", "--output"], "description": "Name of the output raster image file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "log": {"name": "Log-transform the output?", "flags": ["--log"], "description": "Display output values using a log-scale.", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "zfactor": {"name": "Z-factor", "flags": ["--zfactor"], "description": "Z conversion factor.", "parameter_type": "Float", "default_value": "1.0", "optional": true}}}, "Round": {"name": "Round", "tool_name": "round", "category": "Math and Stats Tools", "label": "Round", "description": "Rounds the values in an input raster to the nearest integer value.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/round.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#Round", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "RuggednessIndex": {"name": "RuggednessIndex", "tool_name": "ruggedness_index", "category": "Geomorphometric Analysis", "label": "Ruggedness Index", "description": "Calculates the Riley et al.'s (1999) terrain ruggedness index from an input DEM.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/ruggedness_index.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#RuggednessIndex", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "ScharrFilter": {"name": "ScharrFilter", "tool_name": "scharr_filter", "category": "Image Processing Tools", "label": "Scharr Filter", "description": "Performs a Scharr edge-detection filter on an image.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/scharr_filter.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#ScharrFilter", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "clip": {"name": "Distribution Tail Clip Amount (Percent)", "flags": ["--clip"], "description": "Optional amount to clip the distribution tails by, in percent.", "parameter_type": "Float", "default_value": "0.0", "optional": true}}}, "SedimentTransportIndex": {"name": "SedimentTransportIndex", "tool_name": "sediment_transport_index", "category": "Geomorphometric Analysis", "label": "Sediment Transport Index", "description": "Calculates the sediment transport index.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/sediment_transport_index.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#SedimentTransportIndex", "parameters": {"sca": {"name": "Input Specific Contributing Area (SCA) File", "flags": ["--sca"], "description": "Input raster specific contributing area (SCA) file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "slope": {"name": "Input Slope File", "flags": ["--slope"], "description": "Input raster slope file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "sca_exponent": {"name": "Specific Contributing Area (SCA) Exponent", "flags": ["--sca_exponent"], "description": "SCA exponent value.", "parameter_type": "Float", "default_value": "0.4", "optional": false}, "slope_exponent": {"name": "Slope Exponent", "flags": ["--slope_exponent"], "description": "Slope exponent value.", "parameter_type": "Float", "default_value": "1.3", "optional": false}}}, "SelectTilesByPolygon": {"name": "SelectTilesByPolygon", "tool_name": "select_tiles_by_polygon", "category": "LiDAR Tools", "label": "Select Tiles By Polygon", "description": "Copies LiDAR tiles overlapping with a polygon into an output directory.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/lidar_analysis/select_tiles_by_polygon.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#SelectTilesByPolygon", "parameters": {"indir": {"name": "Input Directory", "flags": ["--indir"], "description": "Input LAS file source directory.", "parameter_type": "Directory", "default_value": null, "optional": false}, "outdir": {"name": "Output Directory", "flags": ["--outdir"], "description": "Output directory into which LAS files within the polygon are copied.", "parameter_type": "Directory", "default_value": null, "optional": false}, "polygons": {"name": "Input Vector Polygon File", "flags": ["--polygons"], "description": "Input vector polygons file.", "parameter_type": {"ExistingFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}}}, "SetNodataValue": {"name": "SetNodataValue", "tool_name": "set_nodata_value", "category": "Data Tools", "label": "Set Nodata Value", "description": "Assign the NoData value for an input image.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/data_tools/set_nodata_value.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/data_tools.html#SetNodataValue", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "back_value": {"name": "Background Value", "flags": ["--back_value"], "description": "Background value to set to nodata.", "parameter_type": "Float", "default_value": "0.0", "optional": true}}}, "ShadowAnimation": {"name": "ShadowAnimation", "tool_name": "shadow_animation", "category": "Geomorphometric Analysis", "label": "Shadow Animation", "description": "This tool creates an animated GIF of shadows based on an input DEM.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#ShadowAnimation", "parameters": {"i": {"name": "Input Digital Surface Model (DSM) Raster", "flags": ["-i", "--input"], "description": "Name of the input digital surface model (DSM) raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "palette": {"name": "DSM Palette", "flags": ["-p", "--palette"], "description": "DSM image palette; options are 'atlas', 'high_relief', 'arid', 'soft', 'muted', 'light_quant', 'purple', 'viridis', 'gn_yl', 'pi_y_g', 'bl_yl_rd', 'deep', and 'none'.", "parameter_type": {"OptionList": ["atlas", "high_relief", "arid", "soft", "muted", "light_quant", "purple", "viridi", "gn_yl", "pi_y_g", "bl_yl_rd", "deep", "none"]}, "default_value": "atlas", "optional": true}, "output": {"name": "Output File (*.html)", "flags": ["-o", "--output"], "description": "Name of the output HTML file (*.html).", "parameter_type": {"NewFile": "Html"}, "default_value": null, "optional": false}, "max_dist": {"name": "Maximum Search Distance (xy units)", "flags": ["--max_dist"], "description": "Optional maximum search distance, in xy units. Minimum value is 5 x cell size.", "parameter_type": "Float", "default_value": "", "optional": true}, "date": {"name": "Date (DD/MM/YYYY)", "flags": ["-d", "--date"], "description": "Date in format DD/MM/YYYY.", "parameter_type": "String", "default_value": "21/06/2021", "optional": true}, "interval": {"name": "Time Interval (in minutes)", "flags": ["--interval"], "description": "Time interval, in minutes (1-60).", "parameter_type": "Integer", "default_value": "15", "optional": true}, "location": {"name": "Lat/Long/UTC-offset (e.g. 43.5448/-80.2482/-4)", "flags": ["--location"], "description": "Location, defined as Lat/Long/UTC-offset (e.g. 43.5448/-80.2482/-4).", "parameter_type": "String", "default_value": "43.5448/-80.2482/-4", "optional": true}, "height": {"name": "Image Height (in pixels)", "flags": ["-h", "--height"], "description": "Image height, in pixels.", "parameter_type": "Integer", "default_value": "600", "optional": true}, "delay": {"name": "Delay (in milliseconds)", "flags": ["--delay"], "description": "GIF time delay in milliseconds.", "parameter_type": "Integer", "default_value": "250", "optional": true}, "label": {"name": "Label text (blank for none)", "flags": ["-l", "--label"], "description": "Label text (leave blank for none)", "parameter_type": "String", "default_value": "", "optional": true}}}, "ShadowImage": {"name": "ShadowImage", "tool_name": "shadow_image", "category": "Geomorphometric Analysis", "label": "Shadow Image", "description": "This tool creates a raster of shadow areas based on an input DEM.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#ShadowImage", "parameters": {"i": {"name": "Input Digital Surface Model (DSM) Raster", "flags": ["-i", "--input"], "description": "Name of the input digital surface model (DSM) raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Name of the output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "palette": {"name": "DSM Palette", "flags": ["-p", "--palette"], "description": "DSM image palette; options are 'atlas', 'high_relief', 'arid', 'soft', 'muted', 'light_quant', 'purple', 'viridi', 'gn_yl', 'pi_y_g', 'bl_yl_rd', 'deep', and 'none'.", "parameter_type": {"OptionList": ["atlas", "high_relief", "arid", "soft", "muted", "light_quant", "purple", "viridis", "gn_yl", "pi_y_g", "bl_yl_rd", "deep", "none"]}, "default_value": "soft", "optional": true}, "max_dist": {"name": "Maximum Search Distance (xy units)", "flags": ["--max_dist"], "description": "Optional maximum search distance, in xy unites. Minimum value is 5 x cell size.", "parameter_type": "Float", "default_value": "", "optional": true}, "date": {"name": "Date (DD/MM/YYYY)", "flags": ["-d", "--date"], "description": "Date in format DD/MM/YYYY.", "parameter_type": "String", "default_value": "21/06/2021", "optional": true}, "time": {"name": "Time (HH:MM, e.g. 03:15AM or 14:30)", "flags": ["-t", "--time"], "description": "Time in format HH::MM, e.g. 03:15AM or 14:30", "parameter_type": "String", "default_value": "13:00", "optional": true}, "location": {"name": "Lat/Long/UTC-offset (e.g. 43.5448/-80.2482/-4)", "flags": ["--location"], "description": "Location, defined as Lat/Long/UTC-offset (e.g. 43.5448/-80.2482/-4).", "parameter_type": "String", "default_value": "43.5448/-80.2482/-4", "optional": true}}}, "ShapeComplexityIndex": {"name": "ShapeComplexityIndex", "tool_name": "shape_complexity_index", "category": "GIS Analysis", "label": "Shape Complexity Index", "description": "Calculates overall polygon shape complexity or irregularity.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/shape_complexity_index.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#ShapeComplexityIndex", "parameters": {"i": {"name": "Input Vector Polygon File", "flags": ["-i", "--input"], "description": "Input vector polygon file.", "parameter_type": {"ExistingFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}}}, "ShapeComplexityIndexRaster": {"name": "ShapeComplexityIndexRaster", "tool_name": "shape_complexity_index_raster", "category": "GIS Analysis", "label": "Shape Complexity Index Raster", "description": "Calculates the complexity of raster polygons or classes.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/shape_complexity_raster.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#ShapeComplexityIndexRaster", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "ShapeIndex": {"name": "ShapeIndex", "tool_name": "shape_index", "category": "Geomorphometric Analysis", "label": "Shape Index", "description": "This tool calculates the shape index from an input DEM.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#ShapeIndex", "parameters": {"dem": {"name": "Input Raster DEM", "flags": ["-i", "--dem"], "description": "Name of the input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster Image", "flags": ["-o", "--output"], "description": "Name of the output raster image file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "zfactor": {"name": "Z-factor", "flags": ["--zfactor"], "description": "Z conversion factor.", "parameter_type": "Float", "default_value": "1.0", "optional": true}}}, "ShreveStreamMagnitude": {"name": "ShreveStreamMagnitude", "tool_name": "shreve_stream_magnitude", "category": "Stream Network Analysis", "label": "Shreve Stream Magnitude", "description": "Assigns the Shreve stream magnitude to each link in a stream network.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/stream_network_analysis/shreve_magnitude.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/stream_network_analysis.html#ShreveStreamMagnitude", "parameters": {"d8_pntr": {"name": "Input D8 Pointer File", "flags": ["--d8_pntr"], "description": "Input raster D8 pointer file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "streams": {"name": "Input Streams File", "flags": ["--streams"], "description": "Input raster streams file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "esri_pntr": {"name": "Does the pointer file use the ESRI pointer scheme?", "flags": ["--esri_pntr"], "description": "D8 pointer uses the ESRI style scheme.", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "zero_background": {"name": "Should a background value of zero be used?", "flags": ["--zero_background"], "description": "Flag indicating whether a background value of zero should be used.", "parameter_type": "Boolean", "default_value": null, "optional": true}}}, "SigmoidalContrastStretch": {"name": "SigmoidalContrastStretch", "tool_name": "sigmoidal_contrast_stretch", "category": "Image Processing Tools", "label": "Sigmoidal Contrast Stretch", "description": "Performs a sigmoidal contrast stretch on input images.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/sigmoidal_contrast_stretch.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#SigmoidalContrastStretch", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "cutoff": {"name": "Cutoff Value (0.0 - 0.95)", "flags": ["--cutoff"], "description": "Cutoff value between 0.0 and 0.95.", "parameter_type": "Float", "default_value": "0.0", "optional": true}, "gain": {"name": "Gain Value", "flags": ["--gain"], "description": "Gain value.", "parameter_type": "Float", "default_value": "1.0", "optional": false}, "num_tones": {"name": "Number of Tones", "flags": ["--num_tones"], "description": "Number of tones in the output image.", "parameter_type": "Integer", "default_value": "256", "optional": false}}}, "Sin": {"name": "Sin", "tool_name": "sin", "category": "Math and Stats Tools", "label": "Sin", "description": "Returns the sine (sin) of each values in a raster.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/sin.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#Sin", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "SinglePartToMultiPart": {"name": "SinglePartToMultiPart", "tool_name": "single_part_to_multi_part", "category": "Data Tools", "label": "Single Part To Multi Part", "description": "Converts a vector file containing multi-part features into a vector containing only single-part features.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/data_tools/singlepart_to_multipart.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/data_tools.html#SinglePartToMultiPart", "parameters": {"i": {"name": "Input Line or Polygon File", "flags": ["-i", "--input"], "description": "Input vector line or polygon file.", "parameter_type": {"ExistingFile": {"Vector": "Any"}}, "default_value": null, "optional": false}, "field": {"name": "Grouping ID Field Name", "flags": ["--field"], "description": "Grouping ID field name in attribute table.", "parameter_type": {"VectorAttributeField": ["Number", "--input"]}, "default_value": null, "optional": true}, "output": {"name": "Output Line or Polygon File", "flags": ["-o", "--output"], "description": "Output vector line or polygon file.", "parameter_type": {"NewFile": {"Vector": "Any"}}, "default_value": null, "optional": false}}}, "Sinh": {"name": "Sinh", "tool_name": "sinh", "category": "Math and Stats Tools", "label": "Sinh", "description": "Returns the hyperbolic sine (sinh) of each values in a raster.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/sinh.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#Sinh", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "Sink": {"name": "Sink", "tool_name": "sink", "category": "Hydrological Analysis", "label": "Sink", "description": "Identifies the depressions in a DEM, giving each feature a unique identifier.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/sink.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#Sink", "parameters": {"input": {"name": "Input DEM File", "flags": ["-i", "--dem", "--input"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "zero_background": {"name": "Should a background value of zero be used?", "flags": ["--zero_background"], "description": "Flag indicating whether a background value of zero should be used.", "parameter_type": "Boolean", "default_value": null, "optional": true}}}, "SkyViewFactor": {"name": "SkyViewFactor", "tool_name": "sky_view_factor", "category": "Geomorphometric Analysis", "label": "Sky View Factor", "description": "Calculates the sky-view factor (SVF) from an input digital elevation model or digital surface model.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#SkyViewFactor", "parameters": {"dem": {"name": "Input Raster DEM", "flags": ["-i", "--dem"], "description": "Name of the input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster Image", "flags": ["-o", "--output"], "description": "Name of the output raster image file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "az_fraction": {"name": "Azimuth Fraction", "flags": ["--az_fraction"], "description": "Azimuth fraction.", "parameter_type": "Float", "default_value": "5.0", "optional": true}, "max_dist": {"name": "Maximum Distance", "flags": ["--max_dist"], "description": "Maximum distance (xy units).", "parameter_type": "Float", "default_value": "9999.0", "optional": true}, "observer_hgt_offset": {"name": "Oberserver Height Offset", "flags": ["--observer_hgt_offset"], "description": "Oberserver height offset (z units).", "parameter_type": "Float", "default_value": "0.05", "optional": true}}}, "SkylineAnalysis": {"name": "SkylineAnalysis", "tool_name": "skyline_analysis", "category": "Geomorphometric Analysis", "label": "Skyline Analysis", "description": "Performs a skyline analysis for one or more observation points based on the terrain of an underlying DEM.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#SkylineAnalysis", "parameters": {"dem": {"name": "Input Raster DEM", "flags": ["-i", "--dem"], "description": "Name of the input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "points": {"name": "Input Vector Points", "flags": ["--points"], "description": "Name of the input points vector file.", "parameter_type": {"ExistingFile": "Vector"}, "default_value": null, "optional": false}, "output": {"name": "Output Vector", "flags": ["-o", "--output"], "description": "Name of the output vector file.", "parameter_type": {"NewFile": "Vector"}, "default_value": null, "optional": false}, "output_html": {"name": "Output HTML File (*.html)", "flags": ["--output_html"], "description": "Name of the output report file (*.html).", "parameter_type": {"NewFile": "Html"}, "default_value": null, "optional": false}, "max_dist": {"name": "Maximum Distance", "flags": ["--max_dist"], "description": "Maximum distance (xy units).", "parameter_type": "Float", "default_value": "9999.0", "optional": true}, "observer_hgt_offset": {"name": "Oberserver Height Offset", "flags": ["--observer_hgt_offset"], "description": "Oberserver height offset (z units).", "parameter_type": "Float", "default_value": "0.05", "optional": true}, "output_as_polygons": {"name": "Output vectors are polygons?", "flags": ["--output_as_polygons"], "description": "Are the output vectors polygons or lines.", "parameter_type": "Boolean", "default_value": "true", "optional": true}, "az_fraction": {"name": "Azimuth Fraction", "flags": ["--az_fraction"], "description": "Azimuth fraction.", "parameter_type": "Float", "default_value": "1.0", "optional": true}}}, "Slope": {"name": "Slope", "tool_name": "slope", "category": "Geomorphometric Analysis", "label": "Slope", "description": "Calculates a slope raster from an input DEM.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/slope.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#Slope", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "zfactor": {"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}, "units": {"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}}}, "SlopeVsAspectPlot": {"name": "SlopeVsAspectPlot", "tool_name": "slope_vs_aspect_plot", "category": "Geomorphometric Analysis", "label": "Slope Vs Aspect Plot", "description": "This tool creates a slope-aspect relation plot from an input DEM.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#SlopeVsAspectPlot", "parameters": {"i": {"name": "Input Raster Image", "flags": ["-i", "--input"], "description": "Name of the input raster image file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File (*.html)", "flags": ["-o", "--output"], "description": "Name of the output report file (*.html).", "parameter_type": {"NewFile": "Html"}, "default_value": null, "optional": false}, "bin_size": {"name": "Aspect Bin Size (degrees)", "flags": ["--bin_size"], "description": "Aspect bin size, in degrees.", "parameter_type": "Float", "default_value": "2.0", "optional": true}, "min_slope": {"name": "Minimum Slope (degrees)", "flags": ["--min_slope"], "description": "Minimum slope, in degrees.", "parameter_type": "Float", "default_value": "0.1", "optional": true}, "zfactor": {"name": "Z-factor", "flags": ["--zfactor"], "description": "Z conversion factor.", "parameter_type": "Float", "default_value": "1.0", "optional": true}}}, "SlopeVsElevationPlot": {"name": "SlopeVsElevationPlot", "tool_name": "slope_vs_elevation_plot", "category": "Geomorphometric Analysis", "label": "Slope Vs Elevation Plot", "description": "Creates a slope vs. elevation plot for one or more DEMs.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/slope_vs_elev_plot.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#SlopeVsElevationPlot", "parameters": {"inputs": {"name": "Input DEM Files", "flags": ["-i", "--inputs"], "description": "Input DEM files.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "watershed": {"name": "Input Watershed Files (optional)", "flags": ["--watershed"], "description": "Input watershed files (optional).", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": true}, "output": {"name": "Output HTML File", "flags": ["-o", "--output"], "description": "Output HTML file (default name will be based on input file if unspecified).", "parameter_type": {"NewFile": "Html"}, "default_value": null, "optional": false}}}, "SmoothVectors": {"name": "SmoothVectors", "tool_name": "smooth_vectors", "category": "GIS Analysis", "label": "Smooth Vectors", "description": "Smooths a vector coverage of either a POLYLINE or POLYGON base ShapeType.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/smooth_vectors.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#SmoothVectors", "parameters": {"i": {"name": "Input Vector File", "flags": ["-i", "--input"], "description": "Input vector POLYLINE or POLYGON file.", "parameter_type": {"ExistingFile": {"Vector": "Any"}}, "default_value": null, "optional": false}, "output": {"name": "Output Vector File", "flags": ["-o", "--output"], "description": "Output vector file.", "parameter_type": {"NewFile": {"Vector": "Any"}}, "default_value": null, "optional": false}, "filter": {"name": "Filter Size", "flags": ["--filter"], "description": "The filter size, any odd integer greater than or equal to 3; default is 3.", "parameter_type": "Integer", "default_value": "3", "optional": true}}}, "SmoothVegetationResidual": {"name": "SmoothVegetationResidual", "tool_name": "smooth_vegetation_residual", "category": "Geomorphometric Analysis", "label": "Smooth Vegetation Residual", "description": "This tool can smooth the residual roughness due to vegetation cover in LiDAR DEMs.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#SmoothVegetationResidual", "parameters": {"i": {"name": "Input Digital Elevation Model (DEM) Raster", "flags": ["-i", "--input"], "description": "Name of the input digital elevation model (DEM) raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster File", "flags": ["-o", "--output"], "description": "Name of the output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "max_scale": {"name": "Maximum Search Neighbourhood Radius (grid cells)", "flags": ["--max_scale"], "description": "Maximum search neighbourhood radius in grid cells.", "parameter_type": "Integer", "default_value": "30", "optional": true}, "dev_threshold": {"name": "DEVmax Threshold", "flags": ["--dev_threshold"], "description": "DEVmax Threshold.", "parameter_type": "Float", "default_value": "1.0", "optional": true}, "scale_threshold": {"name": "DEVmax Scale Threshold", "flags": ["--scale_threshold"], "description": "DEVmax scale threshold", "parameter_type": "Integer", "default_value": "5", "optional": true}}}, "SnapPourPoints": {"name": "SnapPourPoints", "tool_name": "snap_pour_points", "category": "Hydrological Analysis", "label": "Snap Pour Points", "description": "Moves outlet points used to specify points of interest in a watershedding operation to the cell with the highest flow accumulation in its neighbourhood.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/snap_pour_points.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#SnapPourPoints", "parameters": {"pour_pts": {"name": "Input Pour Points (Outlet) File", "flags": ["--pour_pts"], "description": "Input vector pour points (outlet) file.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "flow_accum": {"name": "Input D8 Flow Accumulation File", "flags": ["--flow_accum"], "description": "Input raster D8 flow accumulation file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output vector file.", "parameter_type": {"NewFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "snap_dist": {"name": "Maximum Snap Distance (map units)", "flags": ["--snap_dist"], "description": "Maximum snap distance in map units.", "parameter_type": "Float", "default_value": null, "optional": false}}}, "SobelFilter": {"name": "SobelFilter", "tool_name": "sobel_filter", "category": "Image Processing Tools", "label": "Sobel Filter", "description": "Performs a Sobel edge-detection filter on an image.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/sobel_filter.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#SobelFilter", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "variant": {"name": "Variant", "flags": ["--variant"], "description": "Optional variant value. Options include 3x3 and 5x5 (default is 3x3).", "parameter_type": {"OptionList": ["3x3", "5x5"]}, "default_value": "3x3", "optional": true}, "clip": {"name": "Clip Tails (%)", "flags": ["--clip"], "description": "Optional amount to clip the distribution tails by, in percent (default is 0.0).", "parameter_type": "Float", "default_value": "0.0", "optional": true}}}, "SortLidar": {"name": "SortLidar", "tool_name": "sort_lidar", "category": "LiDAR Tools", "label": "Sort Lidar", "description": "Sorts LiDAR points based on their properties.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#SortLidar", "parameters": {"i": {"name": "Input LiDAR Points", "flags": ["-i", "--input"], "description": "Name of the input LiDAR points.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": true}, "output": {"name": "Output LiDAR Points", "flags": ["-o", "--output"], "description": "Name of the output LiDAR points.", "parameter_type": {"NewFile": "Lidar"}, "default_value": null, "optional": true}, "criteria": {"name": "Sort Criteria:", "flags": ["-c", "--criteria"], "description": "Sort criteria e.g. 'x 50.0, y 50.0, z'; criteria may include x, y, z, intensity, class, user_data, point_source_id, and scan_angle", "parameter_type": "String", "default_value": "", "optional": false}}}, "SphericalStdDevOfNormals": {"name": "SphericalStdDevOfNormals", "tool_name": "spherical_std_dev_of_normals", "category": "Geomorphometric Analysis", "label": "Spherical Std Dev Of Normals", "description": "Calculates the spherical standard deviation of surface normals for a DEM.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/spherical_std_dev_of_normals.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#SphericalStdDevOfNormals", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster File", "flags": ["--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "filter": {"name": "Filter Dimension", "flags": ["--filter"], "description": "Size of the filter kernel.", "parameter_type": "Integer", "default_value": "11", "optional": true}}}, "SplitColourComposite": {"name": "SplitColourComposite", "tool_name": "split_colour_composite", "category": "Image Processing Tools", "label": "Split Colour Composite", "description": "Splits an RGB colour composite image into separate multispectral images.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/split_colour_composite.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#SplitColourComposite", "parameters": {"i": {"name": "Input Colour Composite Image File", "flags": ["-i", "--input"], "description": "Input colour composite image file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "red": {"name": "Output Red Band File", "flags": ["--red"], "description": "Output red band file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": true}, "green": {"name": "Output Green Band File", "flags": ["--green"], "description": "Output green band file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": true}, "blue": {"name": "Output Blue Band File", "flags": ["--blue"], "description": "Output blue band file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": true}}}, "SplitLidar": {"name": "SplitLidar", "tool_name": "split_lidar", "category": "LiDAR Tools", "label": "Split Lidar", "description": "Splits LiDAR points up into a series of new files based on their properties.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#SplitLidar", "parameters": {"i": {"name": "Input LiDAR Points", "flags": ["-i", "--input"], "description": "Name of the input LiDAR points.", "parameter_type": {"ExistingFile": "Lidar"}, "default_value": null, "optional": true}, "criterion": {"name": "Split Criterion", "flags": ["--criterion"], "description": "Criterion on which to base the split of the input file. Options include 'num_pts, 'x', 'y', 'z', intensity, 'class', 'user_data', 'point_source_id', 'scan_angle', 'time'", "parameter_type": {"OptionList": ["num_pts", "x", "y", "z", "intensity", "class", "user_data", "point_source_id", "scan_angle", "time"]}, "default_value": "num_pts", "optional": false}, "interval": {"name": "Interval", "flags": ["--interval"], "description": "Interval", "parameter_type": "Float", "default_value": "", "optional": true}, "min_pts": {"name": "Minimum Number of Points", "flags": ["--min_pts"], "description": "Minimum number of points in an output file", "parameter_type": "Integer", "default_value": "5", "optional": true}}}, "SplitWithLines": {"name": "SplitWithLines", "tool_name": "split_with_lines", "category": "GIS Analysis", "label": "Split With Lines", "description": "Splits the lines or polygons in one layer using the lines in another layer.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/split_with_lines.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#SplitWithLines", "parameters": {"i": {"name": "Input Vector Lines or Polygon File", "flags": ["-i", "--input"], "description": "Input vector line or polygon file.", "parameter_type": {"ExistingFile": {"Vector": "Any"}}, "default_value": null, "optional": false}, "split": {"name": "Input Vector Lines File", "flags": ["--split"], "description": "Input vector polyline file.", "parameter_type": {"ExistingFile": {"Vector": "Line"}}, "default_value": null, "optional": false}, "output": {"name": "Output Vector File", "flags": ["-o", "--output"], "description": "Output vector file.", "parameter_type": {"NewFile": {"Vector": "Any"}}, "default_value": null, "optional": false}}}, "Square": {"name": "Square", "tool_name": "square", "category": "Math and Stats Tools", "label": "Square", "description": "Squares the values in a raster.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/square.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#Square", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "SquareRoot": {"name": "SquareRoot", "tool_name": "square_root", "category": "Math and Stats Tools", "label": "Square Root", "description": "Returns the square root of the values in a raster.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/sqrt.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#SquareRoot", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "StandardDeviationContrastStretch": {"name": "StandardDeviationContrastStretch", "tool_name": "standard_deviation_contrast_stretch", "category": "Image Processing Tools", "label": "Standard Deviation Contrast Stretch", "description": "Performs a standard-deviation contrast stretch on input images.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/stdev_contrast_stretch.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#StandardDeviationContrastStretch", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "stdev": {"name": "Standard Deviation Threshold", "flags": ["--clip", "--stdev"], "description": "Standard deviation clip value.", "parameter_type": "Float", "default_value": "2.0", "optional": false}, "num_tones": {"name": "Number of Tones", "flags": ["--num_tones"], "description": "Number of tones in the output image.", "parameter_type": "Integer", "default_value": "256", "optional": false}}}, "StandardDeviationFilter": {"name": "StandardDeviationFilter", "tool_name": "standard_deviation_filter", "category": "Image Processing Tools", "label": "Standard Deviation Filter", "description": "Assigns each cell in the output grid the standard deviation of values in a moving window centred on each grid cell in the input raster.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/stdev_filter.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#StandardDeviationFilter", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "filterx": {"name": "Filter X-Dimension", "flags": ["--filterx"], "description": "Size of the filter kernel in the x-direction.", "parameter_type": "Integer", "default_value": "11", "optional": true}, "filtery": {"name": "Filter Y-Dimension", "flags": ["--filtery"], "description": "Size of the filter kernel in the y-direction.", "parameter_type": "Integer", "default_value": "11", "optional": true}}}, "StandardDeviationOfSlope": {"name": "StandardDeviationOfSlope", "tool_name": "standard_deviation_of_slope", "category": "Geomorphometric Analysis", "label": "Standard Deviation Of Slope", "description": "Calculates the standard deviation of slope from an input DEM.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/standard_deviation_of_slope.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#StandardDeviationOfSlope", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster DEM file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "zfactor": {"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}, "filterx": {"name": "Filter X-Dimension", "flags": ["--filterx"], "description": "Size of the filter kernel in the x-direction.", "parameter_type": "Integer", "default_value": "11", "optional": true}, "filtery": {"name": "Filter Y-Dimension", "flags": ["--filtery"], "description": "Size of the filter kernel in the y-direction.", "parameter_type": "Integer", "default_value": "11", "optional": true}}}, "StochasticDepressionAnalysis": {"name": "StochasticDepressionAnalysis", "tool_name": "stochastic_depression_analysis", "category": "Hydrological Analysis", "label": "Stochastic Depression Analysis", "description": "Performs a stochastic analysis of depressions within a DEM.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/stochastic_depression_analysis.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#StochasticDepressionAnalysis", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "rmse": {"name": "DEM root-mean-square-error (z units)", "flags": ["--rmse"], "description": "The DEM's root-mean-square-error (RMSE), in z units. This determines error magnitude.", "parameter_type": "Float", "default_value": null, "optional": false}, "range": {"name": "Range of Autocorrelation (map units)", "flags": ["--range"], "description": "The error field's correlation length, in xy-units.", "parameter_type": "Float", "default_value": null, "optional": false}, "iterations": {"name": "Iterations", "flags": ["--iterations"], "description": "The number of iterations.", "parameter_type": "Integer", "default_value": "100", "optional": true}}}, "StrahlerOrderBasins": {"name": "StrahlerOrderBasins", "tool_name": "strahler_order_basins", "category": "Hydrological Analysis", "label": "Strahler Order Basins", "description": "Identifies Strahler-order basins from an input stream network.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/strahler_basins.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#StrahlerOrderBasins", "parameters": {"d8_pntr": {"name": "Input D8 Pointer File", "flags": ["--d8_pntr"], "description": "Input raster D8 pointer file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "streams": {"name": "Input Streams File", "flags": ["--streams"], "description": "Input raster streams file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "esri_pntr": {"name": "Does the pointer file use the ESRI pointer scheme?", "flags": ["--esri_pntr"], "description": "D8 pointer uses the ESRI style scheme.", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "StrahlerStreamOrder": {"name": "StrahlerStreamOrder", "tool_name": "strahler_stream_order", "category": "Stream Network Analysis", "label": "Strahler Stream Order", "description": "Assigns the Strahler stream order to each link in a stream network.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/stream_network_analysis/strahler_order.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/stream_network_analysis.html#StrahlerStreamOrder", "parameters": {"d8_pntr": {"name": "Input D8 Pointer File", "flags": ["--d8_pntr"], "description": "Input raster D8 pointer file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "streams": {"name": "Input Streams File", "flags": ["--streams"], "description": "Input raster streams file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "esri_pntr": {"name": "Does the pointer file use the ESRI pointer scheme?", "flags": ["--esri_pntr"], "description": "D8 pointer uses the ESRI style scheme.", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "zero_background": {"name": "Should a background value of zero be used?", "flags": ["--zero_background"], "description": "Flag indicating whether a background value of zero should be used.", "parameter_type": "Boolean", "default_value": null, "optional": true}}}, "StreamLinkClass": {"name": "StreamLinkClass", "tool_name": "stream_link_class", "category": "Stream Network Analysis", "label": "Stream Link Class", "description": "Identifies the exterior/interior links and nodes in a stream network.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/stream_network_analysis/stream_link_class.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/stream_network_analysis.html#StreamLinkClass", "parameters": {"d8_pntr": {"name": "Input D8 Pointer File", "flags": ["--d8_pntr"], "description": "Input raster D8 pointer file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "streams": {"name": "Input Streams File", "flags": ["--streams"], "description": "Input raster streams file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "esri_pntr": {"name": "Does the pointer file use the ESRI pointer scheme?", "flags": ["--esri_pntr"], "description": "D8 pointer uses the ESRI style scheme.", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "zero_background": {"name": "Should a background value of zero be used?", "flags": ["--zero_background"], "description": "Flag indicating whether a background value of zero should be used.", "parameter_type": "Boolean", "default_value": null, "optional": true}}}, "StreamLinkIdentifier": {"name": "StreamLinkIdentifier", "tool_name": "stream_link_identifier", "category": "Stream Network Analysis", "label": "Stream Link Identifier", "description": "Assigns a unique identifier to each link in a stream network.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/stream_network_analysis/stream_link_id.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/stream_network_analysis.html#StreamLinkIdentifier", "parameters": {"d8_pntr": {"name": "Input D8 Pointer File", "flags": ["--d8_pntr"], "description": "Input raster D8 pointer file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "streams": {"name": "Input Streams File", "flags": ["--streams"], "description": "Input raster streams file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "esri_pntr": {"name": "Does the pointer file use the ESRI pointer scheme?", "flags": ["--esri_pntr"], "description": "D8 pointer uses the ESRI style scheme.", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "zero_background": {"name": "Should a background value of zero be used?", "flags": ["--zero_background"], "description": "Flag indicating whether a background value of zero should be used.", "parameter_type": "Boolean", "default_value": null, "optional": true}}}, "StreamLinkLength": {"name": "StreamLinkLength", "tool_name": "stream_link_length", "category": "Stream Network Analysis", "label": "Stream Link Length", "description": "Estimates the length of each link (or tributary) in a stream network.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/stream_network_analysis/stream_link_length.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/stream_network_analysis.html#StreamLinkLength", "parameters": {"d8_pntr": {"name": "Input D8 Pointer File", "flags": ["--d8_pntr"], "description": "Input raster D8 pointer file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "linkid": {"name": "Input Stream Link (Tributary) ID File", "flags": ["--linkid"], "description": "Input raster streams link ID (or tributary ID) file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "esri_pntr": {"name": "Does the pointer file use the ESRI pointer scheme?", "flags": ["--esri_pntr"], "description": "D8 pointer uses the ESRI style scheme.", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "zero_background": {"name": "Should a background value of zero be used?", "flags": ["--zero_background"], "description": "Flag indicating whether a background value of zero should be used.", "parameter_type": "Boolean", "default_value": null, "optional": true}}}, "StreamLinkSlope": {"name": "StreamLinkSlope", "tool_name": "stream_link_slope", "category": "Stream Network Analysis", "label": "Stream Link Slope", "description": "Estimates the average slope of each link (or tributary) in a stream network.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/stream_network_analysis/stream_link_slope.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/stream_network_analysis.html#StreamLinkSlope", "parameters": {"d8_pntr": {"name": "Input D8 Pointer File", "flags": ["--d8_pntr"], "description": "Input raster D8 pointer file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "linkid": {"name": "Input Stream Link (Tributary) ID File", "flags": ["--linkid"], "description": "Input raster streams link ID (or tributary ID) file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "esri_pntr": {"name": "Does the pointer file use the ESRI pointer scheme?", "flags": ["--esri_pntr"], "description": "D8 pointer uses the ESRI style scheme.", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "zero_background": {"name": "Should a background value of zero be used?", "flags": ["--zero_background"], "description": "Flag indicating whether a background value of zero should be used.", "parameter_type": "Boolean", "default_value": null, "optional": true}}}, "StreamPowerIndex": {"name": "StreamPowerIndex", "tool_name": "stream_power_index", "category": "Geomorphometric Analysis", "label": "Stream Power Index", "description": "Calculates the relative stream power index.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/relative_stream_power_index.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#StreamPowerIndex", "parameters": {"sca": {"name": "Input Specific Contributing Area (SCA) File", "flags": ["--sca"], "description": "Input raster specific contributing area (SCA) file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "slope": {"name": "Input Slope File", "flags": ["--slope"], "description": "Input raster slope file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "exponent": {"name": "Specific Contributing Area (SCA) Exponent", "flags": ["--exponent"], "description": "SCA exponent value.", "parameter_type": "Float", "default_value": "1.0", "optional": false}}}, "StreamSlopeContinuous": {"name": "StreamSlopeContinuous", "tool_name": "stream_slope_continuous", "category": "Stream Network Analysis", "label": "Stream Slope Continuous", "description": "Estimates the slope of each grid cell in a stream network.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/stream_network_analysis/stream_slope_continuous.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/stream_network_analysis.html#StreamSlopeContinuous", "parameters": {"d8_pntr": {"name": "Input D8 Pointer File", "flags": ["--d8_pntr"], "description": "Input raster D8 pointer file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "streams": {"name": "Input Streams File", "flags": ["--streams"], "description": "Input raster streams file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "esri_pntr": {"name": "Does the pointer file use the ESRI pointer scheme?", "flags": ["--esri_pntr"], "description": "D8 pointer uses the ESRI style scheme.", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "zero_background": {"name": "Should a background value of zero be used?", "flags": ["--zero_background"], "description": "Flag indicating whether a background value of zero should be used.", "parameter_type": "Boolean", "default_value": null, "optional": true}}}, "Subbasins": {"name": "Subbasins", "tool_name": "subbasins", "category": "Hydrological Analysis", "label": "Subbasins", "description": "Identifies the catchments, or sub-basin, draining to each link in a stream network.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/subbasins.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#Subbasins", "parameters": {"d8_pntr": {"name": "Input D8 Pointer File", "flags": ["--d8_pntr"], "description": "Input D8 pointer raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "streams": {"name": "Input Streams File", "flags": ["--streams"], "description": "Input raster streams file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "esri_pntr": {"name": "Does the pointer file use the ESRI pointer scheme?", "flags": ["--esri_pntr"], "description": "D8 pointer uses the ESRI style scheme.", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "Subtract": {"name": "Subtract", "tool_name": "subtract", "category": "Math and Stats Tools", "label": "Subtract", "description": "Performs a differencing operation on two rasters or a raster and a constant value.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/subtract.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#Subtract", "parameters": {"input1": {"name": "Input File Or Constant Value", "flags": ["--input1"], "description": "Input raster file or constant value.", "parameter_type": {"ExistingFileOrFloat": "Raster"}, "default_value": null, "optional": false}, "input2": {"name": "Input File Or Constant Value", "flags": ["--input2"], "description": "Input raster file or constant value.", "parameter_type": {"ExistingFileOrFloat": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "SumOverlay": {"name": "SumOverlay", "tool_name": "sum_overlay", "category": "GIS Analysis", "label": "Sum Overlay", "description": "Calculates the sum for each grid cell from a group of raster images.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/sum_overlay.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#SumOverlay", "parameters": {"inputs": {"name": "Input Files", "flags": ["-i", "--inputs"], "description": "Input raster files.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "SurfaceAreaRatio": {"name": "SurfaceAreaRatio", "tool_name": "surface_area_ratio", "category": "Geomorphometric Analysis", "label": "Surface Area Ratio", "description": "Calculates a the surface area ratio of each grid cell in an input DEM.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/surface_area_ratio.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#SurfaceAreaRatio", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "SvmClassification": {"name": "SvmClassification", "tool_name": "svm_classification", "category": "Machine Learning", "label": "Svm Classification", "description": "Performs an SVM binary classification using training site polygons/points and multiple input images.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/machine_learning.html#SvmClassification", "parameters": {"inputs": {"name": "Input Predictor Rasters", "flags": ["-i", "--inputs"], "description": "Names of the input predictor rasters.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "scaling": {"name": "Scaling Method", "flags": ["--scaling"], "description": "Scaling method for predictors. Options include 'None', 'Normalize', and 'Standardize'", "parameter_type": {"OptionList": ["None", "Normalize", "Standardize"]}, "default_value": "Normalize", "optional": true}, "training": {"name": "Input Training Polygons/Points", "flags": ["-t", "--training"], "description": "Name of the input training site polygons/points Shapefile.", "parameter_type": {"ExistingFile": {"Vector": "Any"}}, "default_value": null, "optional": false}, "field": {"name": "Class Field Name", "flags": ["-f", "--field"], "description": "Name of the attribute containing class data.", "parameter_type": {"VectorAttributeField": ["Any", "--training"]}, "default_value": null, "optional": false}, "output": {"name": "Output Raster File", "flags": ["-o", "--output"], "description": "Name of the output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": true}, "c": {"name": "c-Value", "flags": ["-c"], "description": "c-value, the regularization parameter.", "parameter_type": "Float", "default_value": "200.0", "optional": true}, "gamma": {"name": "Kernel Gamma", "flags": ["--gamma"], "description": "Gamma parameter used in setting the RBF (Gaussian) kernel function.", "parameter_type": "Float", "default_value": "50.0", "optional": true}, "tolerance": {"name": "Tolerance", "flags": ["--tolerance"], "description": "The tolerance parameter used in determining the stopping condition.", "parameter_type": "Float", "default_value": "0.1", "optional": true}, "test_proportion": {"name": "Test Proportion", "flags": ["--test_proportion"], "description": "The proportion of the dataset to include in the test split; default is 0.2.", "parameter_type": "Float", "default_value": "0.2", "optional": true}}}, "SvmRegression": {"name": "SvmRegression", "tool_name": "svm_regression", "category": "Machine Learning", "label": "Svm Regression", "description": "Performs a supervised SVM regression analysis using training site points and predictor rasters.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/machine_learning.html#SvmRegression", "parameters": {"inputs": {"name": "Input Predictor Rasters", "flags": ["-i", "--inputs"], "description": "Names of the input predictor rasters.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "scaling": {"name": "Scaling Method", "flags": ["--scaling"], "description": "Scaling method for predictors. Options include 'None', 'Normalize', and 'Standardize'", "parameter_type": {"OptionList": ["None", "Normalize", "Standardize"]}, "default_value": "Normalize", "optional": true}, "training": {"name": "Input Training Polygons/Points", "flags": ["-t", "--training"], "description": "Name of the input training site points Shapefile.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "field": {"name": "Class Field Name", "flags": ["-f", "--field"], "description": "Name of the attribute containing class data.", "parameter_type": {"VectorAttributeField": ["Any", "--training"]}, "default_value": null, "optional": false}, "output": {"name": "Output Raster File", "flags": ["-o", "--output"], "description": "Name of the output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": true}, "c": {"name": "c-Value", "flags": ["-c"], "description": "c-value, the regularization parameter.", "parameter_type": "Float", "default_value": "50.0", "optional": true}, "eps": {"name": "Epsilon Value", "flags": ["--eps"], "description": "Epsilon in the epsilon-SVR model.", "parameter_type": "Float", "default_value": "10.0", "optional": true}, "gamma": {"name": "Kernel Gamma", "flags": ["--gamma"], "description": "Gamma parameter used in setting the RBF (Gaussian) kernel function.", "parameter_type": "Float", "default_value": "0.5", "optional": true}, "test_proportion": {"name": "Test Proportion", "flags": ["--test_proportion"], "description": "The proportion of the dataset to include in the test split; default is 0.2.", "parameter_type": "Float", "default_value": "0.2", "optional": true}}}, "SymmetricalDifference": {"name": "SymmetricalDifference", "tool_name": "symmetrical_difference", "category": "GIS Analysis", "label": "Symmetrical Difference", "description": "Outputs the features that occur in one of the two vector inputs but not both, i.e. no overlapping features.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/symmetrical_difference.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#SymmetricalDifference", "parameters": {"i": {"name": "Input Vector File", "flags": ["-i", "--input"], "description": "Input vector file.", "parameter_type": {"ExistingFile": {"Vector": "Any"}}, "default_value": null, "optional": false}, "overlay": {"name": "Input Overlay Vector File", "flags": ["--overlay"], "description": "Input overlay vector file.", "parameter_type": {"ExistingFile": {"Vector": "Any"}}, "default_value": null, "optional": false}, "output": {"name": "Output Vector File", "flags": ["-o", "--output"], "description": "Output vector file.", "parameter_type": {"NewFile": {"Vector": "Any"}}, "default_value": null, "optional": false}, "snap": {"name": "Snap Tolerance", "flags": ["--snap"], "description": "Snap tolerance.", "parameter_type": "Float", "default_value": "0.0", "optional": true}}}, "TinGridding": {"name": "TinGridding", "tool_name": "tin_gridding", "category": "GIS Analysis", "label": "Tin Gridding", "description": "Creates a raster grid based on a triangular irregular network (TIN) fitted to vector points.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/tin_gridding.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#TinGridding", "parameters": {"i": {"name": "Input Vector Points File", "flags": ["-i", "--input"], "description": "Input vector points file.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "field": {"name": "Field Name", "flags": ["--field"], "description": "Input field name in attribute table.", "parameter_type": {"VectorAttributeField": ["Number", "--input"]}, "default_value": null, "optional": true}, "use_z": {"name": "Use Shapefile 'z' values?", "flags": ["--use_z"], "description": "Use the 'z' dimension of the Shapefile's geometry instead of an attribute field?", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "output": {"name": "Output Raster File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "resolution": {"name": "Grid Resolution", "flags": ["--resolution"], "description": "Output raster's grid resolution.", "parameter_type": "Float", "default_value": null, "optional": true}, "base": {"name": "Base Raster File (optional)", "flags": ["--base"], "description": "Optionally specified input base raster file. Not used when a cell size is specified.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": true}, "max_triangle_edge_length": {"name": "Maximum Triangle Edge Length (optional)", "flags": ["--max_triangle_edge_length"], "description": "Optional maximum triangle edge length; triangles larger than this size will not be gridded.", "parameter_type": "Float", "default_value": null, "optional": true}}}, "Tan": {"name": "Tan", "tool_name": "tan", "category": "Math and Stats Tools", "label": "Tan", "description": "Returns the tangent (tan) of each values in a raster.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/tan.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#Tan", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "TangentialCurvature": {"name": "TangentialCurvature", "tool_name": "tangential_curvature", "category": "Geomorphometric Analysis", "label": "Tangential Curvature", "description": "Calculates a tangential curvature raster from an input DEM.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/tan_curvature.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#TangentialCurvature", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "log": {"name": "Log-transform the output?", "flags": ["--log"], "description": "Display output values using a log-scale.", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "zfactor": {"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}}}, "Tanh": {"name": "Tanh", "tool_name": "tanh", "category": "Math and Stats Tools", "label": "Tanh", "description": "Returns the hyperbolic tangent (tanh) of each values in a raster.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/tanh.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#Tanh", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "ThickenRasterLine": {"name": "ThickenRasterLine", "tool_name": "thicken_raster_line", "category": "Image Processing Tools", "label": "Thicken Raster Line", "description": "Thickens single-cell wide lines within a raster image.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/thicken_line.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#ThickenRasterLine", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "TimeInDaylight": {"name": "TimeInDaylight", "tool_name": "time_in_daylight", "category": "Geomorphometric Analysis", "label": "Time In Daylight", "description": "Calculates the proportion of time a location is not within an area of shadow.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/time_in_daylight.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#TimeInDaylight", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "az_fraction": {"name": "Azimuth Fraction", "flags": ["--az_fraction"], "description": "Azimuth fraction in degrees.", "parameter_type": "Float", "default_value": "10.0", "optional": false}, "max_dist": {"name": "Maximum Search Distance", "flags": ["--max_dist"], "description": "Optional maximum search distance. Minimum value is 5 x cell size.", "parameter_type": "Float", "default_value": "100.0", "optional": false}, "lat": {"name": "Centre Point Latitude", "flags": ["--lat"], "description": "Centre point latitude.", "parameter_type": "Float", "default_value": null, "optional": false}, "long": {"name": "Centre Point Longitude", "flags": ["--long"], "description": "Centre point longitude.", "parameter_type": "Float", "default_value": null, "optional": false}, "utc_offset": {"name": "UTC Offset (e.g. -04:00, +06:00)", "flags": ["--utc_offset"], "description": "UTC time offset, in hours (e.g. -04:00, +06:00).", "parameter_type": "String", "default_value": "00:00", "optional": true}, "start_day": {"name": "Start Day Of The Year (1-365)", "flags": ["--start_day"], "description": "Start day of the year (1-365).", "parameter_type": "Integer", "default_value": "1", "optional": true}, "end_day": {"name": "End Day Of The Year (1-365)", "flags": ["--end_day"], "description": "End day of the year (1-365).", "parameter_type": "Integer", "default_value": "365", "optional": true}, "start_time": {"name": "Starting Hour (24-hour time: HH:MM:SS e.g. 05:00:00)", "flags": ["--start_time"], "description": "Starting hour to track shadows (e.g. 5, 5:00, 05:00:00). Assumes 24-hour time: HH:MM:SS. 'sunrise' is also a valid time.", "parameter_type": "String", "default_value": "00:00:00", "optional": true}, "end_time": {"name": "Ending Hour (24-hour time: HH:MM:SS e.g. 21:00:00)", "flags": ["--end_time"], "description": "Ending hour to track shadows (e.g. 21, 21:00, 21:00:00). Assumes 24-hour time: HH:MM:SS. 'sunset' is also a valid time.", "parameter_type": "String", "default_value": "23:59:59", "optional": true}}}, "ToDegrees": {"name": "ToDegrees", "tool_name": "to_degrees", "category": "Math and Stats Tools", "label": "To Degrees", "description": "Converts a raster from radians to degrees.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/to_degrees.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#ToDegrees", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "ToRadians": {"name": "ToRadians", "tool_name": "to_radians", "category": "Math and Stats Tools", "label": "To Radians", "description": "Converts a raster from degrees to radians.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/to_radians.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#ToRadians", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "TophatTransform": {"name": "TophatTransform", "tool_name": "tophat_transform", "category": "Image Processing Tools", "label": "Tophat Transform", "description": "Performs either a white or black top-hat transform on an input image.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/tophat.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#TophatTransform", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "filterx": {"name": "Filter X-Dimension", "flags": ["--filterx"], "description": "Size of the filter kernel in the x-direction.", "parameter_type": "Integer", "default_value": "11", "optional": true}, "filtery": {"name": "Filter Y-Dimension", "flags": ["--filtery"], "description": "Size of the filter kernel in the y-direction.", "parameter_type": "Integer", "default_value": "11", "optional": true}, "variant": {"name": "Variant", "flags": ["--variant"], "description": "Optional variant value. Options include 'white' and 'black'.", "parameter_type": {"OptionList": ["white", "black"]}, "default_value": "white", "optional": true}}}, "TopoRender": {"name": "TopoRender", "tool_name": "topo_render", "category": "Geomorphometric Analysis", "label": "Topo Render", "description": "This tool creates a pseudo-3D rendering from an input DEM, for the purpose of effective topographic visualization.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#TopoRender", "parameters": {"dem": {"name": "Input Digital Elevation Model (DEM) Raster", "flags": ["-i", "--input", "--dem"], "description": "Name of the input digital elevation model (DEM) raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Name of the output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "palette": {"name": "Palette", "flags": ["-p", "--palette"], "description": "Palette name; options are 'atlas', 'high_relief', 'arid', 'soft', 'earthtones', 'muted', 'light_quant', 'purple', 'viridi', 'gn_yl', 'pi_y_g', 'bl_yl_rd', 'deep', 'imhof', and 'white'.", "parameter_type": {"OptionList": ["atlas", "high_relief", "arid", "soft", "earthtones", "muted", "light_quant", "purple", "viridis", "gn_yl", "pi_y_g", "bl_yl_rd", "deep", "imhof", "white"]}, "default_value": "soft", "optional": true}, "rev_palette": {"name": "Reverse the palette?", "flags": ["--rev_palette"], "description": "Reverse the palette?", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "az": {"name": "Light Source Direction (degrees)", "flags": ["--az"], "description": "Light source azimuth direction (degrees, 0-360).", "parameter_type": "Float", "default_value": "315.0", "optional": true}, "alt": {"name": "Light Source Altitude (degrees)", "flags": ["--alt"], "description": "Light source altitude (degrees, 0-90).", "parameter_type": "Float", "default_value": "30.0", "optional": true}, "background_hgt_offset": {"name": "Offset Height of Background (z-units)", "flags": ["--background_hgt_offset"], "description": "Offset height of background, in z-units.", "parameter_type": "Float", "default_value": "10.0", "optional": true}, "polygon": {"name": "Clipping Polygon", "flags": ["--polygon"], "description": "Clipping polygon vector file (optional).", "parameter_type": {"ExistingFile": {"Vector": "Polygon"}}, "default_value": null, "optional": true}, "background_clr": {"name": "Background RGB colour", "flags": ["--background_clr"], "description": "Background red-green-blue (RGB) or red-green-blue-alpha (RGBA) colour, e.g. '[255, 255, 245]', '[255, 255, 245, 200]'", "parameter_type": "String", "default_value": "[255, 255, 255]", "optional": true}, "attenuation": {"name": "Attenuation Parameter", "flags": ["--attenuation"], "description": "Attenuation parameter. Range is 0-4. Zero means no attenuation.", "parameter_type": "Float", "default_value": "0.3", "optional": true}, "ambient_light": {"name": "Ambient Light", "flags": ["--ambient_light"], "description": "Ambient light parameter. Range is 0.0-0.7. Zero means no ambient light.", "parameter_type": "Float", "default_value": "0.2", "optional": true}, "z_factor": {"name": "Elevation Multiplier", "flags": ["--z_factor"], "description": "Elevation multiplier, or a vertical exageration.", "parameter_type": "Float", "default_value": "1.0", "optional": true}}}, "TopographicHachures": {"name": "TopographicHachures", "tool_name": "topographic_hachures", "category": "Geomorphometric Analysis", "label": "Topographic Hachures", "description": "Derives topographic hachures from a raster surface.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/topographic_hachures.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#TopographicHachures", "parameters": {"i": {"name": "Input Raster Surface File", "flags": ["-i", "--input"], "description": "Input surface raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Topographic Hachures File", "flags": ["-o", "--output"], "description": "Output Topographic Hachures File.", "parameter_type": {"NewFile": {"Vector": "Line"}}, "default_value": null, "optional": false}, "interval": {"name": "Contour Interval", "flags": ["--interval"], "description": "Contour interval.", "parameter_type": "Float", "default_value": "10.0", "optional": false}, "base": {"name": "Base Contour", "flags": ["--base"], "description": "Base contour height.", "parameter_type": "Float", "default_value": "0.0", "optional": true}, "smooth": {"name": "Smoothing Filter Size", "flags": ["--smooth"], "description": "Smoothing filter size (in num. points), e.g. 3, 5, 7, 9, 11...", "parameter_type": "Integer", "default_value": "9", "optional": true}, "tolerance": {"name": "Tolerance", "flags": ["--tolerance"], "description": "Tolerance factor, in degrees (0-45); determines generalization level.", "parameter_type": "Float", "default_value": "10.0", "optional": true}, "sep": {"name": "Seed separation", "flags": ["--sep"], "description": "Separation distance between seed points of hachures (in pixels).", "parameter_type": "Float", "default_value": "2", "optional": false}, "distmin": {"name": "Minimum distance", "flags": ["--distmin"], "description": "Minimum distance between converging flowlines (in relation to seed separation).", "parameter_type": "Float", "default_value": "0.5", "optional": false}, "distmax": {"name": "Maximum distance", "flags": ["--distmax"], "description": "Maximum distance between diverging flowlines (in relation to seed separation).", "parameter_type": "Float", "default_value": "2", "optional": false}, "discr": {"name": "Discretization", "flags": ["--discr"], "description": "Discretization step used in tracing the flowline (in pixels).", "parameter_type": "Float", "default_value": "0.5", "optional": false}, "turnmax": {"name": "Maximum turning angle", "flags": ["--turnmax"], "description": "Maximum turning angle valid for hachure (in degrees, 0-90)", "parameter_type": "Float", "default_value": "45.0", "optional": false}, "slopemin": {"name": "Minimum slope angle", "flags": ["--slopemin"], "description": "Slope angle, in degrees, at which flowline tracing ends (in degrees, 0-90)", "parameter_type": "Float", "default_value": "0.5", "optional": false}, "depthmax": {"name": "Nesting depth", "flags": ["--depthmax"], "description": "Maximum depth of nested flowlines, inserted within divergence areas (0-255)", "parameter_type": "Float", "default_value": "16", "optional": false}}}, "TopographicPositionAnimation": {"name": "TopographicPositionAnimation", "tool_name": "topographic_position_animation", "category": "Geomorphometric Analysis", "label": "Topographic Position Animation", "description": "This tool creates an animated GIF of multi-scale local topographic position (elevation deviation).", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#TopographicPositionAnimation", "parameters": {"i": {"name": "Input Digital Elevation Model (DEM) Raster", "flags": ["-i", "--input"], "description": "Name of the input digital elevation model (DEM) raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "palette": {"name": "Palette", "flags": ["-p", "--palette"], "description": "Image palette; options are 'bl_yl_rd', 'bl_w_rd', 'purple', 'gn_yl', 'pi_y_g', and 'viridis'.", "parameter_type": {"OptionList": ["bl_yl_rd", "bl_w_rd", "purple", "gn_yl", "pi_y_g", "viridis"]}, "default_value": "bl_yl_rd", "optional": true}, "output": {"name": "Output File (*.html)", "flags": ["-o", "--output"], "description": "Name of the output HTML file (*.html).", "parameter_type": {"NewFile": "Html"}, "default_value": null, "optional": false}, "min_scale": {"name": "Minimum Search Neighbourhood Radius (grid cells)", "flags": ["--min_scale"], "description": "Minimum search neighbourhood radius in grid cells.", "parameter_type": "Integer", "default_value": "1", "optional": true}, "num_steps": {"name": "Number of Steps", "flags": ["--num_steps"], "description": "Number of steps.", "parameter_type": "Integer", "default_value": "100", "optional": true}, "step_nonlinearity": {"name": "Step Nonlinearity", "flags": ["--step_nonlinearity"], "description": "Step nonlinearity factor (1.0-2.0 is typical)", "parameter_type": "Float", "default_value": "1.5", "optional": true}, "height": {"name": "Image Height (in pixels)", "flags": ["--height"], "description": "Image height, in pixels.", "parameter_type": "Integer", "default_value": "600", "optional": true}, "delay": {"name": "Delay (in milliseconds)", "flags": ["--delay"], "description": "GIF time delay in milliseconds.", "parameter_type": "Integer", "default_value": "250", "optional": true}, "label": {"name": "Label text (blank for none)", "flags": ["-l", "--label"], "description": "Label text (leave blank for none)", "parameter_type": "String", "default_value": "", "optional": true}, "dev_max": {"name": "Use DEVmax for topo position?", "flags": ["--dev_max"], "description": "Do you want to use DEVmax instead of DEV for measuring local topographic position?", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "TopologicalBreachBurn": {"name": "TopologicalBreachBurn", "tool_name": "topological_breach_burn", "category": "Hydrological Analysis", "label": "Topological Breach Burn", "description": "This tool burns streams into a DEM using the topological breach-burn method of Lindsay (2016).", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#TopologicalBreachBurn", "parameters": {"streams": {"name": "Input Streams Vector", "flags": ["--streams"], "description": "Name of the input streams vector file.", "parameter_type": {"ExistingFile": {"Vector": "Line"}}, "default_value": null, "optional": false}, "dem": {"name": "Input DEM Raster", "flags": ["--dem"], "description": "Name of the input DEM raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "out_streams": {"name": "Output Streams Raster", "flags": ["--out_streams"], "description": "Name of the output pruned streams raster.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "out_dem": {"name": "Output DEM Raster", "flags": ["--out_dem"], "description": "Name of the output lines shapefile.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "out_dir": {"name": "Output D8 Flow Direction Raster", "flags": ["--out_dir"], "description": "Name of the output flow direction raster.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "out_accum": {"name": "Output D8 Flow Accumulation Raster", "flags": ["--out_accum"], "description": "Name of the output lines shapefile.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": true}, "snap": {"name": "Snap Distance", "flags": ["--snap"], "description": "Snap distance, in xy units (metres).", "parameter_type": "Float", "default_value": "1.0", "optional": true}}}, "TopologicalStreamOrder": {"name": "TopologicalStreamOrder", "tool_name": "topological_stream_order", "category": "Stream Network Analysis", "label": "Topological Stream Order", "description": "Assigns each link in a stream network its topological order.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/stream_network_analysis/topological_stream_order.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/stream_network_analysis.html#TopologicalStreamOrder", "parameters": {"d8_pntr": {"name": "Input D8 Pointer File", "flags": ["--d8_pntr"], "description": "Input raster D8 pointer file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "streams": {"name": "Input Streams File", "flags": ["--streams"], "description": "Input raster streams file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "esri_pntr": {"name": "Does the pointer file use the ESRI pointer scheme?", "flags": ["--esri_pntr"], "description": "D8 pointer uses the ESRI style scheme.", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "zero_background": {"name": "Should a background value of zero be used?", "flags": ["--zero_background"], "description": "Flag indicating whether a background value of zero should be used.", "parameter_type": "Boolean", "default_value": null, "optional": true}}}, "TotalCurvature": {"name": "TotalCurvature", "tool_name": "total_curvature", "category": "Geomorphometric Analysis", "label": "Total Curvature", "description": "Calculates a total curvature raster from an input DEM.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/total_curvature.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#TotalCurvature", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "log": {"name": "Log-transform the output?", "flags": ["--log"], "description": "Display output values using a log-scale.", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "zfactor": {"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}}}, "TotalFilter": {"name": "TotalFilter", "tool_name": "total_filter", "category": "Image Processing Tools", "label": "Total Filter", "description": "Performs a total filter on an input image.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/total_filter.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#TotalFilter", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "filterx": {"name": "Filter X-Dimension", "flags": ["--filterx"], "description": "Size of the filter kernel in the x-direction.", "parameter_type": "Integer", "default_value": "11", "optional": true}, "filtery": {"name": "Filter Y-Dimension", "flags": ["--filtery"], "description": "Size of the filter kernel in the y-direction.", "parameter_type": "Integer", "default_value": "11", "optional": true}}}, "TraceDownslopeFlowpaths": {"name": "TraceDownslopeFlowpaths", "tool_name": "trace_downslope_flowpaths", "category": "Hydrological Analysis", "label": "Trace Downslope Flowpaths", "description": "Traces downslope flowpaths from one or more target sites (i.e. seed points).", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/trace_downslope_flowpaths.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#TraceDownslopeFlowpaths", "parameters": {"seed_pts": {"name": "Input Vector Seed Points File", "flags": ["--seed_pts"], "description": "Input vector seed points file.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "d8_pntr": {"name": "Input D8 Pointer File", "flags": ["--d8_pntr"], "description": "Input D8 pointer raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "esri_pntr": {"name": "Does the pointer file use the ESRI pointer scheme?", "flags": ["--esri_pntr"], "description": "D8 pointer uses the ESRI style scheme.", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "zero_background": {"name": "Should a background value of zero be used?", "flags": ["--zero_background"], "description": "Flag indicating whether a background value of zero should be used.", "parameter_type": "Boolean", "default_value": null, "optional": true}}}, "TrendSurface": {"name": "TrendSurface", "tool_name": "trend_surface", "category": "Math and Stats Tools", "label": "Trend Surface", "description": "Estimates the trend surface of an input raster file.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/trend_surface.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#TrendSurface", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "order": {"name": "Polynomial Order", "flags": ["--order"], "description": "Polynomial order (1 to 10).", "parameter_type": "Integer", "default_value": "1", "optional": true}}}, "TrendSurfaceVectorPoints": {"name": "TrendSurfaceVectorPoints", "tool_name": "trend_surface_vector_points", "category": "Math and Stats Tools", "label": "Trend Surface Vector Points", "description": "Estimates a trend surface from vector points.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/trend_surface_vector_points.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#TrendSurfaceVectorPoints", "parameters": {"i": {"name": "Input Vector Points File", "flags": ["-i", "--input"], "description": "Input vector Points file.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "field": {"name": "Field Name", "flags": ["--field"], "description": "Input field name in attribute table.", "parameter_type": {"VectorAttributeField": ["Number", "--input"]}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "order": {"name": "Polynomial Order", "flags": ["--order"], "description": "Polynomial order (1 to 10).", "parameter_type": "Integer", "default_value": "1", "optional": true}, "cell_size": {"name": "Cell Size", "flags": ["--cell_size"], "description": "Optionally specified cell size of output raster. Not used when base raster is specified.", "parameter_type": "Float", "default_value": null, "optional": false}}}, "TributaryIdentifier": {"name": "TributaryIdentifier", "tool_name": "tributary_identifier", "category": "Stream Network Analysis", "label": "Tributary Identifier", "description": "Assigns a unique identifier to each tributary in a stream network.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/stream_network_analysis/tributary_id.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/stream_network_analysis.html#TributaryIdentifier", "parameters": {"d8_pntr": {"name": "Input D8 Pointer File", "flags": ["--d8_pntr"], "description": "Input raster D8 pointer file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "streams": {"name": "Input Streams File", "flags": ["--streams"], "description": "Input raster streams file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "esri_pntr": {"name": "Does the pointer file use the ESRI pointer scheme?", "flags": ["--esri_pntr"], "description": "D8 pointer uses the ESRI style scheme.", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "zero_background": {"name": "Should a background value of zero be used?", "flags": ["--zero_background"], "description": "Flag indicating whether a background value of zero should be used.", "parameter_type": "Boolean", "default_value": null, "optional": true}}}, "Truncate": {"name": "Truncate", "tool_name": "truncate", "category": "Math and Stats Tools", "label": "Truncate", "description": "Truncates the values in a raster to the desired number of decimal places.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/truncate.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#Truncate", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "num_decimals": {"name": "Number of Decimals After Truncation", "flags": ["--num_decimals"], "description": "Number of decimals left after truncation (default is zero).", "parameter_type": "Integer", "default_value": null, "optional": true}}}, "TurningBandsSimulation": {"name": "TurningBandsSimulation", "tool_name": "turning_bands_simulation", "category": "Math and Stats Tools", "label": "Turning Bands Simulation", "description": "Creates an image containing random values based on a turning-bands simulation.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/turning_bands.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#TurningBandsSimulation", "parameters": {"base": {"name": "Input Base File", "flags": ["-i", "--base"], "description": "Input base raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "range": {"name": "Range of Autocorrelation (map units)", "flags": ["--range"], "description": "The field's range, in xy-units, related to the extent of spatial autocorrelation.", "parameter_type": "Float", "default_value": null, "optional": false}, "iterations": {"name": "Iterations", "flags": ["--iterations"], "description": "The number of iterations.", "parameter_type": "Integer", "default_value": "1000", "optional": true}}}, "TwoSampleKsTest": {"name": "TwoSampleKsTest", "tool_name": "two_sample_ks_test", "category": "Math and Stats Tools", "label": "Two Sample Ks Test", "description": "Performs a 2-sample K-S test for significant differences on two input rasters.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/two_sample_ks_test.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#TwoSampleKsTest", "parameters": {"input1": {"name": "First Input File", "flags": ["--input1"], "description": "First input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "input2": {"name": "Second Input File", "flags": ["--input2"], "description": "Second input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output HTML file.", "parameter_type": {"NewFile": "Html"}, "default_value": null, "optional": false}, "num_samples": {"name": "Num. Samples (blank for while image)", "flags": ["--num_samples"], "description": "Number of samples. Leave blank to use whole image.", "parameter_type": "Integer", "default_value": null, "optional": true}}}, "Union": {"name": "Union", "tool_name": "union", "category": "GIS Analysis", "label": "Union", "description": "Splits vector layers at their overlaps, creating a layer containing all the portions from both input and overlay layers.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/union.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#Union", "parameters": {"i": {"name": "Input Vector File", "flags": ["-i", "--input"], "description": "Input vector file.", "parameter_type": {"ExistingFile": {"Vector": "Any"}}, "default_value": null, "optional": false}, "overlay": {"name": "Input Overlay Vector File", "flags": ["--overlay"], "description": "Input overlay vector file.", "parameter_type": {"ExistingFile": {"Vector": "Any"}}, "default_value": null, "optional": false}, "output": {"name": "Output Vector File", "flags": ["-o", "--output"], "description": "Output vector file.", "parameter_type": {"NewFile": {"Vector": "Any"}}, "default_value": null, "optional": false}, "snap": {"name": "Snap Tolerance", "flags": ["--snap"], "description": "Snap tolerance.", "parameter_type": "Float", "default_value": "0.0", "optional": true}}}, "UnnestBasins": {"name": "UnnestBasins", "tool_name": "unnest_basins", "category": "Hydrological Analysis", "label": "Unnest Basins", "description": "Extract whole watersheds for a set of outlet points.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/unnest_basins.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#UnnestBasins", "parameters": {"d8_pntr": {"name": "Input D8 Pointer File", "flags": ["--d8_pntr"], "description": "Input D8 pointer raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "pour_pts": {"name": "Input Pour Points (Outlet) File", "flags": ["--pour_pts"], "description": "Input vector pour points (outlet) file.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "esri_pntr": {"name": "Does the pointer file use the ESRI pointer scheme?", "flags": ["--esri_pntr"], "description": "D8 pointer uses the ESRI style scheme.", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "UnsharpMasking": {"name": "UnsharpMasking", "tool_name": "unsharp_masking", "category": "Image Processing Tools", "label": "Unsharp Masking", "description": "An image sharpening technique that enhances edges.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/unsharp_masking.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#UnsharpMasking", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "sigma": {"name": "Standard Deviation (pixels)", "flags": ["--sigma"], "description": "Standard deviation distance in pixels.", "parameter_type": "Float", "default_value": "0.75", "optional": true}, "amount": {"name": "Amount (%)", "flags": ["--amount"], "description": "A percentage and controls the magnitude of each overshoot.", "parameter_type": "Float", "default_value": "100.0", "optional": true}, "threshold": {"name": "Threshold", "flags": ["--threshold"], "description": "Controls the minimal brightness change that will be sharpened.", "parameter_type": "Float", "default_value": "0.0", "optional": true}}}, "Unsphericity": {"name": "Unsphericity", "tool_name": "unsphericity", "category": "Geomorphometric Analysis", "label": "Unsphericity", "description": "This tool calculates the unsphericity curvature from an input DEM.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#Unsphericity", "parameters": {"dem": {"name": "Input Raster DEM", "flags": ["-i", "--dem"], "description": "Name of the input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster Image", "flags": ["-o", "--output"], "description": "Name of the output raster image file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "log": {"name": "Log-transform the output?", "flags": ["--log"], "description": "Display output values using a log-scale.", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "zfactor": {"name": "Z-factor", "flags": ["--zfactor"], "description": "Z conversion factor.", "parameter_type": "Float", "default_value": "1.0", "optional": true}}}, "UpdateNodataCells": {"name": "UpdateNodataCells", "tool_name": "update_nodata_cells", "category": "GIS Analysis", "label": "Update Nodata Cells", "description": "Replaces the NoData values in an input raster with the corresponding values contained in a second update layer.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/update_nodata_cells.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#UpdateNodataCells", "parameters": {"input1": {"name": "Input File 1", "flags": ["--input1"], "description": "Input raster file 1.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "input2": {"name": "Input File 2 (Update Layer)", "flags": ["--input2"], "description": "Input raster file 2; update layer.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "UpslopeDepressionStorage": {"name": "UpslopeDepressionStorage", "tool_name": "upslope_depression_storage", "category": "Hydrological Analysis", "label": "Upslope Depression Storage", "description": "Estimates the average upslope depression storage depth.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/upslope_depression_storage.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#UpslopeDepressionStorage", "parameters": {"dem": {"name": "Input DEM File", "flags": ["-i", "--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "UserDefinedWeightsFilter": {"name": "UserDefinedWeightsFilter", "tool_name": "user_defined_weights_filter", "category": "Image Processing Tools", "label": "User Defined Weights Filter", "description": "Performs a user-defined weights filter on an image.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/user_defined_weights_filter.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#UserDefinedWeightsFilter", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "weights": {"name": "Input Weights File", "flags": ["--weights"], "description": "Input weights file.", "parameter_type": {"ExistingFile": "Csv"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "center": {"name": "Kernel Center", "flags": ["--center"], "description": "Kernel center cell; options include 'center', 'upper-left', 'upper-right', 'lower-left', 'lower-right'", "parameter_type": {"OptionList": ["center", "upper-left", "upper-right", "lower-left", "lower-right"]}, "default_value": "center", "optional": true}, "normalize": {"name": "Normalize kernel weights?", "flags": ["--normalize"], "description": "Normalize kernel weights? This can reduce edge effects and lessen the impact of data gaps (nodata) but is not suited when the kernel weights sum to zero.", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "VectorHexBinning": {"name": "VectorHexBinning", "tool_name": "vector_hex_binning", "category": "GIS Analysis", "label": "Vector Hex Binning", "description": "Hex-bins a set of vector points.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/vector_hex_bin.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#VectorHexBinning", "parameters": {"i": {"name": "Input Base File", "flags": ["-i", "--input"], "description": "Input base file.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "output": {"name": "Output Polygon File", "flags": ["-o", "--output"], "description": "Output vector polygon file.", "parameter_type": {"NewFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}, "width": {"name": "Hexagon Width", "flags": ["--width"], "description": "The grid cell width.", "parameter_type": "Float", "default_value": null, "optional": false}, "orientation": {"name": "Grid Orientation", "flags": ["--orientation"], "description": "Grid Orientation, 'horizontal' or 'vertical'.", "parameter_type": {"OptionList": ["horizontal", "vertical"]}, "default_value": "horizontal", "optional": true}}}, "VectorLinesToRaster": {"name": "VectorLinesToRaster", "tool_name": "vector_lines_to_raster", "category": "Data Tools", "label": "Vector Lines To Raster", "description": "Converts a vector containing polylines into a raster.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/data_tools/vector_lines_to_raster.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/data_tools.html#VectorLinesToRaster", "parameters": {"i": {"name": "Input Vector Lines File", "flags": ["-i", "--input"], "description": "Input vector lines file.", "parameter_type": {"ExistingFile": {"Vector": "Line"}}, "default_value": null, "optional": false}, "field": {"name": "Field Name", "flags": ["--field"], "description": "Input field name in attribute table.", "parameter_type": {"VectorAttributeField": ["Number", "--input"]}, "default_value": "FID", "optional": true}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "nodata": {"name": "Background value is NoData?", "flags": ["--nodata"], "description": "Background value to set to NoData. Without this flag, it will be set to 0.0.", "parameter_type": "Boolean", "default_value": "true", "optional": true}, "cell_size": {"name": "Cell Size (optional)", "flags": ["--cell_size"], "description": "Optionally specified cell size of output raster. Not used when base raster is specified.", "parameter_type": "Float", "default_value": null, "optional": true}, "base": {"name": "Base Raster File (optional)", "flags": ["--base"], "description": "Optionally specified input base raster file. Not used when a cell size is specified.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": true}}}, "VectorPointsToRaster": {"name": "VectorPointsToRaster", "tool_name": "vector_points_to_raster", "category": "Data Tools", "label": "Vector Points To Raster", "description": "Converts a vector containing points into a raster.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/data_tools/vector_points_to_raster.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/data_tools.html#VectorPointsToRaster", "parameters": {"i": {"name": "Input Vector Points File", "flags": ["-i", "--input"], "description": "Input vector Points file.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "field": {"name": "Field Name", "flags": ["--field"], "description": "Input field name in attribute table.", "parameter_type": {"VectorAttributeField": ["Number", "--input"]}, "default_value": "FID", "optional": true}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "assign": {"name": "Assignment Operation", "flags": ["--assign"], "description": "Assignment operation, where multiple points are in the same grid cell; options include 'first', 'last' (default), 'min', 'max', 'mean', 'sum', 'number'", "parameter_type": {"OptionList": ["first", "last", "min", "max", "sum", "number"]}, "default_value": "last", "optional": true}, "nodata": {"name": "Background value is NoData?", "flags": ["--nodata"], "description": "Background value to set to NoData. Without this flag, it will be set to 0.0.", "parameter_type": "Boolean", "default_value": "true", "optional": true}, "cell_size": {"name": "Cell Size (optional)", "flags": ["--cell_size"], "description": "Optionally specified cell size of output raster. Not used when base raster is specified.", "parameter_type": "Float", "default_value": null, "optional": true}, "base": {"name": "Base Raster File (optional)", "flags": ["--base"], "description": "Optionally specified input base raster file. Not used when a cell size is specified.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": true}}}, "VectorPolygonsToRaster": {"name": "VectorPolygonsToRaster", "tool_name": "vector_polygons_to_raster", "category": "Data Tools", "label": "Vector Polygons To Raster", "description": "Converts a vector containing polygons into a raster.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/data_tools/vector_polygons_to_raster.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/data_tools.html#VectorPolygonsToRaster", "parameters": {"i": {"name": "Input Vector Polygon File", "flags": ["-i", "--input"], "description": "Input vector polygons file.", "parameter_type": {"ExistingFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}, "field": {"name": "Field Name", "flags": ["--field"], "description": "Input field name in attribute table.", "parameter_type": {"VectorAttributeField": ["Number", "--input"]}, "default_value": "FID", "optional": true}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "nodata": {"name": "Background value is NoData?", "flags": ["--nodata"], "description": "Background value to set to NoData. Without this flag, it will be set to 0.0.", "parameter_type": "Boolean", "default_value": "true", "optional": true}, "cell_size": {"name": "Cell Size (optional)", "flags": ["--cell_size"], "description": "Optionally specified cell size of output raster. Not used when base raster is specified.", "parameter_type": "Float", "default_value": null, "optional": true}, "base": {"name": "Base Raster File (optional)", "flags": ["--base"], "description": "Optionally specified input base raster file. Not used when a cell size is specified.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": true}}}, "VerticalExcessCurvature": {"name": "VerticalExcessCurvature", "tool_name": "vertical_excess_curvature", "category": "Geomorphometric Analysis", "label": "Vertical Excess Curvature", "description": "This tool calculates vertical excess curvature from an input DEM.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#VerticalExcessCurvature", "parameters": {"dem": {"name": "Input Raster DEM", "flags": ["-i", "--dem"], "description": "Name of the input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster Image", "flags": ["-o", "--output"], "description": "Name of the output raster image file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "log": {"name": "Log-transform the output?", "flags": ["--log"], "description": "Display output values using a log-scale.", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "zfactor": {"name": "Z-factor", "flags": ["--zfactor"], "description": "Z conversion factor.", "parameter_type": "Float", "default_value": "1.0", "optional": true}}}, "Viewshed": {"name": "Viewshed", "tool_name": "viewshed", "category": "Geomorphometric Analysis", "label": "Viewshed", "description": "Identifies the viewshed for a point or set of points.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/viewshed.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#Viewshed", "parameters": {"dem": {"name": "Input DEM File", "flags": ["--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "stations": {"name": "Viewing Station Vector File", "flags": ["--stations"], "description": "Input viewing station vector file.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "height": {"name": "Station Height (in z units)", "flags": ["--height"], "description": "Viewing station height, in z units.", "parameter_type": "Float", "default_value": "2.0", "optional": false}}}, "VisibilityIndex": {"name": "VisibilityIndex", "tool_name": "visibility_index", "category": "Geomorphometric Analysis", "label": "Visibility Index", "description": "Estimates the relative visibility of sites in a DEM.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/visibility_index.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#VisibilityIndex", "parameters": {"dem": {"name": "Input DEM File", "flags": ["--dem"], "description": "Input raster DEM file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "height": {"name": "Station Height (in z units)", "flags": ["--height"], "description": "Viewing station height, in z units.", "parameter_type": "Float", "default_value": "2.0", "optional": false}, "res_factor": {"name": "Resolution Factor", "flags": ["--res_factor"], "description": "The resolution factor determines the density of measured viewsheds.", "parameter_type": "Integer", "default_value": "2", "optional": false}}}, "VoronoiDiagram": {"name": "VoronoiDiagram", "tool_name": "voronoi_diagram", "category": "GIS Analysis", "label": "Voronoi Diagram", "description": "Creates a vector Voronoi diagram for a set of vector points.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/voronoi_diagram.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#VoronoiDiagram", "parameters": {"i": {"name": "Input Vector Points File", "flags": ["-i", "--input"], "description": "Input vector points file.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "output": {"name": "Output Polygon File", "flags": ["-o", "--output"], "description": "Output vector polygon file.", "parameter_type": {"NewFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}}}, "Watershed": {"name": "Watershed", "tool_name": "watershed", "category": "Hydrological Analysis", "label": "Watershed", "description": "Identifies the watershed, or drainage basin, draining to a set of target cells.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/hydro_analysis/watershed.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/hydrological_analysis.html#Watershed", "parameters": {"d8_pntr": {"name": "Input D8 Pointer File", "flags": ["--d8_pntr"], "description": "Input D8 pointer raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "pour_pts": {"name": "Input Pour Points (Outlet) File", "flags": ["--pour_pts"], "description": "Input pour points (outlet) file.", "parameter_type": {"ExistingFile": {"RasterAndVector": "Point"}}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "esri_pntr": {"name": "Does the pointer file use the ESRI pointer scheme?", "flags": ["--esri_pntr"], "description": "D8 pointer uses the ESRI style scheme.", "parameter_type": "Boolean", "default_value": "false", "optional": true}}}, "WeightedOverlay": {"name": "WeightedOverlay", "tool_name": "weighted_overlay", "category": "GIS Analysis", "label": "Weighted Overlay", "description": "Performs a weighted sum on multiple input rasters after converting each image to a common scale. The tool performs a multi-criteria evaluation (MCE).", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/weighted_overlay.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#WeightedOverlay", "parameters": {"factors": {"name": "Input Factor Files", "flags": ["--factors"], "description": "Input factor raster files.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "weights": {"name": "Weight Values (e.g. 1.7;3.5;1.2)", "flags": ["-w", "--weights"], "description": "Weight values, contained in quotes and separated by commas or semicolons. Must have the same number as factors.", "parameter_type": "String", "default_value": null, "optional": false}, "cost": {"name": "Cost Factor? (e.g. false;true;true)", "flags": ["--cost"], "description": "Boolean array indicating which factors are cost factors, contained in quotes and separated by commas or semicolons. Must have the same number as factors.", "parameter_type": "String", "default_value": null, "optional": true}, "constraints": {"name": "Input Constraints Files", "flags": ["--constraints"], "description": "Input constraints raster files.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": true}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}, "scale_max": {"name": "Suitability Scale Maximum", "flags": ["--scale_max"], "description": "Suitability scale maximum value (common values are 1.0, 100.0, and 255.0).", "parameter_type": "Float", "default_value": "1.0", "optional": true}}}, "WeightedSum": {"name": "WeightedSum", "tool_name": "weighted_sum", "category": "GIS Analysis", "label": "Weighted Sum", "description": "Performs a weighted-sum overlay on multiple input raster images.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/gis_analysis/weighted_sum.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/gis_analysis.html#WeightedSum", "parameters": {"inputs": {"name": "Input Files", "flags": ["-i", "--inputs"], "description": "Input raster files.", "parameter_type": {"FileList": "Raster"}, "default_value": null, "optional": false}, "weights": {"name": "Weight Values (e.g. 1.7;3.5;1.2)", "flags": ["-w", "--weights"], "description": "Weight values, contained in quotes and separated by commas or semicolons.", "parameter_type": "String", "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "WetnessIndex": {"name": "WetnessIndex", "tool_name": "wetness_index", "category": "Geomorphometric Analysis", "label": "Wetness Index", "description": "Calculates the topographic wetness index, Ln(A / tan(slope)).", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/terrain_analysis/wetness_index.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/geomorphometric_analysis.html#WetnessIndex", "parameters": {"sca": {"name": "Input Specific Contributing Area (SCA) File", "flags": ["--sca"], "description": "Input raster specific contributing area (SCA) file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "slope": {"name": "Input Slope File", "flags": ["--slope"], "description": "Input raster slope file (in degrees).", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "WilcoxonSignedRankTest": {"name": "WilcoxonSignedRankTest", "tool_name": "wilcoxon_signed_rank_test", "category": "Math and Stats Tools", "label": "Wilcoxon Signed Rank Test", "description": "Performs a 2-sample K-S test for significant differences on two input rasters.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/wilcoxon_signed_rank_test.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#WilcoxonSignedRankTest", "parameters": {"input1": {"name": "First Input File", "flags": ["--input1"], "description": "First input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "input2": {"name": "Second Input File", "flags": ["--input2"], "description": "Second input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output HTML file.", "parameter_type": {"NewFile": "Html"}, "default_value": null, "optional": false}, "num_samples": {"name": "Num. Samples (blank for while image)", "flags": ["--num_samples"], "description": "Number of samples. Leave blank to use whole image.", "parameter_type": "Integer", "default_value": null, "optional": true}}}, "WriteFunctionMemoryInsertion": {"name": "WriteFunctionMemoryInsertion", "tool_name": "write_function_memory_insertion", "category": "Image Processing Tools", "label": "Write Function Memory Insertion", "description": "Performs a write function memory insertion for single-band multi-date change detection.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/image_analysis/write_func_memory_insertion.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/image_processing_tools.html#WriteFunctionMemoryInsertion", "parameters": {"input1": {"name": "First Date Input File", "flags": ["--i1", "--input1"], "description": "Input raster file associated with the first date.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "input2": {"name": "Second Date Input File", "flags": ["--i2", "--input2"], "description": "Input raster file associated with the second date.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "input3": {"name": "Third Date Input File (Optional)", "flags": ["--i3", "--input3"], "description": "Optional input raster file associated with the third date.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": true}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "Xor": {"name": "Xor", "tool_name": "xor", "category": "Math and Stats Tools", "label": "Xor", "description": "Performs a logical XOR operator on two Boolean raster images.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/xor.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#Xor", "parameters": {"input1": {"name": "Input File", "flags": ["--input1"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "input2": {"name": "Input File", "flags": ["--input2"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "YieldFilter": {"name": "YieldFilter", "tool_name": "yield_filter", "category": "Precision Agriculture", "label": "Yield Filter", "description": "Filters crop yield values of point data derived from combine harvester yield monitors.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/precision_agriculture.html#YieldFilter", "parameters": {"i": {"name": "Input Points", "flags": ["-i", "--input"], "description": "Name of the input points shapefile.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "yield_field": {"name": "Yield Field Name", "flags": ["-y", "--yield_field"], "description": "Name of the attribute containing yield data.", "parameter_type": {"VectorAttributeField": ["Any", "--input"]}, "default_value": null, "optional": false}, "pass_field": {"name": "Pass Field Name", "flags": ["-p", "--pass_field"], "description": "Name of the attribute containing pass line ID.", "parameter_type": {"VectorAttributeField": ["Any", "--input"]}, "default_value": null, "optional": false}, "output": {"name": "Output Points", "flags": ["-o", "--output"], "description": "Name of the output points shapefile.", "parameter_type": {"NewFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "width": {"name": "Swath Width", "flags": ["-w", "--width"], "description": "Pass swath width (m).", "parameter_type": "Float", "default_value": "6.096", "optional": true}, "z_score_threshold": {"name": "Z-score Threshold Value", "flags": ["-z", "--z_score_threshold"], "description": "Z-score threshold value (default=2.5).", "parameter_type": "Float", "default_value": "2.5", "optional": true}, "min_yield": {"name": "Minimum Yield", "flags": ["--min_yield"], "description": "Minimum yield value in output.", "parameter_type": "Float", "default_value": "0.0", "optional": true}, "max_yield": {"name": "Maximum Yield", "flags": ["--max_yield"], "description": "Maximum yield value in output.", "parameter_type": "Float", "default_value": "99999.9", "optional": true}}}, "YieldMap": {"name": "YieldMap", "tool_name": "yield_map", "category": "Precision Agriculture", "label": "Yield Map", "description": "This tool can be used to create a segmented-vector polygon yield map from a set of harvester points.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/precision_agriculture.html#YieldMap", "parameters": {"i": {"name": "Input Points", "flags": ["-i", "--input"], "description": "Name of the input points shapefile.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "pass_field_name": {"name": "Pass Field Name", "flags": ["-p", "--pass_field_name"], "description": "Name of the attribute containing pass line ID.", "parameter_type": {"VectorAttributeField": ["Any", "--input"]}, "default_value": null, "optional": false}, "output": {"name": "Output Vector Polygons", "flags": ["-o", "--output"], "description": "Name of the output polygon shapefile.", "parameter_type": {"NewFile": {"Vector": "Polygon"}}, "default_value": null, "optional": false}, "width": {"name": "Swath Width", "flags": ["-w", "--width"], "description": "Pass swath width (m).", "parameter_type": "Float", "default_value": "6.096", "optional": true}, "max_change_in_heading": {"name": "Max Change In Heading (degrees)", "flags": ["-m", "--max_change_in_heading"], "description": "Max change in heading.", "parameter_type": "Float", "default_value": "25.0", "optional": true}}}, "YieldNormalization": {"name": "YieldNormalization", "tool_name": "yield_normalization", "category": "Precision Agriculture", "label": "Yield Normalization", "description": "This tool can be used to normalize the yield points for a field.", "github": "Source code is unavailable due to proprietary license.", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/precision_agriculture.html#YieldNormalization", "parameters": {"i": {"name": "Input Points", "flags": ["-i", "--input"], "description": "Name of the input points shapefile.", "parameter_type": {"ExistingFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "yield_field": {"name": "Yield Field Name", "flags": ["-y", "--yield_field"], "description": "Name of the attribute containing yield data.", "parameter_type": {"VectorAttributeField": ["Any", "--input"]}, "default_value": null, "optional": false}, "output": {"name": "Output Points", "flags": ["-o", "--output"], "description": "Name of the output points shapefile.", "parameter_type": {"NewFile": {"Vector": "Point"}}, "default_value": null, "optional": false}, "standardize": {"name": "Standardize rather than normalize?", "flags": ["--standardize"], "description": "Should the yield values be standardized (converted to z-scores) rather than normalized?", "parameter_type": "Boolean", "default_value": "false", "optional": true}, "radius": {"name": "Search Radius (m)", "flags": ["--radius"], "description": "Optional search radius, in metres. Only specify this value if you want to calculate locally normalized yield.", "parameter_type": "Float", "default_value": null, "optional": true}, "min_yield": {"name": "Minimum Yield", "flags": ["--min_yield"], "description": "Minimum yield value in output.", "parameter_type": "Float", "default_value": "0.0", "optional": true}, "max_yield": {"name": "Maximum Yield", "flags": ["--max_yield"], "description": "Maximum yield value in output.", "parameter_type": "Float", "default_value": "99999.9", "optional": true}}}, "ZScores": {"name": "ZScores", "tool_name": "z_scores", "category": "Math and Stats Tools", "label": "Z Scores", "description": "Standardizes the values in an input raster by converting to z-scores.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/zscores.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#ZScores", "parameters": {"i": {"name": "Input File", "flags": ["-i", "--input"], "description": "Input raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": false}}}, "ZlidarToLas": {"name": "ZlidarToLas", "tool_name": "zlidar_to_las", "category": "LiDAR Tools", "label": "Zlidar To Las", "description": "Converts one or more zlidar files into the LAS data format.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/lidar_analysis/zlidar_to_las.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/lidar_tools.html#ZlidarToLas", "parameters": {"inputs": {"name": "Input ZLidar Files", "flags": ["-i", "--inputs"], "description": "Input ZLidar files.", "parameter_type": {"FileList": "Lidar"}, "default_value": null, "optional": true}, "outdir": {"name": "Output Directory", "flags": ["--outdir"], "description": "Output directory into which zlidar files are created. If unspecified, it is assumed to be the same as the inputs.", "parameter_type": "Directory", "default_value": null, "optional": true}}}, "ZonalStatistics": {"name": "ZonalStatistics", "tool_name": "zonal_statistics", "category": "Math and Stats Tools", "label": "Zonal Statistics", "description": "Extracts descriptive statistics for a group of patches in a raster.", "github": "https://github.com/jblindsay/whitebox-tools/blob/master/whitebox-tools-app/src/tools/math_stat_analysis/zonal_statistics.rs", "book": "https://www.whiteboxgeo.com/manual/wbt_book/available_tools/mathand_stats_tools.html#ZonalStatistics", "parameters": {"i": {"name": "Input Data File", "flags": ["-i", "--input"], "description": "Input data raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "features": {"name": "Input Feature Definition File", "flags": ["--features"], "description": "Input feature definition raster file.", "parameter_type": {"ExistingFile": "Raster"}, "default_value": null, "optional": false}, "output": {"name": "Output Raster File", "flags": ["-o", "--output"], "description": "Output raster file.", "parameter_type": {"NewFile": "Raster"}, "default_value": null, "optional": true}, "stat": {"name": "Statistic Type", "flags": ["--stat"], "description": "Statistic to extract, including 'mean', 'median', 'minimum', 'maximum', 'range', 'standard deviation', and 'total'.", "parameter_type": {"OptionList": ["mean", "median", "minimum", "maximum", "range", "standard deviation", "total"]}, "default_value": "mean", "optional": true}, "out_table": {"name": "Output HTML Table File", "flags": ["--out_table"], "description": "Output HTML Table file.", "parameter_type": {"NewFile": "Html"}, "default_value": null, "optional": true}, "zero_is_background": {"name": "Treat zero-valued cells as background?", "flags": ["--zero_is_background"], "description": "Treat zero-valued cells as background?", "parameter_type": "Boolean", "default_value": null, "optional": true}}}} \ No newline at end of file diff --git a/data/wbttoolparameters.rda b/data/wbttoolparameters.rda index 936c67153c11dca2f16a2b4c31d20deec803c733..1b024cd334ad1885bd8f12abf73798477b94d54a 100644 GIT binary patch literal 45552 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 UAPG0zJw7lEivj=u00045S|OybBLDyZ literal 46352 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�ZDn%^-p>L=~@c~jJH0JB#t`=?9RRl?3`CTrWl(U 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 T;}}(OJ}?c70ssI200CKA=N?h# literal 30020 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 diff --git a/man/wbt_breakline_mapping.Rd b/man/wbt_breakline_mapping.Rd index a78a69f59..b5b7cb6f2 100644 --- a/man/wbt_breakline_mapping.Rd +++ b/man/wbt_breakline_mapping.Rd @@ -20,7 +20,7 @@ wbt_breakline_mapping( \item{output}{Name of the output vector lines file.} -\item{threshold}{Threshold value (0 - infinity but typcially 1 to 5 works well).} +\item{threshold}{Threshold value (0 - infinity but typically 1 to 5 works well).} \item{min_length}{Minimum line length, in grid cells.} diff --git a/man/wbt_conditioned_latin_hypercube.Rd b/man/wbt_conditioned_latin_hypercube.Rd index 6a721a364..051b50ffd 100644 --- a/man/wbt_conditioned_latin_hypercube.Rd +++ b/man/wbt_conditioned_latin_hypercube.Rd @@ -35,7 +35,7 @@ wbt_conditioned_latin_hypercube( \item{prob}{Probability of random resample or resampling worst strata between \verb{[0,1]}.} -\item{threshold}{Objective function values below the theshold stop the resampling iterations.} +\item{threshold}{Objective function values below the threshold stop the resampling iterations.} \item{temp}{Initial annealing temperature between \verb{[0,1]}.} @@ -43,7 +43,7 @@ wbt_conditioned_latin_hypercube( \item{cycle}{Number of iterations before decaying annealing temperature.} -\item{average}{Weight the continuous objective funtion by the 1/N contributing strata.} +\item{average}{Weight the continuous objective function by the 1/N contributing strata.} \item{wd}{Changes the working directory. Default: \code{NULL} will use the value in WhiteboxTools settings, see \code{wbt_wd()} for details.} diff --git a/man/wbt_vector_stream_network_analysis.Rd b/man/wbt_vector_stream_network_analysis.Rd index 119c38bd8..be2fc3e1c 100644 --- a/man/wbt_vector_stream_network_analysis.Rd +++ b/man/wbt_vector_stream_network_analysis.Rd @@ -6,9 +6,7 @@ \usage{ wbt_vector_stream_network_analysis( streams, - dem, output, - cutting_height = 10, snap = 0.1, wd = NULL, verbose_mode = NULL, @@ -19,12 +17,8 @@ wbt_vector_stream_network_analysis( \arguments{ \item{streams}{Name of the input streams vector file.} -\item{dem}{Name of the input DEM raster file.} - \item{output}{Name of the output lines shapefile.} -\item{cutting_height}{Maximum ridge-cutting height (z units).} - \item{snap}{Snap distance, in xy units (metres).} \item{wd}{Changes the working directory. Default: \code{NULL} will use the value in WhiteboxTools settings, see \code{wbt_wd()} for details.} diff --git a/man/wbttoolparameters.Rd b/man/wbttoolparameters.Rd index ed71b3487..ed756b6f2 100644 --- a/man/wbttoolparameters.Rd +++ b/man/wbttoolparameters.Rd @@ -5,7 +5,7 @@ \alias{wbttoolparameters} \title{'WhiteboxTools' Tool Parameters} \format{ -An object of class \code{data.frame} with 2220 rows and 13 columns. +An object of class \code{data.frame} with 2198 rows and 13 columns. } \source{ \href{https://github.com/jblindsay/whitebox-tools/releases/}{WhiteboxTools} diff --git a/man/wbttools.Rd b/man/wbttools.Rd index d36e0aa50..2630ecd36 100644 --- a/man/wbttools.Rd +++ b/man/wbttools.Rd @@ -5,7 +5,7 @@ \alias{wbttools} \title{'WhiteboxTools' Tool List} \format{ -An object of class \code{data.frame} with 545 rows and 8 columns. +An object of class \code{data.frame} with 537 rows and 8 columns. } \source{ \href{https://github.com/jblindsay/whitebox-tools/releases/}{WhiteboxTools} diff --git a/man/whitebox-package.Rd b/man/whitebox-package.Rd index abd935887..c675daa08 100644 --- a/man/whitebox-package.Rd +++ b/man/whitebox-package.Rd @@ -3,7 +3,6 @@ \docType{package} \name{whitebox-package} \alias{whitebox-package} -\alias{_PACKAGE} \alias{whitebox} \alias{whitebox.env} \title{whitebox: 'WhiteboxTools' R Frontend} diff --git a/misc/install.R b/misc/install.R deleted file mode 100644 index 782c0d3b5..000000000 --- a/misc/install.R +++ /dev/null @@ -1 +0,0 @@ -whitebox::install_whitebox() \ No newline at end of file