38 #ifndef PCL_NARF_KEYPOINT_H_
39 #define PCL_NARF_KEYPOINT_H_
50 class RangeImageBorderExtractor;
69 Parameters() : support_size(-1.0f), max_no_of_interest_points(-1), min_distance_between_interest_points(0.25f),
70 optimal_distance_to_high_surface_change(0.25), min_interest_value(0.45f),
71 min_surface_change_score(0.2f), optimal_range_image_patch_size(10),
72 distance_for_additional_points(0.0f), add_points_on_straight_edges(false),
73 do_non_maximum_suppression(true), no_of_polynomial_approximations_per_point(0),
74 max_no_of_threads(1), use_recursive_scale_reduction(false),
75 calculate_sparse_interest_image(true) {}
131 setRangeImage (
const RangeImage* range_image);
138 const ::pcl::PointCloud<InterestPoint>&
142 const std::vector<bool>&
160 calculateScaleSpace ();
162 calculateInterestImage ();
164 calculateCompleteInterestImage ();
166 calculateSparseInterestImage ();
168 calculateInterestPoints ();
176 using BaseClass::name_;
178 Parameters parameters_;
179 float* interest_image_;
181 std::vector<bool> is_interest_point_image_;
182 std::vector<RangeImage*> range_image_scale_space_;
183 std::vector<RangeImageBorderExtractor*> border_extractor_scale_space_;
184 std::vector<float*> interest_image_scale_space_;
200 #endif //#ifndef PCL_NARF_KEYPOINT_H_