lidR (version 3.1.1)

smooth_height: Smooth a point cloud

Description

Point cloud-based smoothing algorithm. Two methods are available: average within a window and Gaussian smooth within a window. The attribute Z of the returned LAS object is the smoothed Z. A new attribute Zraw is added to store the original values and can be used to restore the point cloud with unsmooth_height.

Usage

smooth_height(
  las,
  size,
  method = c("average", "gaussian"),
  shape = c("circle", "square"),
  sigma = size/6
)

unsmooth_height(las)

Arguments

las

An object of class LAS

size

numeric. The size of the windows used to smooth.

method

character. Smoothing method. Can be 'average' or 'gaussian'.

shape

character. The shape of the windows. Can be circle or square.

sigma

numeric. The standard deviation of the gaussian if the method is gaussian.

Value

An object of the class LAS.

Details

This method does not use raster-based methods to smooth the point cloud. This is a true point cloud smoothing. It is not really useful by itself but may be interesting in combination with filters such as filter_surfacepoints, for example to develop new algorithms.

Examples

Run this code
# NOT RUN {
LASfile <- system.file("extdata", "Megaplot.laz", package="lidR")
las <- readLAS(LASfile, select = "xyz")

las <- filter_surfacepoints(las, 1)
#plot(las)

las <- smooth_height(las, 5, "gaussian", "circle", sigma = 2)
#plot(las)

las <- unsmooth_height(las)
#plot(las)
# }

Run the code above in your browser using DataCamp Workspace