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;
89 float distance_threshold = 0.001f,
90 float angular_threshold = 0.0001f,
91 float intensity_threshold = 7.0f)
92 : distance_threshold_ (distance_threshold)
93 , angular_threshold_ (angular_threshold)
94 , intensity_threshold_ (intensity_threshold)
100 name_ =
"SUSANKeypoint";
102 geometric_validation_ =
false;
103 tolerance_ = 2 * distance_threshold_;
177 const Eigen::Vector3f& centroid,
178 const Eigen::Vector3f& nc,
179 const PointInT& point)
const;
181 float distance_threshold_;
182 float angular_threshold_;
183 float intensity_threshold_;
186 unsigned int threads_;
187 bool geometric_validation_;
190 IntensityT intensity_;
196 std::vector<pcl::PCLPointField> out_fields_;
201 #include <pcl/keypoints/impl/susan.hpp>
203 #endif // #ifndef PCL_SUSAN_KEYPOINT_H_