Point Cloud Library (PCL)  1.3.1
Public Types | Public Member Functions | Public Attributes
pcl::FPFHEstimationOMP Class Reference

FPFHEstimationOMP estimates the Fast Point Feature Histogram (FPFH) descriptor for a given point cloud dataset containing points and normals, in parallel, using the OpenMP standard. More...

#include <pcl/features/fpfh_omp.h>

Inheritance diagram for pcl::FPFHEstimationOMP:
Inheritance graph
[legend]
Collaboration diagram for pcl::FPFHEstimationOMP:
Collaboration graph
[legend]

List of all members.

Public Types

typedef Feature< PointInT,
PointOutT >::PointCloudOut 
PointCloudOut

Public Member Functions

 FPFHEstimationOMP ()
 Empty constructor.
 FPFHEstimationOMP (unsigned int nr_threads)
 Initialize the scheduler and set the number of threads to use.
void setNumberOfThreads (unsigned int nr_threads)
 Initialize the scheduler and set the number of threads to use.
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 represented by Cartesian coordinates and normals.
void computePointSPFHSignature (const pcl::PointCloud< PointInT > &cloud, const pcl::PointCloud< PointNT > &normals, int p_idx, int row, const std::vector< int > &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, f2, f3) features for a given point based on its spatial neighborhood of 3D points with normals.
void weightPointSPFHSignature (const Eigen::MatrixXf &hist_f1, const Eigen::MatrixXf &hist_f2, const Eigen::MatrixXf &hist_f3, const std::vector< int > &indices, const std::vector< float > &dists, Eigen::VectorXf &fpfh_histogram)
 Weight the SPFH (Simple Point Feature Histograms) individual histograms to create the final FPFH (Fast Point Feature Histogram) for a given point based on its 3D spatial neighborhood.
void setNrSubdivisions (int nr_bins_f1, int nr_bins_f2, int nr_bins_f3)
 Set the number of subdivisions for each angular feature interval.
void getNrSubdivisions (int &nr_bins_f1, int &nr_bins_f2, int &nr_bins_f3)
 Get the number of subdivisions for each angular feature interval.

Public Attributes

int nr_bins_f1_
 The number of subdivisions for each angular feature interval.
int nr_bins_f2_
int nr_bins_f3_

Detailed Description

FPFHEstimationOMP estimates the Fast Point Feature Histogram (FPFH) descriptor for a given point cloud dataset containing points and normals, in parallel, using the OpenMP standard.

Note:
If you use this code in any academic work, please cite:
Author:
Radu Bogdan Rusu

Member Typedef Documentation

Reimplemented from pcl::FPFHEstimation< PointInT, PointNT, PointOutT >.

Definition at line 83 of file fpfh_omp.h.


Constructor & Destructor Documentation

pcl::FPFHEstimationOMP::FPFHEstimationOMP ( ) [inline]

Empty constructor.

Definition at line 86 of file fpfh_omp.h.

pcl::FPFHEstimationOMP::FPFHEstimationOMP ( unsigned int  nr_threads) [inline]

Initialize the scheduler and set the number of threads to use.

Parameters:
nr_threadsthe number of hardware threads to use (-1 sets the value back to automatic)

Definition at line 94 of file fpfh_omp.h.


Member Function Documentation

bool pcl::FPFHEstimation::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 
) [inherited]

Compute the 4-tuple representation containing the three angles and one distance between two points represented by Cartesian coordinates and normals.

Note:
For explanations about the features, please see the literature mentioned above (the order of the features might be different).
Parameters:
cloudthe dataset containing the XYZ Cartesian coordinates of the two points
normalsthe dataset containing the surface normals (assuming normalized vectors) at each point in cloud
p_idxthe index of the first point (source)
q_idxthe index of the second point (target)
f1the first angular feature (angle between the projection of nq_idx and u)
f2the second angular feature (angle between nq_idx and v)
f3the third angular feature (angle between np_idx and |p_idx - q_idx|)
f4the distance feature (p_idx - q_idx)
void pcl::FPFHEstimation::computePointSPFHSignature ( const pcl::PointCloud< PointInT > &  cloud,
const pcl::PointCloud< PointNT > &  normals,
int  p_idx,
int  row,
const std::vector< int > &  indices,
Eigen::MatrixXf &  hist_f1,
Eigen::MatrixXf &  hist_f2,
Eigen::MatrixXf &  hist_f3 
) [inherited]

Estimate the SPFH (Simple Point Feature Histograms) individual signatures of the three angular (f1, f2, f3) features for a given point based on its spatial neighborhood of 3D points with normals.

Parameters:
cloudthe dataset containing the XYZ Cartesian coordinates of the two points
normalsthe dataset containing the surface normals at each point in cloud
p_idxthe index of the query point (source)
rowthe index row in feature histogramms
indicesthe k-neighborhood point indices in the dataset
hist_f1the resultant SPFH histogram for feature f1
hist_f2the resultant SPFH histogram for feature f2
hist_f3the resultant SPFH histogram for feature f3
void pcl::FPFHEstimation::getNrSubdivisions ( int &  nr_bins_f1,
int &  nr_bins_f2,
int &  nr_bins_f3 
) [inline, inherited]

Get the number of subdivisions for each angular feature interval.

Definition at line 157 of file fpfh.h.

void pcl::FPFHEstimation::setNrSubdivisions ( int  nr_bins_f1,
int  nr_bins_f2,
int  nr_bins_f3 
) [inline, inherited]

Set the number of subdivisions for each angular feature interval.

Parameters:
nr_bins_f1number of subdivisions for the first angular feature
nr_bins_f2number of subdivisions for the second angular feature
nr_bins_f3number of subdivisions for the third angular feature

Definition at line 148 of file fpfh.h.

void pcl::FPFHEstimationOMP::setNumberOfThreads ( unsigned int  nr_threads) [inline]

Initialize the scheduler and set the number of threads to use.

Parameters:
nr_threadsthe number of hardware threads to use (-1 sets the value back to automatic)

Definition at line 103 of file fpfh_omp.h.

void pcl::FPFHEstimation::weightPointSPFHSignature ( const Eigen::MatrixXf &  hist_f1,
const Eigen::MatrixXf &  hist_f2,
const Eigen::MatrixXf &  hist_f3,
const std::vector< int > &  indices,
const std::vector< float > &  dists,
Eigen::VectorXf &  fpfh_histogram 
) [inherited]

Weight the SPFH (Simple Point Feature Histograms) individual histograms to create the final FPFH (Fast Point Feature Histogram) for a given point based on its 3D spatial neighborhood.

Parameters:
hist_f1the histogram feature vector of f1 values over the given patch
hist_f2the histogram feature vector of f2 values over the given patch
hist_f3the histogram feature vector of f3 values over the given patch
indicesthe point indices of p_idx's k-neighborhood in the point cloud
diststhe distances from p_idx to all its k-neighbors
fpfh_histogramthe resultant FPFH histogram representing the feature at the query point

Member Data Documentation

The number of subdivisions for each angular feature interval.

Reimplemented from pcl::FPFHEstimation< PointInT, PointNT, PointOutT >.

Definition at line 122 of file fpfh_omp.h.

Reimplemented from pcl::FPFHEstimation< PointInT, PointNT, PointOutT >.

Definition at line 122 of file fpfh_omp.h.

Reimplemented from pcl::FPFHEstimation< PointInT, PointNT, PointOutT >.

Definition at line 122 of file fpfh_omp.h.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines