Estimate 3D groups

Fitting of vanishing points, planes and parametric primitives, each in a plain and a RANSAC-based robust variant.

limap.estimators.group3d.estimate_cone(points: collections.abc.Sequence[Annotated[numpy.typing.ArrayLike, numpy.float64, '[3, 1]']]) list[float] | None

Estimate cone from 3D points

limap.estimators.group3d.estimate_cone_robust(points: collections.abc.Sequence[Annotated[numpy.typing.ArrayLike, numpy.float64, '[3, 1]']], max_error: SupportsFloat | SupportsIndex, options: limap._limap._estimators.PoseLibRansacOptions) tuple[list[float] | None, limap._limap._estimators.PoseLibRansacStats]

Robust cone estimation from 3D points using RANSAC

limap.estimators.group3d.estimate_plane(points: collections.abc.Sequence[Annotated[numpy.typing.ArrayLike, numpy.float64, '[3, 1]']], lines: collections.abc.Sequence[limap._limap._geometry.Line3d]) Annotated[numpy.typing.NDArray[numpy.float64], '[4, 1]'] | None

Estimate plane from 3D points and lines

limap.estimators.group3d.estimate_plane_from_lines(lines: collections.abc.Sequence[limap._limap._geometry.Line3d]) Annotated[numpy.typing.NDArray[numpy.float64], '[4, 1]'] | None

Estimate plane from 3D lines

limap.estimators.group3d.estimate_plane_from_points(points: collections.abc.Sequence[Annotated[numpy.typing.ArrayLike, numpy.float64, '[3, 1]']]) Annotated[numpy.typing.NDArray[numpy.float64], '[4, 1]'] | None

Estimate plane from 3D points

limap.estimators.group3d.estimate_plane_robust(points: collections.abc.Sequence[Annotated[numpy.typing.ArrayLike, numpy.float64, '[3, 1]']], lines: collections.abc.Sequence[limap._limap._geometry.Line3d], max_error: SupportsFloat | SupportsIndex, options: limap._limap._estimators.PoseLibRansacOptions) tuple[Annotated[numpy.typing.NDArray[numpy.float64], '[4, 1]'] | None, limap._limap._estimators.PoseLibRansacStats]

Robust plane estimation from points and lines using RANSAC

limap.estimators.group3d.estimate_sphere(points: collections.abc.Sequence[Annotated[numpy.typing.ArrayLike, numpy.float64, '[3, 1]']]) Annotated[numpy.typing.NDArray[numpy.float64], '[4, 1]'] | None

Estimate sphere from 3D points

limap.estimators.group3d.estimate_sphere_robust(points: collections.abc.Sequence[Annotated[numpy.typing.ArrayLike, numpy.float64, '[3, 1]']], max_error: SupportsFloat | SupportsIndex, options: limap._limap._estimators.PoseLibRansacOptions) tuple[Annotated[numpy.typing.NDArray[numpy.float64], '[4, 1]'] | None, limap._limap._estimators.PoseLibRansacStats]

Robust sphere estimation from 3D points using RANSAC

limap.estimators.group3d.estimate_vp(lines: collections.abc.Sequence[limap._limap._geometry.Line3d]) Annotated[numpy.typing.NDArray[numpy.float64], '[3, 1]'] | None

Estimate VP direction from 3D lines

limap.estimators.group3d.estimate_vp_robust(lines: collections.abc.Sequence[limap._limap._geometry.Line3d], max_error: SupportsFloat | SupportsIndex, options: limap._limap._estimators.PoseLibRansacOptions) tuple[Annotated[numpy.typing.NDArray[numpy.float64], '[3, 1]'] | None, limap._limap._estimators.PoseLibRansacStats]

Robust VP estimation from 3D lines using RANSAC