41 #ifndef PCL_FEATURES_VFH_H_
42 #define PCL_FEATURES_VFH_H_
70 template<
typename Po
intInT,
typename Po
intNT,
typename Po
intOutT = pcl::VFHSignature308>
84 typedef typename boost::shared_ptr<VFHEstimation<PointInT, PointNT, PointOutT> >
Ptr;
85 typedef typename boost::shared_ptr<const VFHEstimation<PointInT, PointNT, PointOutT> >
ConstPtr;
90 nr_bins_f1_ (45), nr_bins_f2_ (45), nr_bins_f3_ (45), nr_bins_f4_ (45), nr_bins_vp_ (128),
91 vpx_ (0), vpy_ (0), vpz_ (0),
92 hist_f1_ (), hist_f2_ (), hist_f3_ (), hist_f4_ (), hist_vp_ (),
93 normal_to_use_ (), centroid_to_use_ (), use_given_normal_ (false), use_given_centroid_ (false),
94 normalize_bins_ (true), normalize_distances_ (false), size_component_ (false),
95 d_pi_ (1.0f / (2.0f * static_cast<float> (M_PI)))
97 hist_f1_.setZero (nr_bins_f1_);
98 hist_f2_.setZero (nr_bins_f2_);
99 hist_f3_.setZero (nr_bins_f3_);
100 hist_f4_.setZero (nr_bins_f4_);
103 feature_name_ =
"VFHEstimation";
117 const std::vector<int> &indices);
147 use_given_normal_ = use;
157 normal_to_use_ = Eigen::Vector4f (normal[0], normal[1], normal[2], 0);
166 use_given_centroid_ = use;
176 centroid_to_use_ = Eigen::Vector4f (centroid[0], centroid[1], centroid[2], 0);
185 normalize_bins_ = normalize;
195 normalize_distances_ = normalize;
205 size_component_ = fill_size;
217 int nr_bins_f1_, nr_bins_f2_, nr_bins_f3_, nr_bins_f4_, nr_bins_vp_;
222 float vpx_, vpy_, vpz_;
238 Eigen::VectorXf hist_f1_;
240 Eigen::VectorXf hist_f2_;
242 Eigen::VectorXf hist_f3_;
244 Eigen::VectorXf hist_f4_;
246 Eigen::VectorXf hist_vp_;
249 Eigen::Vector4f normal_to_use_;
251 Eigen::Vector4f centroid_to_use_;
256 bool use_given_normal_;
258 bool use_given_centroid_;
260 bool normalize_bins_;
262 bool normalize_distances_;
264 bool size_component_;
321 #endif //#ifndef PCL_FEATURES_VFH_H_