ICP_LibPointmatcher.h
Go to the documentation of this file.
1 /* -------------------------------------------------------------------------
2  * A repertory of multi primitive-to-primitive (MP2P) ICP algorithms in C++
3  * Copyright (C) 2018-2021 Jose Luis Blanco, University of Almeria
4  * See LICENSE for license information.
5  * ------------------------------------------------------------------------- */
12 #pragma once
13 
14 #include <mp2p_icp/ICP.h>
16 #include <mp2p_icp/Parameters.h>
17 #include <mp2p_icp/Results.h>
18 #include <mp2p_icp/metricmap.h>
19 #include <mrpt/rtti/CObject.h>
20 
21 #include <vector>
22 
23 namespace mp2p_icp
24 {
29 class ICP_LibPointmatcher : public ICP
30 {
31  DEFINE_MRPT_OBJECT(ICP_LibPointmatcher, mp2p_icp)
32 
33  public:
34  void initialize_derived(const mrpt::containers::yaml& params) override;
35 
36  void align(
37  const metric_map_t& pcLocal, const metric_map_t& pcGlobal,
38  const mrpt::math::TPose3D& initialGuessLocalWrtGlobal,
39  const Parameters& p, Results& result,
40  const mrpt::optional_ref<LogRecord>& outputDebugInfo =
41  std::nullopt) override;
42 
44  {
47  unsigned int KDTreeMatcher_knn = 1;
48  std::string outlierFilter = "VarTrimmedDistOutlierFilter";
49  std::map<std::string, double> outlierParams = {
50  {"minRatio", 0.05},
51  {"maxRatio", 0.95},
52  {"lambda", 2.35},
53  };
54  std::string errorMinimizer = "PointToPlaneErrorMinimizer";
55  };
56 
58 
60  static bool methodAvailable();
61 
62  private:
64 #if defined(MP2P_HAS_LIBPOINTMATCHER)
65 
66 #endif
67 };
68 } // namespace mp2p_icp
ICP.h
Generic ICP algorithm container.
mp2p_icp
Definition: covariance.h:17
mp2p_icp::ICP_LibPointmatcher::ParametersLibpointmatcher::SurfaceNormalDataPointsFilter_knn
unsigned int SurfaceNormalDataPointsFilter_knn
Definition: ICP_LibPointmatcher.h:46
mp2p_icp::ICP_LibPointmatcher::pm_icp_yaml_settings_
std::string pm_icp_yaml_settings_
Definition: ICP_LibPointmatcher.h:63
Parameters.h
testing::internal::string
::std::string string
Definition: gtest.h:1979
mp2p_icp::ICP
Definition: ICP.h:51
mp2p_icp::ICP_LibPointmatcher::ParametersLibpointmatcher::errorMinimizer
std::string errorMinimizer
Definition: ICP_LibPointmatcher.h:54
mp2p_icp::ICP_LibPointmatcher::ParametersLibpointmatcher::RandomSamplingDataPointsFilter_prob
double RandomSamplingDataPointsFilter_prob
Definition: ICP_LibPointmatcher.h:45
mp2p_icp::ICP_LibPointmatcher::ParametersLibpointmatcher::outlierParams
std::map< std::string, double > outlierParams
Definition: ICP_LibPointmatcher.h:49
mp2p_icp::ICP_LibPointmatcher::methodAvailable
static bool methodAvailable()
Definition: ICP_LibPointmatcher.cpp:35
IterTermReason.h
mp2p_icp::ICP_LibPointmatcher::parametersLibpointmatcher
ParametersLibpointmatcher parametersLibpointmatcher
Definition: ICP_LibPointmatcher.h:57
mp2p_icp::ICP_LibPointmatcher::ParametersLibpointmatcher::KDTreeMatcher_knn
unsigned int KDTreeMatcher_knn
Definition: ICP_LibPointmatcher.h:47
mp2p_icp::ICP_LibPointmatcher::initialize_derived
void initialize_derived(const mrpt::containers::yaml &params) override
Definition: ICP_LibPointmatcher.cpp:67
mp2p_icp::ICP_LibPointmatcher::ParametersLibpointmatcher::outlierFilter
std::string outlierFilter
Definition: ICP_LibPointmatcher.h:48
mp2p_icp::ICP_LibPointmatcher
Definition: ICP_LibPointmatcher.h:29
mp2p_icp::ICP_LibPointmatcher::ParametersLibpointmatcher
Definition: ICP_LibPointmatcher.h:43
mp2p_icp::ICP_LibPointmatcher::align
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) override
Definition: ICP_LibPointmatcher.cpp:75
metricmap.h
Generic representation of pointcloud(s) and/or extracted features.
mp2p_icp::metric_map_t
Generic container of pointcloud(s), extracted features and other maps.
Definition: metricmap.h:47
mp2p_icp::Results
Definition: Results.h:21
mp2p_icp::Parameters
Definition: Parameters.h:25
Results.h


mrpt_local_obstacles
Author(s): Jose-Luis Blanco-Claraco
autogenerated on Mon Aug 14 2023 02:09:03