Jakteristics is a python package to compute point cloud geometric features.

A geometric feature is a description of the geometric shape around a point based on its neighborhood. For example, a point located on a wall will have a high planarity.

The features used in this package are described in the paper Contour detection in unstructured 3D point clouds. They are based on the eigenvalues λ1, λ2 and λ3 and the eigenvectors e1, e2 and e3.

  • Eigenvalue sum : \(λ1 + λ2 + λ3\)
  • Omnivariance: \((λ1 \cdot λ2 \cdot λ3) ^ {1 / 3}\)
  • Eigenentropy: \(-∑_{i=1}^3 λi \cdot \ln(λi)\)
  • Anisotropy: \((λ1 − λ3)/λ1\)
  • Planarity: \((λ2−λ3)/λ1\)
  • Linearity: \((λ1−λ2)/λ1\)
  • PCA1: \(λ1/(λ1 + λ2 + λ3)\)
  • PCA2: \(λ2/(λ1 + λ2 + λ3)\)
  • Surface Variation: \(λ3/(λ1+λ2+λ3)\)
  • Sphericity: \(λ3/λ1\)
  • Verticality: \(1-|e3[2]|\)
  • Nx, Ny, Nz: The normal vector