44 #include <pcl/features/feature.h>
58 histogramsPC.points.resize (histograms2D.size ());
59 histogramsPC.width = histograms2D.size ();
60 histogramsPC.height = 1;
61 histogramsPC.is_dense =
true;
63 const int rows = histograms2D.at(0).rows();
64 const int cols = histograms2D.at(0).cols();
67 BOOST_FOREACH (Eigen::MatrixXf h, histograms2D)
69 Eigen::Map<Eigen::MatrixXf> histogram (&(it->histogram[0]), rows, cols);
86 template <
typename Po
intInT,
typename Po
intNT,
typename Po
intOutT> Eigen::MatrixXf
88 const std::vector<int> &indices,
double max_dist,
89 int nr_subdiv,
double plane_radius, PointOutT &radii,
bool compute_histogram =
false);
102 template <
typename Po
intNT,
typename Po
intOutT> Eigen::MatrixXf
104 const std::vector<int> &indices,
const std::vector<float> &sqr_dists,
double max_dist,
105 int nr_subdiv,
double plane_radius, PointOutT &radii,
bool compute_histogram =
false);
129 template <
typename Po
intInT,
typename Po
intNT,
typename Po
intOutT>
144 typedef typename boost::shared_ptr<RSDEstimation<PointInT, PointNT, PointOutT> >
Ptr;
145 typedef typename boost::shared_ptr<const RSDEstimation<PointInT, PointNT, PointOutT> >
ConstPtr;
149 RSDEstimation () : nr_subdiv_ (5), plane_radius_ (0.2), save_histograms_ (false)
180 PCL_ERROR (
"[pcl::%s::setKSearch] RSD does not work with k nearest neighbor search. Use setRadiusSearch() instead!\n",
getClassName ().c_str ());
195 inline boost::shared_ptr<std::vector<Eigen::MatrixXf, Eigen::aligned_allocator<Eigen::MatrixXf> > >
209 boost::shared_ptr<std::vector<Eigen::MatrixXf, Eigen::aligned_allocator<Eigen::MatrixXf> > >
histograms_;
216 double plane_radius_;
219 bool save_histograms_;
222 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
226 #ifdef PCL_NO_PRECOMPILE
227 #include <pcl/features/impl/rsd.hpp>
230 #endif //#ifndef PCL_RSD_H_