class mp2p_icp::Solver¶
Overview¶
Virtual base class for optimal alignment solvers (one step in ICP). More…
#include <Solver.h> class Solver: public COutputLogger, public CObject { public: // fields uint32_t runUpToIteration = 0; // methods virtual void initialize(const mrpt::containers::yaml& params); virtual bool optimal_pose(const Pairings& pairings, OptimalTF_Result& out, const SolverContext& sc) const; }; // direct descendants class Solver_GaussNewton; class Solver_Horn; class Solver_OLAE;
Detailed Documentation¶
Virtual base class for optimal alignment solvers (one step in ICP).
Each “solver” implementation takes a list of correspondences, and returns the optimal (in some sense) relative SE(3) pose minimizing some particular error function.
Methods¶
virtual void initialize(const mrpt::containers::yaml& params)
Check each derived class to see required and optional parameters.
virtual bool optimal_pose(const Pairings& pairings, OptimalTF_Result& out, const SolverContext& sc) const
Finds correspondences between the two point clouds. “out” is not cleared, but new pairings added to it.
Returns:
true if the method was actually invoked (due to the filter in runFromIteration and runUpToIteration) and valid solution was found.