36 #ifndef PCL_SIFT_KEYPOINT_H_
37 #define PCL_SIFT_KEYPOINT_H_
43 template<
typename Po
intT>
67 return (static_cast<float> (299*p.r + 587*p.g + 114*p.b) / 1000.0f);
76 return (static_cast<float> (299*p.r + 587*p.g + 114*p.b) / 1000.0f);
93 template <
typename Po
intInT,
typename Po
intOutT>
109 SIFTKeypoint () : min_scale_ (0.0), nr_octaves_ (0), nr_scales_per_octave_ (0),
110 min_contrast_ (-std::numeric_limits<float>::max ()), scale_idx_ (-1),
111 out_fields_ (), getFieldValue_ ()
113 name_ =
"SIFTKeypoint";
122 setScales (
float min_scale,
int nr_octaves,
int nr_scales_per_octave);
151 float base_scale,
int nr_scales_per_octave,
162 const std::vector<float> &scales,
163 Eigen::MatrixXf &diff_of_gauss);
174 const Eigen::MatrixXf &diff_of_gauss,
175 std::vector<int> &extrema_indices, std::vector<int> &extrema_scales);
185 int nr_scales_per_octave_;
195 std::vector<sensor_msgs::PointField> out_fields_;
203 #endif // #ifndef PCL_SIFT_KEYPOINT_H_