FilterBase.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-2024 Jose Luis Blanco, University of Almeria
4  * See LICENSE for license information.
5  * ------------------------------------------------------------------------- */
13 #pragma once
14 
16 #include <mp2p_icp/metricmap.h>
17 #include <mp2p_icp_filters/sm2mm.h>
18 #include <mrpt/containers/yaml.h>
19 #include <mrpt/core/optional_ref.h>
20 #include <mrpt/maps/CPointsMap.h>
21 #include <mrpt/obs/obs_frwds.h>
22 #include <mrpt/rtti/CObject.h>
23 #include <mrpt/system/COutputLogger.h>
24 
25 #include <cstdint>
26 #include <stdexcept>
27 
28 namespace mrpt::system
29 {
30 class CTimeLogger;
31 }
32 
33 namespace mp2p_icp_filters
34 {
45 class FilterBase : public mrpt::rtti::CObject, // RTTI support
46  public mrpt::system::COutputLogger, // Logging support
47  public mp2p_icp::Parameterizable // Dynamic parameters
48 {
49  DEFINE_VIRTUAL_MRPT_OBJECT(FilterBase)
50 
51  public:
52  FilterBase();
53  virtual ~FilterBase();
54 
60  virtual void initialize(const mrpt::containers::yaml& cfg_block) = 0;
61 
64  virtual void filter(mp2p_icp::metric_map_t& inOut) const = 0;
65 
67 };
68 
70 using FilterPipeline = std::vector<FilterBase::Ptr>;
71 
74  const FilterPipeline& filters, mp2p_icp::metric_map_t& inOut,
75  const mrpt::optional_ref<mrpt::system::CTimeLogger>& profiler =
76  std::nullopt);
77 
84  const mrpt::containers::yaml& c,
85  const mrpt::system::VerbosityLevel& vLevel = mrpt::system::LVL_INFO);
86 
95  const std::string& filename,
96  const mrpt::system::VerbosityLevel& vLevel = mrpt::system::LVL_INFO);
97 
100 } // namespace mp2p_icp_filters
mp2p_icp_filters::FilterBase::~FilterBase
virtual ~FilterBase()
mp2p_icp_filters::FilterBase::initialize
virtual void initialize(const mrpt::containers::yaml &cfg_block)=0
mp2p_icp_filters::apply_filter_pipeline
void apply_filter_pipeline(const FilterPipeline &filters, mp2p_icp::metric_map_t &inOut, const mrpt::optional_ref< mrpt::system::CTimeLogger > &profiler=std::nullopt)
Definition: FilterBase.cpp:25
mp2p_icp_filters::filter_pipeline_from_yaml_file
FilterPipeline filter_pipeline_from_yaml_file(const std::string &filename, const mrpt::system::VerbosityLevel &vLevel=mrpt::system::LVL_INFO)
Definition: FilterBase.cpp:72
testing::internal::string
::std::string string
Definition: gtest.h:1979
mp2p_icp::Parameterizable
Definition: Parameterizable.h:85
mp2p_icp_filters::filter_pipeline_from_yaml
FilterPipeline filter_pipeline_from_yaml(const mrpt::containers::yaml &c, const mrpt::system::VerbosityLevel &vLevel=mrpt::system::LVL_INFO)
Definition: FilterBase.cpp:40
mp2p_icp_filters::FilterBase
Definition: FilterBase.h:45
mp2p_icp_filters::FilterPipeline
std::vector< FilterBase::Ptr > FilterPipeline
Definition: FilterBase.h:70
sm2mm.h
simplemap-to-metricmap utility function
Parameterizable.h
mp2p_icp_filters::FilterBase::filter
virtual void filter(mp2p_icp::metric_map_t &inOut) const =0
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:48
mp2p_icp_filters::FilterBase::FilterBase
FilterBase()
Definition: FilterBase.cpp:21
mp2p_icp_filters
Definition: FilterAdjustTimestamps.h:19
kitti-batch-convert.filename
filename
Definition: kitti-batch-convert.py:6
mrpt::system
Definition: FilterBase.h:28


mp2p_icp
Author(s): Jose-Luis Blanco-Claraco
autogenerated on Fri Jul 5 2024 02:47:01