43 #include <pcl/features/feature.h>
77 template <
typename Po
intInT,
typename Po
intNT,
typename Po
intOutT = pcl::FPFHSignature33>
81 using Ptr = shared_ptr<FPFHEstimation<PointInT, PointNT, PointOutT> >;
82 using ConstPtr = shared_ptr<const FPFHEstimation<PointInT, PointNT, PointOutT> >;
97 d_pi_ (1.0f / (2.0f * static_cast<float> (
M_PI)))
117 int p_idx,
int q_idx,
float &f1,
float &f2,
float &f3,
float &f4);
134 Eigen::MatrixXf &hist_f1, Eigen::MatrixXf &hist_f2, Eigen::MatrixXf &hist_f3);
147 const Eigen::MatrixXf &hist_f2,
148 const Eigen::MatrixXf &hist_f3,
150 const std::vector<float> &dists,
151 Eigen::VectorXf &fpfh_histogram);
189 Eigen::MatrixXf &hist_f1, Eigen::MatrixXf &hist_f2, Eigen::MatrixXf &hist_f3);
219 #ifdef PCL_NO_PRECOMPILE
220 #include <pcl/features/impl/fpfh.hpp>
FPFHEstimation estimates the Fast Point Feature Histogram (FPFH) descriptor for a given point cloud d...
void getNrSubdivisions(int &nr_bins_f1, int &nr_bins_f2, int &nr_bins_f3)
Get the number of subdivisions for each angular feature interval.
float d_pi_
Float constant = 1.0 / (2.0 * M_PI)
typename Feature< PointInT, PointOutT >::PointCloudOut PointCloudOut
void computeSPFHSignatures(std::vector< int > &spf_hist_lookup, Eigen::MatrixXf &hist_f1, Eigen::MatrixXf &hist_f2, Eigen::MatrixXf &hist_f3)
Estimate the set of all SPFH (Simple Point Feature Histograms) signatures for the input cloud.
Eigen::MatrixXf hist_f3_
Placeholder for the f3 histogram.
void computePointSPFHSignature(const pcl::PointCloud< PointInT > &cloud, const pcl::PointCloud< PointNT > &normals, pcl::index_t p_idx, int row, const pcl::Indices &indices, Eigen::MatrixXf &hist_f1, Eigen::MatrixXf &hist_f2, Eigen::MatrixXf &hist_f3)
Estimate the SPFH (Simple Point Feature Histograms) individual signatures of the three angular (f1,...
Eigen::MatrixXf hist_f2_
Placeholder for the f2 histogram.
void computeFeature(PointCloudOut &output) override
Estimate the Fast Point Feature Histograms (FPFH) descriptors at a set of points given by <setInputCl...
Eigen::MatrixXf hist_f1_
Placeholder for the f1 histogram.
Eigen::VectorXf fpfh_histogram_
Placeholder for a point's FPFH signature.
bool computePairFeatures(const pcl::PointCloud< PointInT > &cloud, const pcl::PointCloud< PointNT > &normals, int p_idx, int q_idx, float &f1, float &f2, float &f3, float &f4)
Compute the 4-tuple representation containing the three angles and one distance between two points re...
FPFHEstimation()
Empty constructor.
void setNrSubdivisions(int nr_bins_f1, int nr_bins_f2, int nr_bins_f3)
Set the number of subdivisions for each angular feature interval.
int nr_bins_f1_
The number of subdivisions for each angular feature interval.
void weightPointSPFHSignature(const Eigen::MatrixXf &hist_f1, const Eigen::MatrixXf &hist_f2, const Eigen::MatrixXf &hist_f3, const pcl::Indices &indices, const std::vector< float > &dists, Eigen::VectorXf &fpfh_histogram)
Weight the SPFH (Simple Point Feature Histograms) individual histograms to create the final FPFH (Fas...
Feature represents the base feature class.
shared_ptr< Feature< PointInT, PointOutT > > Ptr
std::string feature_name_
The feature name.
shared_ptr< const Feature< PointInT, PointOutT > > ConstPtr
detail::int_type_t< detail::index_type_size, detail::index_type_signed > index_t
Type used for an index in PCL.
IndicesAllocator<> Indices
Type used for indices in PCL.