Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038 #ifndef PCL_FPFH_OMP_H_
00039 #define PCL_FPFH_OMP_H_
00040
00041 #include <pcl/features/feature.h>
00042 #include <pcl/features/fpfh.h>
00043
00044 namespace pcl
00045 {
00071 template <typename PointInT, typename PointNT, typename PointOutT>
00072 class FPFHEstimationOMP : public FPFHEstimation<PointInT, PointNT, PointOutT>
00073 {
00074 public:
00075 using Feature<PointInT, PointOutT>::feature_name_;
00076 using Feature<PointInT, PointOutT>::getClassName;
00077 using Feature<PointInT, PointOutT>::indices_;
00078 using Feature<PointInT, PointOutT>::k_;
00079 using Feature<PointInT, PointOutT>::search_parameter_;
00080 using Feature<PointInT, PointOutT>::input_;
00081 using Feature<PointInT, PointOutT>::surface_;
00082 using FeatureFromNormals<PointInT, PointNT, PointOutT>::normals_;
00083 using FPFHEstimation<PointInT, PointNT, PointOutT>::hist_f1_;
00084 using FPFHEstimation<PointInT, PointNT, PointOutT>::hist_f2_;
00085 using FPFHEstimation<PointInT, PointNT, PointOutT>::hist_f3_;
00086 using FPFHEstimation<PointInT, PointNT, PointOutT>::weightPointSPFHSignature;
00087
00088 typedef typename Feature<PointInT, PointOutT>::PointCloudOut PointCloudOut;
00089
00091 FPFHEstimationOMP () : nr_bins_f1_ (11), nr_bins_f2_ (11), nr_bins_f3_ (11), threads_ (1)
00092 {
00093 feature_name_ = "FPFHEstimationOMP";
00094 };
00095
00099 FPFHEstimationOMP (unsigned int nr_threads) : nr_bins_f1_ (11), nr_bins_f2_ (11), nr_bins_f3_ (11), threads_ (0)
00100 {
00101 setNumberOfThreads (nr_threads);
00102 }
00103
00107 inline void
00108 setNumberOfThreads (unsigned int nr_threads)
00109 {
00110 if (nr_threads == 0)
00111 nr_threads = 1;
00112 threads_ = nr_threads;
00113 }
00114
00115 private:
00121 void
00122 computeFeature (PointCloudOut &output);
00123
00124 public:
00126 int nr_bins_f1_, nr_bins_f2_, nr_bins_f3_;
00127 private:
00129 unsigned int threads_;
00130
00134 void
00135 computeFeatureEigen (pcl::PointCloud<Eigen::MatrixXf> &) {}
00136 };
00137 }
00138
00139 #endif //#ifndef PCL_FPFH_OMP_H_
00140
00141