37 #ifndef _PCL_GPU_FEATURES_HPP_ 38 #define _PCL_GPU_FEATURES_HPP_ 40 #include <pcl/pcl_macros.h> 42 #include <pcl/gpu/containers/device_array.h> 43 #include <pcl/gpu/octree/device_format.hpp> 44 #include <pcl/gpu/octree/octree.hpp> 66 void setSearchSurface(
const PointCloud& surface);
67 void setIndices(
const Indices& indices);
68 void setRadiusSearch(
float radius,
int max_results);
86 void setInputNormals(
const Normals& normals);
100 void compute(
Normals& normals);
101 void setViewPoint(
float vpx,
float vpy,
float vpz);
102 void getViewPoint(
float& vpx,
float& vpy,
float& vpz);
108 float vpx_, vpy_, vpz_;
225 void setViewPoint(
float vpx,
float vpy,
float vpz);
226 void getViewPoint(
float& vpx,
float& vpy,
float& vpz);
228 void setUseGivenNormal (
bool use);
229 void setNormalToUse (
const NormalType& normal);
230 void setUseGivenCentroid (
bool use);
231 void setCentroidToUse (
const PointType& centroid);
233 void setNormalizeBins (
bool normalize);
234 void setNormalizeDistance (
bool normalize);
235 void setFillSizeComponent (
bool fill_size);
240 float vpx_, vpy_, vpz_;
242 bool use_given_normal_;
243 bool use_given_centroid_;
244 bool normalize_bins_;
245 bool normalize_distances_;
246 bool size_component_;
248 NormalType normal_to_use_;
249 PointType centroid_to_use_;
262 double support_angle_cos = 0.0,
263 unsigned int min_pts_neighb = 0);
265 void setImageWidth (
unsigned int bin_count);
266 void setSupportAngle (
float support_angle_cos);
267 void setMinPointCountInNeighbourhood (
unsigned int min_pts_neighb);
268 void setInputWithNormals (
const PointCloud& input,
const Normals& normals);
269 void setSearchSurfaceWithNormals (
const PointCloud& surface,
const Normals& normals);
271 void setRotationAxis (
const NormalType& axis);
272 void setInputRotationAxes (
const Normals& axes);
273 void useNormalsAsRotationAxis();
274 void setAngularDomain (
bool is_angular =
true);
275 void setRadialStructure (
bool is_radial =
true);
280 Normals input_normals_;
281 Normals rotation_axes_cloud_;
286 bool use_custom_axis_;
289 bool use_custom_axes_cloud_;
293 unsigned int image_width_;
294 float support_angle_cos_;
295 unsigned int min_pts_neighb_;
Class for SpinImages estimation.
Feature represents the base feature class that takes normals as input also.
Feature::NormalType NormalType
Octree implementation on GPU.
Class for normal estimation.
void flipNormalTowardsViewpoint(const PointT &point, float vp_x, float vp_y, float vp_z, Eigen::Matrix< Scalar, 4, 1 > &normal)
Flip (in place) the estimated normal of a point towards a given viewpoint.
Class for PFH estimation.
A point structure representing an N-D histogram.
Defines all the PCL implemented PointT point type structures.
Feature represents the base feature class.
A point structure representing Euclidean xyz coordinates.
DeviceArray< NormalType > Normals
DeviceArray< PointType > PointCloud
Class for PFHRGB estimation.
DeviceArray< int > Indices
Histogram< 153 > SpinImage
Class for PPFRGBRegion estimation.
Class for FPFH estimation.