23 #include <mrpt/containers/yaml.h> 24 #include <mrpt/core/optional_ref.h> 25 #include <mrpt/math/TPose3D.h> 26 #include <mrpt/rtti/CObject.h> 27 #include <mrpt/system/COutputLogger.h> 51 class ICP :
public mrpt::system::COutputLogger,
public mrpt::rtti::CObject
62 const mrpt::math::TPose3D& initialGuessLocalWrtGlobal,
64 const mrpt::optional_ref<LogRecord>& outputDebugInfo = std::nullopt);
143 mp2p_icp::QualityEvaluator::Ptr
obj;
178 const metric_map_t& pcLocal,
const mrpt::poses::CPose3D& localPose,
190 [[maybe_unused]]
const mrpt::containers::yaml& p)
199 {QualityEvaluator_PairedRatio::Create(), 1.0}};
206 : pcGlobal(pcsGlobal), pcLocal(pcsLocal)
215 uint32_t currentIteration = 0;
Pointcloud matching generic base class.
std::vector< mp2p_icp::Matcher::Ptr > matcher_list_t
static void save_log_file(const LogRecord &log, const Parameters &p)
Generic container of pointcloud(s), extracted features and other maps.
solver_list_t & solvers()
const metric_map_t & pcLocal
INLINE Rall1d< T, V, S > log(const Rall1d< T, V, S > &arg)
void initialize_solvers(const mrpt::containers::yaml ¶ms)
OptimalTF_Result currentSolution
ICP_State(const metric_map_t &pcsGlobal, const metric_map_t &pcsLocal)
static bool run_solvers(const solver_list_t &solvers, const Pairings &pairings, OptimalTF_Result &out, const SolverContext &sc={})
quality_eval_list_t quality_evaluators_
const solver_list_t & solvers() const
mp2p_icp::QualityEvaluator::Ptr obj
Generic representation of pointcloud(s) and/or extracted features.
Matching quality evaluator (virtual base class)
void initialize_quality_evaluators(const mrpt::containers::yaml ¶ms)
const matcher_list_t & matchers() const
static double evaluate_quality(const quality_eval_list_t &evaluators, const metric_map_t &pcGlobal, const metric_map_t &pcLocal, const mrpt::poses::CPose3D &localPose, const Pairings &finalPairings)
matcher_list_t & matchers()
std::vector< mp2p_icp::Solver::Ptr > solver_list_t
Virtual base class for optimal alignment solvers (one step in ICP).
const quality_eval_list_t & quality_evaluators() const
const metric_map_t & pcGlobal
A record of the inputs and outputs of an ICP run.
virtual void initialize_derived([[maybe_unused]] const mrpt::containers::yaml &p)
std::string layerOfLargestPc
virtual void align(const metric_map_t &pcLocal, const metric_map_t &pcGlobal, const mrpt::math::TPose3D &initialGuessLocalWrtGlobal, const Parameters &p, Results &result, const mrpt::optional_ref< LogRecord > &outputDebugInfo=std::nullopt)
QualityEvaluatorEntry(mp2p_icp::QualityEvaluator::Ptr o, double w)
quality_eval_list_t & quality_evaluators()
std::vector< QualityEvaluatorEntry > quality_eval_list_t
void initialize_matchers(const mrpt::containers::yaml ¶ms)
Matching quality evaluator: simple ratio [0,1] of paired entities.