Overview
namespace mp2p_icp_filters {
// typedefs
typedef std::vector<FilterBase::Ptr> FilterPipeline;
typedef std::vector<Generator::Ptr> GeneratorSet;
// enums
enum DecimateMethod;
enum TimestampAdjustMethod;
// structs
struct NotImplementedError;
struct sm2mm_options_t;
// classes
class FilterAdjustTimestamps;
class FilterBase;
class FilterBoundingBox;
class FilterByIntensity;
class FilterByRange;
class FilterByRing;
class FilterCurvature;
class FilterDecimateAdaptive;
class FilterDecimateVoxels;
class FilterDecimateVoxelsQuadratic;
class FilterDeleteLayer;
class FilterDeskew;
class FilterEdgesPlanes;
class FilterMerge;
class FilterNormalizeIntensity;
class FilterRemoveByVoxelOccupancy;
class FilterVoxelSlice;
class Generator;
class GeneratorEdgesFromCurvature;
class GeneratorEdgesFromRangeImage;
class PointCloudToVoxelGrid;
class PointCloudToVoxelGridSingle;
// global functions
void apply_filter_pipeline(
const FilterPipeline& filters,
mp2p_icp::metric_map_t& inOut,
const mrpt::optional_ref<mrpt::system::CTimeLogger>& profiler = std::nullopt
);
FilterPipeline filter_pipeline_from_yaml(
const mrpt::containers::yaml& c,
const mrpt::system::VerbosityLevel& vLevel = mrpt::system::LVL_INFO
);
FilterPipeline filter_pipeline_from_yaml_file(
const std::string& filename,
const mrpt::system::VerbosityLevel& vLevel = mrpt::system::LVL_INFO
);
bool 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 apply_generators(
const GeneratorSet& generators,
const mrpt::obs::CObservation& obs,
const std::optional<mrpt::poses::CPose3D>& robotPose = std::nullopt
);
bool 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
);
mp2p_icp::metric_map_t apply_generators(
const GeneratorSet& generators,
const mrpt::obs::CSensoryFrame& sf,
const std::optional<mrpt::poses::CPose3D>& robotPose = std::nullopt
);
GeneratorSet generators_from_yaml(
const mrpt::containers::yaml& c,
const mrpt::system::VerbosityLevel& vLevel = mrpt::system::LVL_INFO
);
GeneratorSet generators_from_yaml_file(
const std::string& filename,
const mrpt::system::VerbosityLevel& vLevel = mrpt::system::LVL_INFO
);
mrpt::maps::CPointsMap::Ptr GetOrCreatePointLayer(
mp2p_icp::metric_map_t& m,
const std::string& layerName,
bool allowEmptyName = true,
const std::string& classForLayerCreation = "mrpt::maps::CSimplePointsMap"
);
void simplemap_to_metricmap(
const mrpt::maps::CSimpleMap& sm,
mp2p_icp::metric_map_t& outMap,
const mrpt::containers::yaml& pipeline,
const sm2mm_options_t& options = {}
);
} // namespace mp2p_icp_filters