Learn R Programming

lidR (version 4.1.2)

its_li2012: Individual Tree Segmentation Algorithm

Description

This functions is made to be used in segment_trees. It implements an algorithm for tree segmentation based on Li et al. (2012) (see reference). This method is a growing region method working at the point cloud level. It is an implementation by lidR authors, from the original paper, as close as possible from the original description. However we added a parameter hmin to prevent over-segmentation for objects that are too low. This algorithm is known to be slow because it has an algorithmic complexity worst that O(n^2).

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 by restricting the number of comparisons to perform. 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: its_dalponte2016, its_silva2016, its_watershed

Examples

Run this code
LASfile <- system.file("extdata", "MixedConifer.laz", package="lidR")
poi <- "-drop_z_below 0 -inside 481280 3812940 481320 3812980"
las <- readLAS(LASfile, select = "xyz", filter = poi)
col <- pastel.colors(200)

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

Run the code above in your browser using DataLab