Individual Tree Segmentation Algorithm
This function is made to be used in segment_trees. It implements an algorithm for tree segmentation based on a watershed or a marker-controlled watershed.
Simple watershed is based on the bioconductor package EBIimage
. You need to install
this package to run this method (see its github page).
Internally, the function EBImage::watershed is called.
Marker-controlled watershed is based on the imager
package and has been removed
because imager
is an orphaned package.
watershed(chm, th_tree = 2, tol = 1, ext = 1) mcwatershed(chm, treetops, th_tree = 2, ID = "treeID")
chm |
RasterLayer. Image of the canopy. Can be computed with grid_canopy or read from an external file. |
th_tree |
numeric. Threshold below which a pixel cannot be a tree. Default is 2. |
tol |
numeric. Tolerance see ?EBImage::watershed. |
ext |
numeric. see ?EBImage::watershed. |
treetops |
|
ID |
character. If the |
Because this algorithm works on a CHM only there is no actual need for a point cloud. Sometimes the
user does not even have the point cloud that generated the CHM. lidR
is a point cloud-oriented
library, which is why this algorithm must be used in segment_trees to merge the result into the point
cloud. However, the user can use this as a stand-alone function like this:
chm = raster("file/to/a/chm/") ttops = find_trees(chm, lmf(3)) crowns = watershed(chm)()
Other individual tree segmentation algorithms:
dalponte2016()
,
li2012()
,
silva2016()
Other raster based tree segmentation algorithms:
dalponte2016()
,
silva2016()
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(250) chm <- grid_canopy(las, res = 0.5, p2r(0.3)) ker <- matrix(1,3,3) chm <- raster::focal(chm, w = ker, fun = mean, na.rm = TRUE) las <- segment_trees(las, watershed(chm)) plot(las, color = "treeID", colorPalette = col)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.