Main MRPT website > C++ reference for MRPT 1.5.6
CPointCloudFilterByDistance.h
Go to the documentation of this file.
1 /* +---------------------------------------------------------------------------+
2  | Mobile Robot Programming Toolkit (MRPT) |
3  | http://www.mrpt.org/ |
4  | |
5  | Copyright (c) 2005-2017, Individual contributors, see AUTHORS file |
6  | See: http://www.mrpt.org/Authors - All rights reserved. |
7  | Released under BSD License. See details in http://www.mrpt.org/License |
8  +---------------------------------------------------------------------------+ */
9 #pragma once
10 
12 #include <mrpt/poses/CPose3D.h>
16 
17 #include <mrpt/maps/link_pragmas.h>
18 
19 namespace mrpt
20 {
21  namespace maps
22  {
23  /** Implementation of pointcloud filtering based on requisities for minimum neigbouring points in both,
24  * the current timestamp and a previous one.
25  *
26  * \sa CPointsMap
27  * \ingroup mrpt_maps_grp
28  */
30  {
31  public:
32  // See base docs
33  void filter(
34  mrpt::maps::CPointsMap * inout_pointcloud, //!< [in,out] The input pointcloud, which will be modified upon return after filtering.
35  const mrpt::system::TTimeStamp pc_timestamp, //!< [in] The timestamp of the input pointcloud
36  const mrpt::poses::CPose3D & pc_reference_pose, //!< [in] If NULL, the PC is assumed to be given in global coordinates. Otherwise, it will be transformed from local coordinates to global using this transformation.
37  TExtraFilterParams * params = nullptr //!< [in,out] additional in/out parameters
38  ) MRPT_OVERRIDE;
39 
41  {
42  double min_dist; //!< (Default: 0.05 m)
43  double angle_tolerance; //!< (Default: 2 deg) Stored in rad.
44  double too_old_seconds; //!< (Default: 1 s)
45  int previous_keyframes; //!< (Default: 1) How many previous keyframes will be compared with the latest pointcloud.
46  double max_deletion_ratio; //!< (Default: 0.4) If the ratio [0,1] of points considered invalid ("deletion") is larger than this ratio, no point will be deleted since it'd be too suspicious and may indicate a failure of this filter.
47 
48  TOptions();
49  void loadFromConfigFile(const mrpt::utils::CConfigFileBase &source, const std::string &section) MRPT_OVERRIDE; // See base docs
50  void saveToConfigFile(mrpt::utils::CConfigFileBase &c, const std::string &section) const MRPT_OVERRIDE;
51  };
52 
54 
55  private:
57  {
59  mrpt::maps::CSimplePointsMapPtr pc;
60 
62  };
63 
65  };
66 
67  }
68 } // End of namespace
uint64_t TTimeStamp
A system independent time type, it holds the the number of 100-nanosecond intervals since January 1...
Definition: datetime.h:30
#define MRPT_MAKE_ALIGNED_OPERATOR_NEW
Definition: memory.h:112
#define MRPT_OVERRIDE
C++11 "override" for virtuals:
const GLfloat * c
Definition: glew.h:10088
int previous_keyframes
(Default: 1) How many previous keyframes will be compared with the latest pointcloud.
std::map< TYPE1, TYPE2, std::less< TYPE1 >, Eigen::aligned_allocator< std::pair< const TYPE1, TYPE2 > > > map_t
This class allows loading and storing values and vectors of different types from a configuration text...
double max_deletion_ratio
(Default: 0.4) If the ratio [0,1] of points considered invalid ("deletion") is larger than this rat...
GLint GLint GLint GLint GLint GLint GLint GLbitfield GLenum filter
Definition: glew.h:2678
A cloud of points in 2D or 3D, which can be built from a sequence of laser scans or other sensors...
GLsizei const GLcharARB ** string
Definition: glew.h:3293
A class used to store a 3D pose (a 3D translation + a rotation in 3D).
Definition: CPose3D.h:72
Implementation of pointcloud filtering based on requisities for minimum neigbouring points in both...
double angle_tolerance
(Default: 2 deg) Stored in rad.
GLfloat * params
Definition: glew.h:1436
GLsizei GLsizei GLchar * source
Definition: glew.h:1739
This is a virtual base class for sets of options than can be loaded from and/or saved to configuratio...
Virtual base class for all point-cloud filtering algorithm.
mrpt::aligned_containers< mrpt::system::TTimeStamp, FrameInfo >::map_t m_last_frames



Page generated by Doxygen 1.8.6 for MRPT 1.5.6 Git: 4c65e84 Tue Apr 24 08:18:17 2018 +0200 at mar abr 24 08:26:17 CEST 2018