Skip to content

Releases: jblindsay/whitebox-tools

WhiteboxTools v1.0.2

01 Nov 18:05
Compare
Choose a tag to compare
  • Added the BurnStreamsAtRoads tool.
  • Added a two-sample K-S test (TwoSampleKsTest) for comparing the distributions of two rasters.
  • Added a Wilcoxon Signed-Rank test (WilcoxonSignedRankTest) for comparing two rasters.
  • Added a paired-samples Student's t-test (PairedSampleTTest) for comparing two rasters.
  • Added the inverse hyperbolic trig functions, i.e. the Arcosh, Arsinh, and Artanh tools.
  • Renamed the LeeFilter to the LeeSigmaFilter.
  • Renamed the RelativeStreamPowerIndex tool to StreamPowerIndex, to be more in-line with
    other software.
  • Fixed another bug related to the handling of Boolean tool parameters.

WhiteboxTools v1.0.1

20 Oct 14:40
Compare
Choose a tag to compare

This is a bug-fix release. It includes the following changes:

  • Boolean type tool parameters previously worked simply by their presence in the parameter list. That is, simply have --flag in the list set the value of flag to True while its absence set it to False. This was causing problems with some WBT front-ends, particularly the QGIS front-end, where the parameters were being provided to WBT as --flag=False. In this case, because the flag was present, it was assumed to be True. All tools that have Boolean parameters have been updated to handle the case of --flag=False. This is a widespread modification that should fix the unexpected behaviour of many tools in certain front-ends. Because this represents a significant modification to the behaviour of numerous tools, it was decided that this minor release was warranted.
  • Fixed a minor bug with the VectorPolygonToRaster tool.
  • Fixed a bug in the DownstreamDistanceToStream tool.

WhiteboxTools v1.0.0

29 Sep 17:01
Compare
Choose a tag to compare

We are very pleased to announce the release of WhiteboxTools v1.0.0. This milestone release contains numerous feature additions and bug fixes and marks a period of stabilization in the platform. Modifications include the following:

  • Added support for reading and writing the BigTIFF format. This has resulted in numerous changes
    throughout the codebase as a result of significant modification of ByteOrderReader and addition
    of ByteOrderWriter. This change has touched almost every one of the raster format
    encoders/decoders.
  • Performance improvements have been made to the FlattenLakes (hydro-flattening) tool.
  • Fixed a bug preventing the SplitColourComposite tool from reading the '--input' flag correctly.
  • The ClipLidarToPolygon now issues a warning if the output LAS file does not contain any points
    within the clipped region and does not output a file. Also, the LAS reader no longer panics
    when it encounters a file with no points. Now it reads the header file, issues a warning, and
    carries on, allowing the tools to handle the case of no points.
  • ImageRegression can now optionally output a scatterplot. The scatterplot is based on a random
    sample of a user-defined size.
  • Added the CleanVector tool.
  • ExtractRasterStatistics has been renamed ZonalStatistics to be more inline with other GIS,
    including ArcGIS and QGIS.
  • Added the median as a statistic that ZonalStatistics provides.
  • Fixed a bug in the VectorPolygonsToRaster tool that sometimes mishandled polygon holes.
  • Added the FilterLidarClasses tool to filter out points of user-specified classes.
  • Added the LidarRansacPlanes tool to identify points belonging to planar surfaces. This tool
    uses the RANSAC method, which is a robust modelling method that handles the presence of
    numerous outlier points.
  • The ClipLidarToPolygon tool has been parallelized for improved performance.
  • The LasToAscii and AsciiToLas tools have been updated to handle RGB colour data for points.
  • Added the CsvPointsToVector tool to convert a CSV text table into a shapefile of vector points.
    The table must contain x and y coordinate fields.
  • The FeaturePreservingDenoise was renamed to FeaturePreservingSmoothing. The DrainagePreservingSmoothing
    tool was removed. Use FeaturePreservingSmoothing instead.
  • Added the ability to output the average number of point returns per pulse in the LidarPointStats tool.
  • LidarTinGridding, LidarIdwIntarpolation, and LidarNearestNeighbourGridding now can interpolate the
    return number, number of returns, and RGB colour data associated with points in a LAS file.
  • Added the ModifyNoDataValue tool to change the NoData value in a raster. It updates the value in
    the raster header and then modifies each grid cell in the raster containing the old NoData value
    to the new value. This operation overwrites the existing raster.
  • Fixed an issue with GeoTIFF NoData values that impacted many tools. NoData values were not interpreted
    correctly when they were very large positive or negative values (near the min/max of an f32).

WhiteboxTools v0.16.0

24 May 17:11
Compare
Choose a tag to compare

Version 0.16.0 (24-05-2019)

  • Added the MergeLineSegments and SphericalStdDevOfNormals tools.
  • Fixed a bug with reading LAS files with point records with extra bytes. Previously, the LAS decoder
    assumed the Point Record Length matched that of the LAS specifications (with the variable of the
    optional intensity and user data). Some LAS files in the wild (particularly those created using
    LASTools and of LAS version 1.2) have larger Point Record Lengths, which presumably carry extra
    bytes of information. These extra byes are ignored, but they no longer throw off the decoding.
  • Fixed a bug with writing Big-Ending GeoTIFF files. The 'MM' file header was not correct previously.
  • Significantly reduced the memory requirements of the StochasticDepressionAnalysis tool. The tool
    may be somewhat slower as a result, but it should be applicable to larger DEMs than was previously
    possible.
  • Fixed bugs with the Union and SplitWithLines tools.
  • WhiteboxTools can now read and write Shapefiles of MultiPointZ, PolyLineZ, and PolygonZ ShapeTypes
    missing the optional 'M' values (i.e. measures).
  • SelectTilesByPolygon and LidarTileFootprint are now compatible with LAZ file inputs. Both of these
    tools only rely on information in the input LiDAR file's header, which is the same for a LAZ file
    as a LAS file.
  • Fixed a bug with writing Saga GIS files (*.sdat) that inverted rasters.

WhiteboxTools v0.15.0

10 Mar 19:13
8839309
Compare
Choose a tag to compare

Version 0.15.0 (03-03-2019)

  • The following tools were added to the project:
    BoundaryShapeComplexity
    NarrownessIndex
    ShapeComplexityIndexRaster

  • Fixed a bug with the PanchromaticSharpening tool.

  • Previously, if a LAS v1.4 file were input to a tool, the output LAS file, which is currently
    always in LAS v1.3 format, would not correctly translate the 64-bit information (point
    return, number of returns, classification) into 32-bit format. I have added the
    get_32bit_from_64bit function to handle this translation more gracefully; albeit it is
    still a lossy translation where returns greater than 5 are ignored and classification
    values greater than 31 are lost.

  • Added a maximum triangle edge length parameter to the LidarTinGridding tool to allow
    for the exclusion of large-area triangles (i.e. low point density) from the gridding.

  • The NormalizedDifferenceVegetationIndex tool has been renamed to NormalizedDifferenceIndex
    to indicate the more general nature of this tool (i.e. NDVI, NDWI, OSAVI, etc.).

  • Significant changes have been made to the BreachDepressions tool to make it more in-line
    with the behaviour of the GoSpatial algorithm described in the original Lindsay (2016)
    paper. These changes include: 1) the inclusion of an optional parameter to fill single-cell
    pits prior to breaching, 2) the addition of a --flat_increment parameter, which overrides
    the automatically derived value assigned to flat areas along breach channels (or filled
    depressions), and 3) the tool now performs a fast post-breach filling operation, when
    run in constrained-breaching mode (i.e. when the user specifies values for either
    --max_depth or --max_length, placing constraints on the allowable breach channel size).

WhiteboxTools v0.14.1

11 Feb 01:34
Compare
Choose a tag to compare

This is a bug-fix release with only one major feature addition, the RasterArea tool.

WhiteboxTools v0.14

28 Jan 00:51
Compare
Choose a tag to compare
  • This release largely focusses on bug-fixes rather than adding new features. However, the
    following tools for measuring surface roughness in a DEM were added to the project:
    CircularVarianceOfAspect
    EdgeDensity
    SurfaceAreaRatio
  • Fixed a bug that resulted in rasters with projected coordinate systems being
    interpreted as geographic coordinates, thereby messing up the calculation of
    inter-cell distances for tools like slope, aspect, curvature, etc.
  • Fixed a bug with several of the math tools; output files took their data type
    from the input file. In some cases, this does not work well because the input
    is integer and the output must be floating point data.

WhiteboxTools v0.13

14 Jan 12:01
Compare
Choose a tag to compare
  • The release largely focusses on bug-fixes rather than adding new features. The
    following tools were added to the project:
    MosaicWithFeathering
  • Support was added for GeoTIFF MODELTRANSFORMATIONTAG (Tag 33920).
  • Support was added for reading GeoTIFFs that have coordinate transformations
    defined by multiple tiepoints contained with the ModelTiepointTag (Tag 33922).
    These rasters have their raster-to-model transform defined by a 2D polynomial
    regression of the 3rd order.
  • The initialize_using_file function in the abstract Raster model now transfers
    information contained in an input GeoTIFF's ModelTiePoint, ModelPixelScale,
    ModelTransform, GeoKeyDirectory, GeoDoubleParms, and GeoAsciiParams tags to
    the output raster. This means that if a GeoTIFF file is input to a Whitebox
    tool, and the output raster is specified to be of GeoTIFF format as well,
    all of the coordinate information contain in the input raster will now be
    contained in the output raster.
  • The FeaturePreservingDenoise and DrainagePreservingSmoothing tools, both of
    which are used for DEM generalization, now represent surface normal vectors
    using 32-bit floats instead of the original double-precision values. This
    does not alter the results of these tools significantly, but does reduce the
    memory requirements and run-times of these tools substantially.
  • The LidarKappa tool now outputs a raster displaying the spatial distribution
    of the overall accuracy per grid cell (i.e. percent agreement).
  • Fixed a bug with the RasterStreamsToVector tool that resulted in overlapping
    traced streams.
  • The D8FlowAccumulation tool has been modifed to use a fixed flow-width to
    calculate specific contributing area, equal to the average grid cell resolution.
    The tool previously used a variable flow-width for SCA calculations, however,
    1. this differs from the constant value used in Whitebox GAT, and 2. a
      variable flow-width means that flow accumulation values do not increase
      continuously in a downstream direction. This last issue was causing problems
      with applications involving stream network extraction. This change does not
      affect the 'cells' nor 'catchment area' outputs of the tool.
  • Fixed a bug with the GeoTIFF NoData tag.
  • Fixed a bug with the SetNodataValue tool.

WhiteboxTools v0.12.1

22 Nov 15:51
Compare
Choose a tag to compare

Version 0.12.0 (22-11-2018)
Tools Added

  • The following tools were added to the project:
    BlockMaximumGridding
    BlockMinimumGridding
    Clip
    Dissolve
    Erase
    JoinTables
    Intersect
    LasToShapefile
    LidarClassifySubset
    LinearityIndex
    LineIntersections
    LongestFlowpath
    MergeTableWithCsv
    MergeVectors
    NearestNeighbourGridding
    PatchOrientation
    Polygonize
    RasterToVectorLines
    SplitWithLines
    SymmetricalDifference
    Union
    VoronoiDiagram

Other Changes

  • Modified the algorithm used by the CostDistance tool from an iterative method of
    finding the minimum cost surface to one that uses a priority-flood approach. This
    is far more efficient. Also, there was a bug in the original code that was the
    result of a mis-match between the neighbouring cell distances and the back-link
    direction. In some cases this resulted in an infinite loop, which is now resolved.
  • Improvements have been made to the WhiteboxTools GeoTIFF reader. A bug has been
    fixed that prevented tile-oriented (in contrast to the more common strip-oriented)
    TIFF files from being read properly. Support has been added for reading rasters
    that have been compressed using the DEFLATE algorithm. Lastly, the WhiteboxTools
    GeoTIFF reader now supports sparse rasters, as implemented by GDAL's GeoTIFF driver.
  • An issue in the SAGA raster format reader has been fixed.

Pre-compiled Binaries
Pre-compiled executables for Windows, MacOS, and Linux can also be downloaded from the WhiteboxTools homepage.

WhiteboxTools v0.11.0

01 Oct 15:36
Compare
Choose a tag to compare

This release is marked by the addition of several vector data processing capabilities. Most notably, this includes support for TINing and TIN based gridding (vector and LiDAR), as well as several vector patch shape indicies. The following tools were added to the project:

  • AddPointCoordinatesToTable
  • CentroidVector
  • CompactnessRatio
  • ConstructVectorTIN
  • ElongationRatio
  • ExtendVectorLines
  • HoleProportion
  • LayerFootprint
  • LidarConstructVectorTIN
  • LidarTINGridding
  • LinesToPolygons
  • Medoid
  • MinimumBoundingCircle
  • MinimumBoundingEnvelope
  • MultiPartToSinglePart
  • PerimeterAreaRatio
  • PolygonArea
  • PolygonPerimeter
  • RasterStreamsToVector
  • RasterToVectorPoints
  • RelatedCircumscribingCircle
  • RemovePolygonHoles
  • ShapeComplexityIndex
  • SinglePartToMultiPart
  • SmoothVectors
  • SumOverlay
  • TINGridding

Other Changes

  • Added a minimum number of neighbours criteria in the neighbourhood search of the
    LidarGroundPointFilter tool. In this way, if the fixed-radius search yields fewer
    neighbours than this minimum neighbours threshold, a second kNN search is carried
    out to identify the k nearest neighbours. This can be preferable for cases where
    the point density varies significantly in the data set, e.g. in the case of
    terrestrial LiDAR point clouds.
  • The MinimumBoundingBox tool has been modified to take an optional minimization
    criteria, including minimum box area, length, width, or perimeter.
  • Fixed: Bug that resulted in a 0.5 m offset in the positioning of interpolated grids.
  • Fixed: Viewshed tool now emits an intelligible error when the viewing station does
    not overlap with the DEM.

Pre-compiled Binaries
Download pre-compiled executables for Windows, MacOS, and Linux from the WhiteboxTools homepage.