40 #ifndef PCL_MULTISCALE_FEATURE_PERSISTENCE_H_
41 #define PCL_MULTISCALE_FEATURE_PERSISTENCE_H_
43 #include <pcl/pcl_base.h>
44 #include <pcl/features/feature.h>
45 #include <pcl/point_representation.h>
46 #include <pcl/common/norms.h>
63 template <
typename Po
intSource,
typename Po
intFeature>
67 typedef boost::shared_ptr<MultiscaleFeaturePersistence<PointSource, PointFeature> >
Ptr;
68 typedef boost::shared_ptr<const MultiscaleFeaturePersistence<PointSource, PointFeature> >
ConstPtr;
93 boost::shared_ptr<std::vector<int> > &output_indices);
99 setScalesVector (std::vector<float> &scale_values) { scale_values_ = scale_values; }
102 inline std::vector<float>
156 computeFeatureAtScale (
float &scale,
164 distanceBetweenFeatures (
const std::vector<float> &a,
165 const std::vector<float> &b);
171 calculateMeanFeature ();
177 extractUniqueFeatures ();
181 std::vector<float> scale_values_;
192 std::vector<FeatureCloudPtr> features_at_scale_;
193 std::vector<std::vector<std::vector<float> > > features_at_scale_vectorized_;
194 std::vector<float> mean_feature_;
200 std::vector<std::list<size_t> > unique_features_indices_;
201 std::vector<std::vector<bool> > unique_features_table_;
205 #ifdef PCL_NO_PRECOMPILE
206 #include <pcl/features/impl/multiscale_feature_persistence.hpp>