lidR (version 2.0.1)

li2012: Individual Tree Segmentation Algorithm

Description

This functions is made to be used in lastrees. It implements an algorithm for tree segmentation based on the Li et al. (2012) article (see reference). This method is a growing region method working at the point cloud level. It is an implementation, as strict as possible, made by the lidR author but with the addition of a parameter hmin to prevent over-segmentation for objects that are too low.

Usage

li2012(dt1 = 1.5, dt2 = 2, R = 2, Zu = 15, hmin = 2,
  speed_up = 10)

Arguments

dt1

numeric. Threshold number 1. See reference page 79 in Li et al. (2012). Default is 1.5.

dt2

numeric. Threshold number 2. See reference page 79 in Li et al. (2012). Default is 2.

R

numeric. Search radius. See page 79 in Li et al. (2012). Default is 2. If R = 0 all the points are automatically considered as local maxima and the search step is skipped (much faster).

Zu

numeric. If point elevation is greater than Zu, dt2 is used, otherwise dt1 is used. See page 79 in Li et al. (2012). Default is 15.

hmin

numeric. Minimum height of a detected tree. Default is 2.

speed_up

numeric. Maximum radius of a crown. Any value greater than a crown is good because this parameter does not affect the result. However, it greatly affects the computation speed. The lower the value, the faster the method. Default is 10.

References

Li, W., Guo, Q., Jakubowski, M. K., & Kelly, M. (2012). A new method for segmenting individual trees from the lidar point cloud. Photogrammetric Engineering & Remote Sensing, 78(1), 75-84.

See Also

Other individual tree segmentation algorithms: dalponte2016, silva2016, watershed

Examples

Run this code
# NOT RUN {
LASfile <- system.file("extdata", "MixedConifer.laz", package="lidR")
las <- readLAS(LASfile, select = "xyz", filter = "-drop_z_below 0")
col <- pastel.colors(200)

las <- lastrees(las, li2012(dt1 = 1.4))
plot(las, color = "treeID", colorPalette = col)
# }

Run the code above in your browser using DataCamp Workspace