R: Smooth a point cloud

smooth_height {lidR} | R Documentation

## 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.

### 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.

### Value

An object of the class `LAS`.

### Examples

    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)

[Package lidR version 3.2.2 Index]