filters.estimaterank

filters.estimaterank computes the rank (i.e., the number of nonzero singular values) of a neighborhood of points.

This method uses Eigen’s JacobiSVD class to solve the singular value decomposition and to estimate the rank using the user-specified threshold. A singular value will be considered nonzero if its absolute value is greater than the product of the user-supplied threshold and the absolute value of the maximum singular value.

More on JacobiSVD can be found at https://eigen.tuxfamily.org/dox/classEigen_1_1JacobiSVD.html.

Default Embedded Stage

This stage is enabled by default

Example

This sample pipeline estimates the rank of each point using filters.estimaterank and then filters out those points where the rank is three using filters.range.

{
  "pipeline":[
    "input.las",
    {
      "type":"filters.estimaterank",
      "knn":8,
      "thresh":0.01
    },
    {
      "type":"filters.range",
      "limits":"Rank![3:3]"
    },
    "output.laz"
  ]
}

Options

knn
The number of k-nearest neighbors. [Default: 8]
thresh
The threshold used to identify nonzero singular values. [Default: 0.01]