39 #ifndef PCL_SUSAN_KEYPOINT_H_
40 #define PCL_SUSAN_KEYPOINT_H_
42 #include <pcl/keypoints/keypoint.h>
43 #include <pcl/common/intensity.h>
56 template <
typename Po
intInT,
typename Po
intOutT,
typename NormalT = pcl::Normal,
typename IntensityT= pcl::common::IntensityFieldAccessor<Po
intInT> >
60 typedef boost::shared_ptr<SUSANKeypoint<PointInT, PointOutT, NormalT, IntensityT> >
Ptr;
61 typedef boost::shared_ptr<const SUSANKeypoint<PointInT, PointOutT, NormalT, Intensity> >
ConstPtr;
90 float distance_threshold = 0.001f,
91 float angular_threshold = 0.0001f,
92 float intensity_threshold = 7.0f)
93 : distance_threshold_ (distance_threshold)
94 , angular_threshold_ (angular_threshold)
95 , intensity_threshold_ (intensity_threshold)
101 name_ =
"SUSANKeypoint";
103 geometric_validation_ =
false;
104 tolerance_ = 2 * distance_threshold_;
178 const Eigen::Vector3f& centroid,
179 const Eigen::Vector3f& nc,
180 const PointInT& point)
const;
182 float distance_threshold_;
183 float angular_threshold_;
184 float intensity_threshold_;
187 unsigned int threads_;
188 bool geometric_validation_;
191 IntensityT intensity_;
197 std::vector<pcl::PCLPointField> out_fields_;
202 #include <pcl/keypoints/impl/susan.hpp>
204 #endif // #ifndef PCL_SUSAN_KEYPOINT_H_