38 #ifndef PCL_HARRIS_KEYPOINT_3D_H_ 39 #define PCL_HARRIS_KEYPOINT_3D_H_ 41 #include <pcl/keypoints/keypoint.h> 51 template <
typename Po
intInT,
typename Po
intOutT,
typename NormalT = pcl::Normal>
55 typedef boost::shared_ptr<HarrisKeypoint3D<PointInT, PointOutT, NormalT> >
Ptr;
56 typedef boost::shared_ptr<const HarrisKeypoint3D<PointInT, PointOutT, NormalT> >
ConstPtr;
87 : threshold_ (threshold)
93 name_ =
"HarrisKeypoint3D";
179 unsigned int threads_;
183 #include <pcl/keypoints/impl/harris_3d.hpp> 185 #endif // #ifndef PCL_HARRIS_KEYPOINT_3D_H_ boost::shared_ptr< HarrisKeypoint3D< PointInT, PointOutT, NormalT > > Ptr
void responseNoble(PointCloudOut &output) const
void setRadius(float radius)
Set the radius for normal estimation and non maxima supression.
Keypoint< PointInT, PointOutT >::PointCloudIn PointCloudIn
virtual void setInputCloud(const PointCloudInConstPtr &cloud)
Provide a pointer to the input dataset.
void setNormals(const PointCloudNConstPtr &normals)
Set normals if precalculated normals are available.
std::string name_
The key point detection method's name.
void responseHarris(PointCloudOut &output) const
gets the corner response for valid input points
virtual 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.
void setNumberOfThreads(unsigned int nr_threads=0)
Initialize the scheduler and set the number of threads to use.
void setThreshold(float threshold)
Set the threshold value for detecting corners.
void responseCurvature(PointCloudOut &output) const
HarrisKeypoint3D(ResponseMethod method=HARRIS, float radius=0.01f, float threshold=0.0f)
Constructor.
boost::shared_ptr< PointCloud< NormalT > > Ptr
Keypoint represents the base class for key points.
void refineCorners(PointCloudOut &corners) const
PointCloudN::ConstPtr PointCloudNConstPtr
virtual ~HarrisKeypoint3D()
Empty destructor.
PointCloudInConstPtr surface_
An input point cloud describing the surface that is to be used for nearest neighbors estimation.
void detectKeypoints(PointCloudOut &output)
Abstract key point detection method.
void responseLowe(PointCloudOut &output) const
void setRefine(bool do_refine)
Whether the detected key points should be refined or not.
boost::shared_ptr< const PointCloud< PointInT > > ConstPtr
void calculateNormalCovar(const std::vector< int > &neighbors, float *coefficients) const
calculates the upper triangular part of unnormalized covariance matrix over the normals given by the ...
Keypoint< PointInT, PointOutT >::PointCloudOut PointCloudOut
PointCloudIn::ConstPtr PointCloudInConstPtr
void setNonMaxSupression(bool=false)
Whether non maxima suppression should be applied or the response for each point should be returned.
pcl::PointCloud< NormalT > PointCloudN
void setMethod(ResponseMethod type)
Set the method of the response to be calculated.
PointCloudN::Ptr PointCloudNPtr
HarrisKeypoint3D uses the idea of 2D Harris keypoints, but instead of using image gradients,...
Keypoint< PointInT, PointOutT >::KdTree KdTree
void responseTomasi(PointCloudOut &output) const
boost::shared_ptr< const HarrisKeypoint3D< PointInT, PointOutT, NormalT > > ConstPtr