class mp2p_icp_filters::Generator¶
Overview¶
Generic base class providing process(), converting a generic mrpt::obs::CObservation into a metric_map_t with just a point cloud layer (named raw
). More…
#include <Generator.h> class Generator: public CObject, public COutputLogger { public: // structs struct Parameters; // fields Parameters params_; // methods virtual void initialize(const mrpt::containers::yaml& cfg_block); virtual void process(const mrpt::obs::CObservation& input_raw, mp2p_icp::metric_map_t& inOut) const; };
Detailed Documentation¶
Generic base class providing process(), converting a generic mrpt::obs::CObservation into a metric_map_t with just a point cloud layer (named raw
).
This pointcloud-t can optionally then be passed through one or more FilterBase implementations to detect features, decimate it, etc.
Specializations of Generator may exist and could be implemented to exploit the structured information in the original CObservation data to be more efficient in detecting features (e.g. corners, etc.).
Internally, fifferent signatures exists for:
- 2D LiDAR range scans (mrpt::obs::CObservation2DRangeScan)
- 3D Velodyne scans (mrpt::obs::CObservationVelodyneScan)
- 3D RGBD camera images (mrpt::obs::CObservation3DRangeScan)
- Generic 2D/3D point clouds (mrpt::obs::CObservationPointCloud)
- Generic multi-beam rotating (or flash) Lidars (mrpt::obs::CObservationRotatingScan)
Derived classes may implement all or only one of those methods. An exception NotImplementedError will be thrown if an non-implemented method is called.
process() is not required to be thread (multientry) safe.
A set of generators can be loaded from a YAML file and applied together using mp2p_icp_filters::apply_generators().
Methods¶
virtual void initialize(const mrpt::containers::yaml& cfg_block)
Loads, from a YAML configuration block, all the common, and implementation-specific parameters. If you redefine this method, remember calling this method on the parent class.
virtual void process(const mrpt::obs::CObservation& input_raw, mp2p_icp::metric_map_t& inOut) const
See docs above for Generator. This method dispatches the observation by type to the corresponding virtual method