41 #ifndef PCL_PYRAMID_FEATURE_MATCHING_H_
42 #define PCL_PYRAMID_FEATURE_MATCHING_H_
44 #include <pcl/pcl_base.h>
45 #include <pcl/point_representation.h>
67 template <
typename Po
intFeature>
73 typedef boost::shared_ptr<PyramidFeatureHistogram<PointFeature> >
Ptr;
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 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<size_t> &access,
166 at (std::vector<float> &feature,
170 struct PyramidFeatureHistogramLevel
172 PyramidFeatureHistogramLevel () :
174 bins_per_dimension (),
179 PyramidFeatureHistogramLevel (std::vector<size_t> &a_bins_per_dimension, std::vector<float> &a_bin_step) :
181 bins_per_dimension (a_bins_per_dimension),
182 bin_step (a_bin_step)
184 initializeHistogramLevel ();
188 initializeHistogramLevel ();
190 std::vector<unsigned int> hist;
191 std::vector<size_t> bins_per_dimension;
192 std::vector<float> bin_step;
194 std::vector<PyramidFeatureHistogramLevel> hist_levels;
198 #ifdef PCL_NO_PRECOMPILE
199 #include <pcl/registration/impl/pyramid_feature_matching.hpp>
202 #endif // PCL_PYRAMID_FEATURE_MATCHING_H_