41 #include <pcl/features/feature.h>
47 template <
typename Po
intType>
58 using Ptr = shared_ptr<RangeImageBorderExtractor>;
59 using ConstPtr = shared_ptr<const RangeImageBorderExtractor>;
75 float max_neighbor_distance_squared{};
82 int left{-1}, right{-1}, top{-1}, bottom{-1};
89 int max_no_of_threads{1};
90 int pixel_radius_borders{3};
91 int pixel_radius_plane_extraction{2};
92 int pixel_radius_border_direction{2};
93 float minimum_border_probability{0.8f};
94 int pixel_radius_principal_curvature{2};
102 getObstacleBorderAngle (
const BorderTraits& border_traits);
165 ShadowBorderIndices**
182 int range_image_size_during_extraction_{0};
188 Eigen::Vector3f** border_directions_{
nullptr};
190 float* surface_change_scores_{
nullptr};
191 Eigen::Vector3f* surface_change_directions_{
nullptr};
205 getNeighborDistanceChangeScore (
const LocalSurface& local_surface,
int x,
int y,
206 int offset_x,
int offset_y,
int pixel_radius=1)
const;
218 int offset_x,
int offset_y)
const;
231 changeScoreAccordingToShadowBorderValue (
int x,
int y,
int offset_x,
int offset_y,
float* border_scores,
232 float* border_scores_other_direction,
int& shadow_border_idx)
const;
241 updatedScoreAccordingToNeighborValues (
int x,
int y,
const float* border_scores)
const;
265 checkPotentialBorder (
int x,
int y,
int offset_x,
int offset_y,
float* border_scores_left,
266 float* border_scores_right,
int& shadow_border_idx)
const;
278 checkIfMaximum (
int x,
int y,
int offset_x,
int offset_y,
float* border_scores,
int shadow_border_idx)
const;
306 calculateBorderDirection (
int x,
int y);
322 get3dDirection (
const BorderDescription& border_description, Eigen::Vector3f& direction,
334 calculateMainPrincipalCurvature (
int x,
int y,
int radius,
float& magnitude,
335 Eigen::Vector3f& main_direction)
const;
352 updatedScoresAccordingToNeighborValues (
const std::vector<float>& border_scores)
const;
356 #include <pcl/features/impl/range_image_border_extractor.hpp>
Feature represents the base feature class.
PointCloud represents the base class in PCL for storing collections of 3D points.
RangeImage is derived from pcl/PointCloud and provides functionalities with focus on situations where...
Defines all the PCL implemented PointT point type structures.
std::bitset< 32 > BorderTraits
Data type to store extended information about a transition from foreground to backgroundSpecification...
A structure to store if a point in a range image lies on a border between an obstacle and the backgro...
Stores the indices of the shadow border corresponding to obstacle borders.
ShadowBorderIndices()=default