gicp op• Data kinds: points → descriptor
• Call: import fullseye as fs; fs.ledger.estimate_covariances(points, k: 'int' = 20, epsilon: 'float' = 0.001) -> 'np.ndarray' (to call the implementation directly, import gicp; gicp.estimate_covariances(points, k: 'int' = 20, epsilon: 'float' = 0.001) -> 'np.ndarray'; from the registry, ops3d.get("estimate_covariances"))
Plane-to-plane covariances (N,3,3): each point's local covariance with its eigenvalues replaced by (ε,1,1).
Eigen-decomposes the sample covariance of the k nearest neighbours (including the point itself) and reconstructs it with the eigenvalues replaced by 1 within the tangent plane and ε along the surface normal (direction of the smallest eigenvalue). The covariance magnitude is constant (ε,1,1) regardless of the neighbourhood spread, giving a scale-invariant "planar likelihood" model (the core of GICP).
Arguments:
points (N,3): point cloud.
k: number of neighbours (including itself). Covariance estimation is stable from about k≥4.
epsilon: small variance assigned to the normal direction (0<ε<1). The smaller, the more strongly
it constrains to the tangent plane. Scale-invariant (dimensionless ratio).
Returns:
(N,3,3) bundle of symmetric positive-definite covariances. The eigenvalues of each covariance are {ε,1,1}, and the eigenvector
corresponding to ε is the local surface normal direction.
Exceptions:
ValueError: points is not (N,3) / N<3 (normal undetermined, degenerate) /
epsilon outside (0,1) (fail-closed).
• Sample-data catalog (download URLs / licences) — 2-D uses skimage.data (BSD/public domain) plus synthetic images; 3-D lists download URLs for real data sources (Stanford, PDS, …).
• Operator provenance and references — the sources of the research/methods this op family came from.
• gicp_register — py -3.11 examples_3d/gicp_register.py
descriptor as input)fuse_to_voxel · shape_distance
gicp)*Provenance: gicp.py — 3D operator registry. This per-op note is generated by tools/opdocs.py md (do not hand-edit).*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.