Estimate absolute pose

class limap.estimators.absolute_pose.PointLineAbsolutePoseOptions

Bases: pybind11_object

property estimate_focal_length

False)

Type:

(bool, default

property max_error_line

12.0)

Type:

(float, default

property max_error_point

12.0)

Type:

(float, default

property max_iterations
Type:

(int, default

mergedict(self: object, kwargs: dict) None
property min_iterations
Type:

(int, default

property random_seed

True)

Type:

(bool, default

property seed
Type:

(int, default

property success_prob

0.9999)

Type:

(float, default

summary(self: limap._limap._estimators._absolute_pose.PointLineAbsolutePoseOptions, write_type: bool = False) str
todict(self: limap._limap._estimators._absolute_pose.PointLineAbsolutePoseOptions, recursive: bool = True) dict
property weight_line

1.0)

Type:

(float, default

property weight_point

1.0)

Type:

(float, default

class limap.estimators.absolute_pose.PointLineAbsolutePoseResult

Bases: pybind11_object

property camera

None)

Type:

(NoneType, default

property inliers_lines

[])

Type:

(list, default

property inliers_points

[])

Type:

(list, default

property iterations
Type:

(int, default

mergedict(self: object, kwargs: dict) None
property model_score

1.7976931348623157e+308)

Type:

(float, default

property num_inliers
Type:

(int, default

property num_inliers_lines
Type:

(int, default

property num_inliers_points
Type:

(int, default

property pose

Rigid3d(rotation_xyzw=[0, 0, 0, 1], translation=[0, 0, 0]))

Type:

(Rigid3d, default

property success

False)

Type:

(bool, default

summary(self: limap._limap._estimators._absolute_pose.PointLineAbsolutePoseResult, write_type: bool = False) str
todict(self: limap._limap._estimators._absolute_pose.PointLineAbsolutePoseResult, recursive: bool = True) dict
limap.estimators.absolute_pose.estimate_absolute_pose(l3ds: list[Line3d], l2ds: list[Line2d], p3ds: list[np.ndarray], p2ds: list[np.ndarray], camera: pycolmap.Camera, options: _estimators.PointLineAbsolutePoseOptions | None = None) _estimators.PointLineAbsolutePoseResult

Estimate absolute camera pose from point and line correspondences.

Uses PoseLib’s hybrid RANSAC with adaptive solver selection (P3P, P2P1LL, P1P2LL, P3LL).

Parameters:
  • l3ds – Matched 3D line segments (same size as l2ds)

  • l2ds – Matched 2D lines (same size as l3ds)

  • p3ds – Matched 3D points (same size as p2ds)

  • p2ds – Matched 2D points (same size as p3ds)

  • camera – Camera intrinsics

  • options – Estimation options (uses defaults if None)

Returns:

PointLineAbsolutePoseResult containing pose and RANSAC statistics

limap.estimators.absolute_pose.estimate_point_line_absolute_pose(l3ds: collections.abc.Sequence[limap._limap._geometry.Line3d], l2ds: collections.abc.Sequence[limap._limap._geometry.Line2d], p3ds: collections.abc.Sequence[Annotated[numpy.typing.ArrayLike, numpy.float64, '[3, 1]']], p2ds: collections.abc.Sequence[Annotated[numpy.typing.ArrayLike, numpy.float64, '[2, 1]']], cam: pycolmap._core.Camera, options: limap._limap._estimators._absolute_pose.PointLineAbsolutePoseOptions) limap._limap._estimators._absolute_pose.PointLineAbsolutePoseResult