41#include <pcl/features/feature.h>
42#include <pcl/filters/voxel_grid.h>
71 template <
typename Po
intInT,
typename Po
intNT,
typename Po
intOutT>
131 double min_radius_plane = 0.100,
132 double max_radius_noise = 0.015,
133 double min_radius_cylinder = 0.175,
134 double max_min_radius_diff = 0.050);
149 bool additive_ =
true;
155 int rsd_nr_subdiv_ = 0;
158 double rsd_plane_radius_ = 0.0;
161 Eigen::MatrixXi relative_coordinates_all_;
167#ifdef PCL_NO_PRECOMPILE
168#include <pcl/features/impl/grsd.hpp>
PointCloudNConstPtr normals_
A pointer to the input dataset that contains the point normals of the XYZ dataset.
Feature represents the base feature class.
typename PointCloudIn::Ptr PointCloudInPtr
double search_parameter_
The actual search parameter (from either search_radius_ or k_).
const std::string & getClassName() const
Get a string representation of the name of this class.
void setSearchSurface(const PointCloudInConstPtr &cloud)
Provide a pointer to a dataset to add additional information to estimate the features for every point...
double search_radius_
The nearest neighbors search radius for each point.
std::string feature_name_
The feature name.
GRSDEstimation estimates the Global Radius-based Surface Descriptor (GRSD) for a given point cloud da...
typename Feature< PointInT, PointOutT >::PointCloudIn PointCloudIn
static int getSimpleType(float min_radius, float max_radius, double min_radius_plane=0.100, double max_radius_noise=0.015, double min_radius_cylinder=0.175, double max_min_radius_diff=0.050)
Get the type of the local surface based on the min and max radius computed.
void computeFeature(PointCloudOut &output) override
Estimate the Global Radius-based Surface Descriptor (GRSD) for a set of points given by <setInputClou...
void setPlaneRadius(double plane_radius)
Set the maximum radius, above which everything can be considered planar.
void setRadiusSearch(double radius)
Set the sphere radius that is to be used for determining the nearest neighbors used for the feature e...
double getRadiusSearch() const
Get the sphere radius used for determining the neighbors.
void setNrSubdivisions(int nr_subdiv)
Set the number of subdivisions for the considered distance interval.
typename Feature< PointInT, PointOutT >::PointCloudOut PointCloudOut
typename Feature< PointInT, PointOutT >::PointCloudInPtr PointCloudInPtr
GRSDEstimation()
Constructor.
PointCloudConstPtr input_
The input point cloud dataset.
IndicesPtr indices_
A pointer to the vector of point indices to use.
Eigen::MatrixXi getAllNeighborCellIndices()
Get the relative cell indices of all the 26 neighbors.