Public Member Functions | Public Attributes | Protected Member Functions | List of all members
mp2p_icp::Solver Class Referenceabstract

#include <Solver.h>

Inheritance diagram for mp2p_icp::Solver:
Inheritance graph
[legend]

Public Member Functions

virtual void initialize (const mrpt::containers::yaml &params)
 
virtual bool optimal_pose (const Pairings &pairings, OptimalTF_Result &out, const SolverContext &sc) const
 
- Public Member Functions inherited from mp2p_icp::Parameterizable
ParameterSourceattachedSource ()
 
const ParameterSourceattachedSource () const
 
virtual void attachToParameterSource (ParameterSource &source)
 
void checkAllParametersAreRealized () const
 
auto & declaredParameters ()
 
const auto & declaredParameters () const
 
void unrealizeParameters ()
 Mark all non-constant parameters as non-evaluated again. More...
 

Public Attributes

bool enabled = true
 
uint32_t runFromIteration = 0
 
double runUntilTranslationCorrectionSmallerThan = 0
 
uint32_t runUpToIteration = 0
 0: no limit More...
 

Protected Member Functions

virtual bool impl_optimal_pose (const Pairings &pairings, OptimalTF_Result &out, const SolverContext &sc) const =0
 
- Protected Member Functions inherited from mp2p_icp::Parameterizable
void parseAndDeclareParameter (const std::string &value, double &target)
 
void parseAndDeclareParameter (const std::string &value, float &target)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
void parseAndDeclareParameter (const std::string &value, uint32_t &target)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 

Detailed Description

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.

Definition at line 65 of file Solver.h.

Member Function Documentation

◆ impl_optimal_pose()

virtual bool mp2p_icp::Solver::impl_optimal_pose ( const Pairings pairings,
OptimalTF_Result out,
const SolverContext sc 
) const
protectedpure virtual

◆ initialize()

void Solver::initialize ( const mrpt::containers::yaml &  params)
virtual

Check each derived class to see required and optional parameters.

Reimplemented in mp2p_icp::Solver_GaussNewton, mp2p_icp::Solver_OLAE, and mp2p_icp::Solver_Horn.

Definition at line 20 of file Solver.cpp.

◆ optimal_pose()

bool Solver::optimal_pose ( const Pairings pairings,
OptimalTF_Result out,
const SolverContext sc 
) const
virtual

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.

Definition at line 28 of file Solver.cpp.

Member Data Documentation

◆ enabled

bool mp2p_icp::Solver::enabled = true

Can be used to disable one of a set of solvers in a pipeline

Definition at line 91 of file Solver.h.

◆ runFromIteration

uint32_t mp2p_icp::Solver::runFromIteration = 0

Definition at line 85 of file Solver.h.

◆ runUntilTranslationCorrectionSmallerThan

double mp2p_icp::Solver::runUntilTranslationCorrectionSmallerThan = 0

Definition at line 88 of file Solver.h.

◆ runUpToIteration

uint32_t mp2p_icp::Solver::runUpToIteration = 0

0: no limit

Definition at line 86 of file Solver.h.


The documentation for this class was generated from the following files:


mp2p_icp
Author(s): Jose-Luis Blanco-Claraco
autogenerated on Wed Jun 26 2024 02:47:10