Namespaces | Classes | Typedefs | Enumerations | Functions
mp2p_icp_filters library

LiDAR and point cloud segmentation and filtering algorithms. More...

Namespaces

 mp2p_icp_filters
 

Classes

class  mp2p_icp_filters::FilterAdjustTimestamps
 
class  mp2p_icp_filters::FilterBase
 
class  mp2p_icp_filters::FilterBoundingBox
 
class  mp2p_icp_filters::FilterByIntensity
 
class  mp2p_icp_filters::FilterByRange
 
class  mp2p_icp_filters::FilterByRing
 
class  mp2p_icp_filters::FilterCurvature
 
class  mp2p_icp_filters::FilterDecimateAdaptive
 
class  mp2p_icp_filters::FilterDecimateVoxels
 
class  mp2p_icp_filters::FilterDecimateVoxelsQuadratic
 
class  mp2p_icp_filters::FilterDeleteLayer
 
class  mp2p_icp_filters::FilterDeskew
 
class  mp2p_icp_filters::FilterEdgesPlanes
 
class  mp2p_icp_filters::FilterMerge
 
class  mp2p_icp_filters::FilterNormalizeIntensity
 
class  mp2p_icp_filters::FilterRemoveByVoxelOccupancy
 
class  mp2p_icp_filters::FilterVoxelSlice
 
class  mp2p_icp_filters::Generator
 
class  mp2p_icp_filters::GeneratorEdgesFromCurvature
 
class  mp2p_icp_filters::GeneratorEdgesFromRangeImage
 
struct  mp2p_icp_filters::NotImplementedError
 
class  mp2p_icp_filters::PointCloudToVoxelGrid
 
class  mp2p_icp_filters::PointCloudToVoxelGridSingle
 
struct  mp2p_icp_filters::sm2mm_options_t
 Options for simplemap_to_metricmap() More...
 

Typedefs

using mp2p_icp_filters::FilterPipeline = std::vector< FilterBase::Ptr >
 
using mp2p_icp_filters::GeneratorSet = std::vector< Generator::Ptr >
 

Enumerations

enum  mp2p_icp_filters::DecimateMethod : uint8_t { mp2p_icp_filters::DecimateMethod::FirstPoint = 0, mp2p_icp_filters::DecimateMethod::ClosestToAverage, mp2p_icp_filters::DecimateMethod::VoxelAverage, mp2p_icp_filters::DecimateMethod::RandomPoint }
 
enum  mp2p_icp_filters::TimestampAdjustMethod : uint8_t { mp2p_icp_filters::TimestampAdjustMethod::EarliestIsZero = 0, mp2p_icp_filters::TimestampAdjustMethod::MiddleIsZero, mp2p_icp_filters::TimestampAdjustMethod::Normalize }
 

Functions

void mp2p_icp_filters::apply_filter_pipeline (const FilterPipeline &filters, mp2p_icp::metric_map_t &inOut, const mrpt::optional_ref< mrpt::system::CTimeLogger > &profiler=std::nullopt)
 
mp2p_icp::metric_map_t mp2p_icp_filters::apply_generators (const GeneratorSet &generators, const mrpt::obs::CObservation &obs, const std::optional< mrpt::poses::CPose3D > &robotPose=std::nullopt)
 
bool mp2p_icp_filters::apply_generators (const GeneratorSet &generators, const mrpt::obs::CObservation &obs, mp2p_icp::metric_map_t &output, const std::optional< mrpt::poses::CPose3D > &robotPose=std::nullopt)
 
mp2p_icp::metric_map_t mp2p_icp_filters::apply_generators (const GeneratorSet &generators, const mrpt::obs::CSensoryFrame &sf, const std::optional< mrpt::poses::CPose3D > &robotPose=std::nullopt)
 
bool mp2p_icp_filters::apply_generators (const GeneratorSet &generators, const mrpt::obs::CSensoryFrame &sf, mp2p_icp::metric_map_t &output, const std::optional< mrpt::poses::CPose3D > &robotPose=std::nullopt)
 
FilterPipeline mp2p_icp_filters::filter_pipeline_from_yaml (const mrpt::containers::yaml &c, const mrpt::system::VerbosityLevel &vLevel=mrpt::system::LVL_INFO)
 
FilterPipeline mp2p_icp_filters::filter_pipeline_from_yaml_file (const std::string &filename, const mrpt::system::VerbosityLevel &vLevel=mrpt::system::LVL_INFO)
 
GeneratorSet mp2p_icp_filters::generators_from_yaml (const mrpt::containers::yaml &c, const mrpt::system::VerbosityLevel &vLevel=mrpt::system::LVL_INFO)
 
GeneratorSet mp2p_icp_filters::generators_from_yaml_file (const std::string &filename, const mrpt::system::VerbosityLevel &vLevel=mrpt::system::LVL_INFO)
 
mrpt::maps::CPointsMap::Ptr mp2p_icp_filters::GetOrCreatePointLayer (mp2p_icp::metric_map_t &m, const std::string &layerName, bool allowEmptyName=true, const std::string &classForLayerCreation="mrpt::maps::CSimplePointsMap")
 
void mp2p_icp_filters::simplemap_to_metricmap (const mrpt::maps::CSimpleMap &sm, mp2p_icp::metric_map_t &outMap, const mrpt::containers::yaml &pipeline, const sm2mm_options_t &options={})
 

Detailed Description

LiDAR and point cloud segmentation and filtering algorithms.

Typedef Documentation

◆ FilterPipeline

using mp2p_icp_filters::FilterPipeline = typedef std::vector<FilterBase::Ptr>

A sequence of filters

Definition at line 75 of file FilterBase.h.

◆ GeneratorSet

using mp2p_icp_filters::GeneratorSet = typedef std::vector<Generator::Ptr>

A set of generators

Definition at line 198 of file Generator.h.

Enumeration Type Documentation

◆ DecimateMethod

enum mp2p_icp_filters::DecimateMethod : uint8_t
strong

Enum to select what method to use to pick the downsampled point for each voxel in FilterDecimateVoxels.

Enumerator
FirstPoint 

Pick the first point that was put int the voxel

ClosestToAverage 

Closest to the average of all voxel points

VoxelAverage 

Average of all voxel points

RandomPoint 

Pick one of the voxel points at random

Definition at line 29 of file FilterDecimateVoxels.h.

◆ TimestampAdjustMethod

Enum to select the pointcloud timestamp normalization criterion in FilterAdjustTimestamps

Enumerator
EarliestIsZero 

Adjust such as the earliest timestamp is 0, wih succesive ones representing real ellapsed seconds.

MiddleIsZero 

Adjust such as the middle timestamp is 0, with the rest being positive and negative ellapsed seconds.

Normalize 

Normalize all timestamps such as they are in the range [0,1]

Definition at line 26 of file FilterAdjustTimestamps.h.

Function Documentation

◆ apply_filter_pipeline()

void mp2p_icp_filters::apply_filter_pipeline ( const FilterPipeline filters,
mp2p_icp::metric_map_t inOut,
const mrpt::optional_ref< mrpt::system::CTimeLogger > &  profiler = std::nullopt 
)

Applies a pipeline of filters to a given metric_map_t

Definition at line 25 of file FilterBase.cpp.

◆ apply_generators() [1/4]

mp2p_icp::metric_map_t mp2p_icp_filters::apply_generators ( const GeneratorSet generators,
const mrpt::obs::CObservation &  obs,
const std::optional< mrpt::poses::CPose3D > &  robotPose = std::nullopt 
)

Definition at line 271 of file Generator.cpp.

◆ apply_generators() [2/4]

bool mp2p_icp_filters::apply_generators ( const GeneratorSet generators,
const mrpt::obs::CObservation &  obs,
mp2p_icp::metric_map_t output,
const std::optional< mrpt::poses::CPose3D > &  robotPose = std::nullopt 
)

Applies a set of generators to a given input raw observation(s) and generates a metric_map_t.

Note
The former contents on the output metric_map_t object are untouched, so calling this function several times can be used to accumulate point cloud elements from different sensors.
Returns
true if any of the generators actually processed "obs"

Definition at line 255 of file Generator.cpp.

◆ apply_generators() [3/4]

mp2p_icp::metric_map_t mp2p_icp_filters::apply_generators ( const GeneratorSet generators,
const mrpt::obs::CSensoryFrame &  sf,
const std::optional< mrpt::poses::CPose3D > &  robotPose = std::nullopt 
)

Definition at line 280 of file Generator.cpp.

◆ apply_generators() [4/4]

bool mp2p_icp_filters::apply_generators ( const GeneratorSet generators,
const mrpt::obs::CSensoryFrame &  sf,
mp2p_icp::metric_map_t output,
const std::optional< mrpt::poses::CPose3D > &  robotPose = std::nullopt 
)

Definition at line 289 of file Generator.cpp.

◆ filter_pipeline_from_yaml()

FilterPipeline mp2p_icp_filters::filter_pipeline_from_yaml ( const mrpt::containers::yaml &  c,
const mrpt::system::VerbosityLevel &  vLevel = mrpt::system::LVL_INFO 
)

Creates a pipeline of filters from a YAML configuration block (a sequence). Refer to YAML file examples. Returns an empty pipeline for an empty or null yaml node. Returned filters are already initialize()'d.

Definition at line 40 of file FilterBase.cpp.

◆ filter_pipeline_from_yaml_file()

FilterPipeline mp2p_icp_filters::filter_pipeline_from_yaml_file ( const std::string &  filename,
const mrpt::system::VerbosityLevel &  vLevel = mrpt::system::LVL_INFO 
)

Definition at line 72 of file FilterBase.cpp.

◆ generators_from_yaml()

GeneratorSet mp2p_icp_filters::generators_from_yaml ( const mrpt::containers::yaml &  c,
const mrpt::system::VerbosityLevel &  vLevel = mrpt::system::LVL_INFO 
)

Creates a set of generators from a YAML configuration block (a sequence). Returns an empty generators set for an empty or null yaml node. Refer to YAML file examples. Returned generators are already initialize()'d.

Definition at line 310 of file Generator.cpp.

◆ generators_from_yaml_file()

GeneratorSet mp2p_icp_filters::generators_from_yaml_file ( const std::string &  filename,
const mrpt::system::VerbosityLevel &  vLevel = mrpt::system::LVL_INFO 
)

Definition at line 342 of file Generator.cpp.

◆ GetOrCreatePointLayer()

mrpt::maps::CPointsMap::Ptr mp2p_icp_filters::GetOrCreatePointLayer ( mp2p_icp::metric_map_t m,
const std::string &  layerName,
bool  allowEmptyName = true,
const std::string &  classForLayerCreation = "mrpt::maps::CSimplePointsMap" 
)

Definition at line 15 of file GetOrCreatePointLayer.cpp.

◆ simplemap_to_metricmap()

void mp2p_icp_filters::simplemap_to_metricmap ( const mrpt::maps::CSimpleMap &  sm,
mp2p_icp::metric_map_t outMap,
const mrpt::containers::yaml &  pipeline,
const sm2mm_options_t options = {} 
)

Utility function to build metric maps ("*.mm") from raw observations as a simple map ("*.sm"). For a ready-to-use CLI application exposing this function, as well as documentation on the meaning of each argument, see sm2mm.

The former constents of outMap are cleared.

Definition at line 23 of file sm2mm.cpp.



mp2p_icp
Author(s):
autogenerated on Thu Oct 17 2024 02:45:36