43 #include <pcl/pcl_base.h>
44 #include <pcl/point_representation.h>
66 template <
typename Po
intFeature>
72 using Ptr = shared_ptr<PyramidFeatureHistogram<PointFeature> >;
73 using ConstPtr = shared_ptr<const PyramidFeatureHistogram<PointFeature>>;
86 { dimension_range_input_ = dimension_range_input; }
89 inline std::vector<std::pair<float, float> >
97 { dimension_range_target_ = dimension_range_target; }
100 inline std::vector<std::pair<float, float> >
132 std::size_t nr_dimensions, nr_levels, nr_features;
133 std::vector<std::pair<float, float> > dimension_range_input_, dimension_range_target_;
139 initializeHistogram ();
145 convertFeatureToVector (
const PointFeature &feature,
146 std::vector<float> &feature_vector);
150 addFeature (std::vector<float> &feature);
158 at (std::vector<std::size_t> &access,
166 at (std::vector<float> &feature,
170 struct PyramidFeatureHistogramLevel
172 PyramidFeatureHistogramLevel ()
176 PyramidFeatureHistogramLevel (std::vector<std::size_t> &a_bins_per_dimension, std::vector<float> &a_bin_step) :
177 bins_per_dimension (a_bins_per_dimension),
178 bin_step (a_bin_step)
180 initializeHistogramLevel ();
184 initializeHistogramLevel ();
186 std::vector<unsigned int> hist;
187 std::vector<std::size_t> bins_per_dimension;
188 std::vector<float> bin_step;
190 std::vector<PyramidFeatureHistogramLevel> hist_levels;
194 #ifdef PCL_NO_PRECOMPILE
195 #include <pcl/registration/impl/pyramid_feature_matching.hpp>