Function mola::vision::fundamentalMatrixFilter

Function Documentation

void mola::vision::fundamentalMatrixFilter(const std::vector<mrpt::math::TPoint2Df> &prev_pts, const std::vector<mrpt::math::TPoint2Df> &next_pts, std::vector<TrackStatus> &status, const FMatrixFilterParams &params = {})

8-point fundamental matrix estimation + RANSAC inlier filtering.

For each pair (prev_pts[i], next_pts[i]) with status[i] == OK, fits a fundamental matrix F using the normalized 8-point algorithm inside a RANSAC loop. Points with Sampson distance > ransac_threshold are marked TrackStatus::OUTLIER.

Requires at least 8 OK correspondences; if fewer, marks all as OUTLIER.

The 8-point algorithm uses Eigen SVD (JacobiSVD) for robustness. Normalization follows Hartley’s scheme (centroid + RMS distance = √2).

Adapted from: lightweight_vio (MIT License), apply_fundamental_matrix_filter().