41 #include <pcl/point_types.h>
42 #include <pcl/features/feature.h>
43 #include <pcl/features/normal_3d.h>
63 template<
typename Po
intInT,
typename Po
intNT,
typename Po
intOutT = ReferenceFrame,
typename SignedDistanceT =
float>
87 using Ptr = shared_ptr<FLARELocalReferenceFrameEstimation<PointInT, PointNT, PointOutT> >;
88 using ConstPtr = shared_ptr<const FLARELocalReferenceFrameEstimation<PointInT, PointNT, PointOutT> >;
109 tangent_radius_ = radius;
119 return (tangent_radius_);
129 margin_thresh_ = margin_thresh;
139 return (margin_thresh_);
150 min_neighbors_for_normal_axis_ = min_neighbors_for_normal_axis;
160 return (min_neighbors_for_normal_axis_);
171 min_neighbors_for_tangent_axis_ = min_neighbors_for_tangent_axis;
181 return (min_neighbors_for_tangent_axis_);
195 sampled_surface_ = cloud;
196 fake_sampled_surface_ =
false;
200 inline const PointCloudInConstPtr&
203 return (sampled_surface_);
216 return (sampled_tree_);
220 inline const std::vector<SignedDistanceT> &
223 return (signed_distances_from_highest_points_);
252 float tangent_radius_{0.0f};
255 float margin_thresh_{0.85f};
258 int min_neighbors_for_normal_axis_{6};
261 int min_neighbors_for_tangent_axis_{6};
266 PointCloudInConstPtr sampled_surface_;
272 NormalEstimation<PointInT, PointNT> normal_estimation_;
275 std::vector<SignedDistanceT> signed_distances_from_highest_points_;
278 bool fake_sampled_surface_{
false};
284 #ifdef PCL_NO_PRECOMPILE
285 #include <pcl/features/impl/flare.hpp>
FLARELocalReferenceFrameEstimation implements the Fast LocAl Reference framE algorithm for local refe...
shared_ptr< PointCloud< PointT > > Ptr
typename KdTree::Ptr KdTreePtr
std::string feature_name_
The feature name.
float getTangentRadius() const
Get the maximum distance of the points used to estimate the x_axis of the FLARE Reference Frame for a...
typename PointCloudIn::ConstPtr PointCloudInConstPtr
void setMinNeighboursForTangentAxis(int min_neighbors_for_tangent_axis)
Set min number of neighbours required for the computation of X axis.
shared_ptr< const Feature< PointInT, PointOutT > > ConstPtr
SignedDistanceT computePointLRF(const int index, Eigen::Matrix3f &lrf)
Estimate the LRF descriptor for a given point based on its spatial neighborhood of 3D points with nor...
void setSearchMethodForSampledSurface(const KdTreePtr &tree)
Provide a pointer to the search object linked to sampled_surface.
int getMinNeighboursForNormalAxis() const
Get min number of neighbours required for the computation of Z axis.
const KdTreePtr & getSearchMethodForSampledSurface() const
Get a pointer to the search method used for the estimation of x axis.
void computeFeature(PointCloudOut &output) override
Abstract feature estimation method.
void setSearchSampledSurface(const PointCloudInConstPtr &cloud)
Provide a pointer to the dataset used for the estimation of X axis.
void setTangentRadius(float radius)
Set the maximum distance of the points used to estimate the x_axis of the FLARE Reference Frame for a...
void setMarginThresh(float margin_thresh)
Set the percentage of the search tangent radius after which a point is considered part of the support...
const PointCloudInConstPtr & getSearchSampledSurface() const
Get a pointer to the sampled_surface_ cloud dataset.
FLARELocalReferenceFrameEstimation()
Constructor.
void setMinNeighboursForNormalAxis(int min_neighbors_for_normal_axis)
Set min number of neighbours required for the computation of Z axis.
float getMarginThresh() const
Get the percentage of the search tangent radius after which a point is considered part of the support...
Feature represents the base feature class.
bool initCompute() override
This method should get called before starting the actual computation.
bool deinitCompute() override
This method should get called after the actual computation is ended.
int getMinNeighboursForTangentAxis() const
Get min number of neighbours required for the computation of X axis.
shared_ptr< Feature< PointInT, PointOutT > > Ptr
typename PointCloudSignedDistance::Ptr PointCloudSignedDistancePtr
const std::vector< SignedDistanceT > & getSignedDistancesFromHighestPoints() const
Get the signed distances of the highest points from the fitted planes.