mrpt.tfest

mrpt-tfest Python API

Package Contents

class mrpt.tfest.TMatchingPair
class mrpt.tfest.TMatchingPair(globalIdx: int, localIdx: int, global_pt: mrpt.math.TPoint3Df, local_pt: mrpt.math.TPoint3Df)
class mrpt.tfest.TMatchingPair(globalIdx: int, localIdx: int, global_x: float, global_y: float, global_z: float, local_x: float, local_y: float, local_z: float)

A pair of corresponding points (float coordinates) in two point sets.

errorSquareAfterTransformation: float
globalIdx: int
global_pt: mrpt.math.TPoint3Df
localIdx: int
local_pt: mrpt.math.TPoint3Df
class mrpt.tfest.TMatchingPairList

A list of TMatchingPair.

push_back(arg0: TMatchingPair) → None

Appends a pair.

size() → int

Returns the number of pairs.

class mrpt.tfest.TMatchingPairList_d

A list of TMatchingPair_d.

push_back(arg0: TMatchingPair_d) → None

Appends a pair.

size() → int

Returns the number of pairs.

class mrpt.tfest.TMatchingPair_d
class mrpt.tfest.TMatchingPair_d(globalIdx: int, localIdx: int, global_pt: mrpt.math.TPoint3D, local_pt: mrpt.math.TPoint3D)
class mrpt.tfest.TMatchingPair_d(globalIdx: int, localIdx: int, global_x: float, global_y: float, global_z: float, local_x: float, local_y: float, local_z: float)

A pair of corresponding points (double coordinates) in two point sets.

errorSquareAfterTransformation: float
globalIdx: int
global_pt: mrpt.math.TPoint3D
localIdx: int
local_pt: mrpt.math.TPoint3D
class mrpt.tfest.TPotentialMatch

C++ API: struct mrpt::tfest::TPotentialMatch

A potential pairing of two points, passed to user_individual_compat_callback.

property idx_other: int

Index of the point in the other set

property idx_this: int

Index of the point in this set

class mrpt.tfest.TSE2RobustParams

C++ API: struct mrpt::tfest::TSE2RobustParams

Parameters of se2_l2_robust().

property max_rmse_to_end: float

Stops when a solution has an RMSE below this value. 0 (default) means 2*normalizationStd.

property probability_find_good_model: float

Probability of finding a good model, for the adaptive number of iterations (default: 0.999).

property ransac_algorithmForLandmarks: bool

Use the Mahalanobis distance (true, default) or the Euclidean distance (false).

property ransac_fuseByCorrsMatch: bool

If true (default), modes are fused when their subsets of pairs match; otherwise, when their means are closer than ransac_fuseMaxDiffXY and ransac_fuseMaxDiffPhi.

property ransac_fuseMaxDiffPhi: float

Maximum difference in phi to fuse two modes, in radians (default: 0.1 deg).

property ransac_fuseMaxDiffXY: float

Maximum difference in x and y to fuse two modes (default: 0.01).

property ransac_mahalanobisDistanceThreshold: float

Threshold to accept a pair into a consensus set (default: 3.0).

property ransac_maxSetSize: int

Number of pairs tested for consensus in each iteration (default: 20). Set it to the number of correspondences to test all of them.

property ransac_minSetSize: int

Minimum size of a consensus set (default: 3).

property ransac_min_nSimulations: int

Minimum number of iterations with the adaptive method (default: 1500).

property ransac_nSimulations: int

Number of iterations, or 0 (default) for an adaptive number, from probability_find_good_model.

property user_individual_compat_callback: Callable[[TPotentialMatch], bool]

Optional function(TPotentialMatch) -> bool: return True to accept a candidate pairing, False to reject it (None: accept all)

property verbose: bool

Prints debug information.

class mrpt.tfest.TSE2RobustResult

C++ API: struct mrpt::tfest::TSE2RobustResult

Result of se2_l2_robust().

property largestSubSet: TMatchingPairList

The consensus subset of pairs with the lowest RMSE.

property ransac_iters: int

Number of iterations executed.

property transformation: mrpt.poses.CPosePDFSOG

The estimated transformations, as a sum of Gaussians (mrpt.poses.CPosePDFSOG).

class mrpt.tfest.TSE3RobustParams

C++ API: struct mrpt::tfest::TSE3RobustParams

Parameters of se3_l2_robust().

property forceScaleToUnity: bool

Estimates a rigid transformation, with scale 1 (default: true).

property ransac_threshold_ang: float

Maximum rotation difference for a solution to match a candidate, in radians (default: 1 deg).

property ransac_threshold_scale: float

Maximum scale difference for a solution to match a candidate (default: 0.03).

property user_individual_compat_callback: Callable[[TPotentialMatch], bool]

Optional function(TPotentialMatch) -> bool: return True to accept a candidate pairing, False to reject it (None: accept all)

property verbose: bool

Prints debug information.

ransac_maxSetSizePct: float
ransac_minSetSize: int
ransac_nmaxSimulations: int
ransac_threshold_lin: float
class mrpt.tfest.TSE3RobustResult

C++ API: struct mrpt::tfest::TSE3RobustResult

Result of se3_l2_robust().

property transformation: mrpt.poses.CPose3D

Estimated SE(3) transform as CPose3D (converted from internal CPose3DQuat).

inliers_idx: list[int]
scale: float
mrpt.tfest.se2_l2(arg0: TMatchingPairList) → tuple

Least-squares SE(2) estimation. Returns (ok, mrpt::math::TPose2D)

mrpt.tfest.se2_l2_robust(in_correspondences: TMatchingPairList, in_normalizationStd: float, in_ransac_params: TSE2RobustParams) → tuple

Robust SE(2) estimation using RANSAC, returning a sum of Gaussians. in_normalizationStd is the standard deviation of the point coordinates. Returns (ok, TSE2RobustResult).

mrpt.tfest.se2_l2_with_covariance(correspondences: TMatchingPairList) → tuple

Least-squares SE(2) estimation, also returning its normalized 3x3 covariance, which must be multiplied by the variance of the point coordinates. Returns (ok, mrpt.math.TPose2D, mrpt.math.CMatrixDouble33). ok is false for less than two pairs, or if the rotation is undefined.

mrpt.tfest.se3_l2(in_correspondences: TMatchingPairList, forceScaleToUnity: bool = False) → tuple
mrpt.tfest.se3_l2(in_correspondences: TMatchingPairList_d, forceScaleToUnity: bool = False) → tuple
mrpt.tfest.se3_l2(in_points_this: list[mrpt.math.TPoint3D], in_points_other: list[mrpt.math.TPoint3D], forceScaleToUnity: bool = False) → tuple

Least-squares SE(3) estimation (Horn’s method) from two lists of corresponding points of the same length. Returns (ok, mrpt.poses.CPose3D, scale).

mrpt.tfest.se3_l2_robust(arg0: TMatchingPairList, arg1: TSE3RobustParams) → tuple

Robust SE(3) estimation using RANSAC. Returns (ok, TSE3RobustResult)