24 icp.outlierFilters.clear();
33 PM::get().OutlierFilterRegistrar.create(name, params);
34 icp.outlierFilters.push_back(testedOutlierFilter);
42 addFilter(
"MaxDistOutlierFilter", {
46 validate2dTransformation();
51 addFilter(
"MaxDistOutlierFilter", {
55 validate3dTransformation();
63 std::shared_ptr<PM::OutlierFilter> extraOutlierFilter;
66 PM::get().OutlierFilterRegistrar.create(
67 "MaxDistOutlierFilter", {
71 icp.outlierFilters.push_back(extraOutlierFilter);
73 addFilter(
"MinDistOutlierFilter", {{
"minDist",
toParam(0.0002)}});
75 validate2dTransformation();
82 std::shared_ptr<PM::OutlierFilter> extraOutlierFilter;
85 PM::get().OutlierFilterRegistrar.create(
86 "MaxDistOutlierFilter", {
91 icp.outlierFilters.push_back(extraOutlierFilter);
93 addFilter(
"MinDistOutlierFilter", {{
"minDist",
toParam(0.0002)}});
95 validate3dTransformation();
100 addFilter(
"MedianDistOutlierFilter", {{
"factor",
toParam(3.5)}});
101 validate2dTransformation();
102 validate3dTransformation();
108 addFilter(
"TrimmedDistOutlierFilter", {{
"ratio",
toParam(0.85)}});
109 validate2dTransformation();
110 validate3dTransformation();
116 addFilter(
"VarTrimmedDistOutlierFilter", {
122 validate2dTransformation();
123 validate3dTransformation();
135 dists << 4, 5, 5, 5, 5;
138 return filter.compute(filteredReading, filteredReference, input);