37 #ifndef PCL_GPU_FEATURES_INTERNAL_HPP_
38 #define PCL_GPU_FEATURES_INTERNAL_HPP_
40 #include <pcl/gpu/containers/device_array.h>
41 #include <pcl/gpu/octree/device_format.hpp>
43 #include <cuda_runtime.h>
47 #define PI 3.1415926535897931f
void computePfhRgb250(const DeviceArray2D< float > &data_rpk, int max_elems_rpk, const NeighborIndices &neighbours, DeviceArray2D< PFHRGBSignature250 > &features)
void computeSPFH(const PointCloud &surface, const Normals &normals, const Indices &indices, const NeighborIndices &neighbours, DeviceArray2D< FPFHSignature33 > &spfh33)
void computeFPFH(const PointCloud &cloud, const NeighborIndices &neighbours, const DeviceArray2D< FPFHSignature33 > &spfh, DeviceArray2D< FPFHSignature33 > &features)
void computeSpinImagesCustomAxesCloud(bool radial, bool angular, float support_angle_cos, const Indices &indices, const PointCloud &input_cloud, const Normals &input_normals, const PointCloud &surface, const Normals &normals, const NeighborIndices &neighbours, int min_neighb, int image_width, float bin_size, const Normals &rotation_axes_cloud, PtrStep< float > output)
void computePointPrincipalCurvatures(const Normals &normals, const Indices &indices, const NeighborIndices &neighbours, DeviceArray< PrincipalCurvatures > &output, DeviceArray2D< float > &proj_normals_buf)
void computePPFRGBRegion(const PointXYZRGBCloud &cloud, const Normals &normals, const Indices &indices, const NeighborIndices &nn_indices, DeviceArray< PPFRGBSignature > &output)
void flipNormalTowardsViewpoint(const PointCloud &cloud, const float3 &vp, Normals &normals)
void computePfh125(const DeviceArray2D< float > &data_rpk, int max_elems_rpk, const NeighborIndices &neighbours, DeviceArray2D< PFHSignature125 > &features)
int computeUniqueIndices(std::size_t surface_size, const NeighborIndices &neighbours, DeviceArray< int > &unique_indices, DeviceArray< int > &lookup)
void repackToAosForPfhRgb(const PointCloud &cloud, const Normals &normals, const NeighborIndices &neighbours, DeviceArray2D< float > &data_rpk, int &max_elems_rpk)
void repackToAosForPfh(const PointCloud &cloud, const Normals &normals, const NeighborIndices &neighbours, DeviceArray2D< float > &data_rpk, int &max_elems_rpk)
void compute3DCentroid(const DeviceArray< PointT > &cloud, float3 ¢roid)
void computeMask(const NeighborIndices &neighbours, int min_neighb, DeviceArray< unsigned char > &mask)
void computeNormals(const PointCloud &cloud, const NeighborIndices &nn_indices, Normals &normals)
float3 getMaxDistance(const DeviceArray< PointT > &cloud, const float3 &pivot)
void computeSpinImagesCustomAxes(bool radial, bool angular, float support_angle_cos, const Indices &indices, const PointCloud &input_cloud, const Normals &input_normals, const PointCloud &surface, const Normals &normals, const NeighborIndices &neighbours, int min_neighb, int image_width, float bin_size, const float3 &rotation_axis, PtrStep< float > output)
void computeSpinImagesOrigigNormal(bool radial, bool angular, float support_angle_cos, const Indices &indices, const PointCloud &input_cloud, const Normals &input_normals, const PointCloud &surface, const Normals &normals, const NeighborIndices &neighbours, int min_neighb, int image_width, float bin_size, PtrStep< float > output)
void computePPF(const PointCloud &input, const Normals &normals, const Indices &indices, DeviceArray< PPFSignature > &output)
void computePPFRGB(const PointXYZRGBCloud &input, const Normals &normals, const Indices &indices, DeviceArray< PPFRGBSignature > &output)
float principal_curvature_y
float principal_curvature_z
float principal_curvature[3]
float principal_curvature_x
void compute(DeviceArray< VFHSignature308 > &feature)