38 #ifndef PCL_SMOOTHEDSURFACESKEYPOINT_H_
39 #define PCL_SMOOTHEDSURFACESKEYPOINT_H_
41 #include <pcl/keypoints/keypoint.h>
54 template <
typename Po
intT,
typename Po
intNT>
58 typedef boost::shared_ptr<SmoothedSurfacesKeypoint<PointT, PointNT> >
Ptr;
59 typedef boost::shared_ptr<const SmoothedSurfacesKeypoint<PointT, PointNT> >
ConstPtr;
76 neighborhood_constant_ (0.5f),
85 name_ =
"SmoothedSurfacesKeypoint";
93 const PointCloudNTConstPtr &normals,
121 float neighborhood_constant_;
122 std::vector<PointCloudTConstPtr> clouds_;
123 std::vector<PointCloudNTConstPtr> cloud_normals_;
124 std::vector<KdTreePtr> cloud_trees_;
125 PointCloudNTConstPtr normals_;
126 std::vector<std::pair<float, size_t> > scales_;
131 compareScalesFunction (
const std::pair<float, size_t> &a,
132 const std::pair<float, size_t> &b) {
return a.first < b.first; }
PointCloudT::ConstPtr PointCloudTConstPtr
boost::shared_ptr< PointCloud< PointT > > Ptr
SmoothedSurfacesKeypoint()
pcl::PointCloud< PointT > PointCloudT
std::string name_
The key point detection method's name.
This file defines compatibility wrappers for low level I/O functions.
void setNeighborhoodConstant(float neighborhood_constant)
Based on the paper: Xinju Li and Igor Guskov Multi-scale features for approximate alignment of point-...
Keypoint< PointT, PointT >::KdTreePtr KdTreePtr
boost::shared_ptr< const SmoothedSurfacesKeypoint< PointT, PointNT > > ConstPtr
void detectKeypoints(PointCloudT &output)
Abstract key point detection method.
PointCloudNT::ConstPtr PointCloudNTConstPtr
void addSmoothedPointCloud(const PointCloudTConstPtr &cloud, const PointCloudNTConstPtr &normals, KdTreePtr &kdtree, float &scale)
float getNeighborhoodConstant()
boost::shared_ptr< const PointCloud< PointT > > ConstPtr
Keypoint represents the base class for key points.
void setInputNormals(const PointCloudNTConstPtr &normals)
pcl::PointCloud< PointNT > PointCloudNT
PointCloud represents the base class in PCL for storing collections of 3D points. ...
boost::shared_ptr< SmoothedSurfacesKeypoint< PointT, PointNT > > Ptr
void setInputScale(float input_scale)
A point structure representing Euclidean xyz coordinates, and the RGB color.
PointCloudT::Ptr PointCloudTPtr