R: Algorithms for shape detection of the local point...

shape_detection {lidR} | R Documentation

## Algorithms for shape detection of the local point neighborhood

### Description

These functions are made to be used in segment_shapes. They implement algorithms for local neighborhood shape estimation.

### Usage

    shp_plane(th1 = 25, th2 = 6, k = 8)

    shp_hplane(th1 = 25, th2 = 6, th3 = 0.98, k = 8)

    shp_line(th1 = 10, k = 8)

### Arguments

`th1, th2, th3` | numeric. Threshold values (see details)
`k` | integer. Number of neighbours used to estimate the neighborhood.

### Details

In the following, a1, a2, a3 denote the eigenvalues of the covariance matrix of the neighbouring points in ascending order. th1, th2, th3 denote a set of threshold values. Points are labelled `TRUE` if they meet the following criteria. `FALSE` otherwise.

shp_plane

  Detection of plans based on criteria defined by Limberger & Oliveira (2015) (see references). A point is labelled TRUE if the neighborhood is approximately planar, that is:

  a2 > (th1*a1) and (th2*a2) > a3

shp_hplane

  The same as 'plane' but with an extra test on the orientation of the Z vector of the principal components to test the horizontality of the surface.

  a2 > (th1*a1) and (th2*a2) > a3 and |Z| > th3

  In theory |Z| should be exactly equal to 1. In practice 0.98 or 0.99 should be fine

shp_line

  Detection of lines inspired by the Limberger & Oliveira (2015) criterion. A point is labelled TRUE if the neighborhood is approximately linear, that is:

  th1*a2 < a3 and th1*a1 < a3

### References

Limberger, F. A., & Oliveira, M. M. (2015). Real-time detection of planar regions in unorganized point clouds. Pattern Recognition, 48(6), 2043–2053. https://doi.org/10.1016/j.patcog.2014.12.020

[Package lidR version 3.2.2 Index]