IntensityGradientEstimation estimates the intensity gradient for a point cloud that contains position and intensity values. The intensity gradient at a given point will be a vector orthogonal to the surface normal and pointing in the direction of the greatest increase in local intensity; the vector's magnitude indicates the rate of intensity change. More...
#include <intensity_gradient.h>
Public Types | |
typedef boost::shared_ptr < const IntensityGradientEstimation < PointInT, PointNT, PointOutT, IntensitySelectorT > > | ConstPtr |
typedef Feature< PointInT, PointOutT >::PointCloudOut | PointCloudOut |
typedef boost::shared_ptr < IntensityGradientEstimation < PointInT, PointNT, PointOutT, IntensitySelectorT > > | Ptr |
Public Member Functions | |
IntensityGradientEstimation () | |
Empty constructor. | |
void | setNumberOfThreads (unsigned int nr_threads=0) |
Initialize the scheduler and set the number of threads to use. | |
Protected Member Functions | |
void | computeFeature (PointCloudOut &output) |
Estimate the intensity gradients for a set of points given in <setInputCloud (), setIndices ()> using the surface in setSearchSurface () and the spatial locator in setSearchMethod (). | |
void | computePointIntensityGradient (const pcl::PointCloud< PointInT > &cloud, const std::vector< int > &indices, const Eigen::Vector3f &point, float mean_intensity, const Eigen::Vector3f &normal, Eigen::Vector3f &gradient) |
Estimate the intensity gradient around a given point based on its spatial neighborhood of points. | |
Protected Attributes | |
IntensitySelectorT | intensity_ |
intensity field accessor structure | |
unsigned int | threads_ |
number of threads to be used, default 0 (auto) |
IntensityGradientEstimation estimates the intensity gradient for a point cloud that contains position and intensity values. The intensity gradient at a given point will be a vector orthogonal to the surface normal and pointing in the direction of the greatest increase in local intensity; the vector's magnitude indicates the rate of intensity change.
Definition at line 56 of file intensity_gradient.h.
typedef boost::shared_ptr<const IntensityGradientEstimation<PointInT, PointNT, PointOutT, IntensitySelectorT> > pcl::IntensityGradientEstimation< PointInT, PointNT, PointOutT, IntensitySelectorT >::ConstPtr |
Reimplemented from pcl::FeatureFromNormals< PointInT, PointNT, PointOutT >.
Definition at line 60 of file intensity_gradient.h.
typedef Feature<PointInT, PointOutT>::PointCloudOut pcl::IntensityGradientEstimation< PointInT, PointNT, PointOutT, IntensitySelectorT >::PointCloudOut |
Reimplemented from pcl::FeatureFromNormals< PointInT, PointNT, PointOutT >.
Definition at line 69 of file intensity_gradient.h.
typedef boost::shared_ptr<IntensityGradientEstimation<PointInT, PointNT, PointOutT, IntensitySelectorT> > pcl::IntensityGradientEstimation< PointInT, PointNT, PointOutT, IntensitySelectorT >::Ptr |
Reimplemented from pcl::FeatureFromNormals< PointInT, PointNT, PointOutT >.
Definition at line 59 of file intensity_gradient.h.
pcl::IntensityGradientEstimation< PointInT, PointNT, PointOutT, IntensitySelectorT >::IntensityGradientEstimation | ( | ) | [inline] |
Empty constructor.
Definition at line 72 of file intensity_gradient.h.
void pcl::IntensityGradientEstimation< PointInT, PointNT, PointOutT, IntensitySelectorT >::computeFeature | ( | PointCloudOut & | output | ) | [protected, virtual] |
Estimate the intensity gradients for a set of points given in <setInputCloud (), setIndices ()> using the surface in setSearchSurface () and the spatial locator in setSearchMethod ().
output | the resultant point cloud that contains the intensity gradient vectors |
Implements pcl::Feature< PointInT, PointOutT >.
Definition at line 144 of file intensity_gradient.hpp.
void pcl::IntensityGradientEstimation< PointInT, PointNT, PointOutT, IntensitySelectorT >::computePointIntensityGradient | ( | const pcl::PointCloud< PointInT > & | cloud, |
const std::vector< int > & | indices, | ||
const Eigen::Vector3f & | point, | ||
float | mean_intensity, | ||
const Eigen::Vector3f & | normal, | ||
Eigen::Vector3f & | gradient | ||
) | [protected] |
Estimate the intensity gradient around a given point based on its spatial neighborhood of points.
cloud | a point cloud dataset containing XYZI coordinates (Cartesian coordinates + intensity) |
indices | the indices of the neighoring points in the dataset |
point | the 3D Cartesian coordinates of the point at which to estimate the gradient |
normal | the 3D surface normal of the given point |
gradient | the resultant 3D gradient vector |
Definition at line 48 of file intensity_gradient.hpp.
void pcl::IntensityGradientEstimation< PointInT, PointNT, PointOutT, IntensitySelectorT >::setNumberOfThreads | ( | unsigned int | nr_threads = 0 | ) | [inline] |
Initialize the scheduler and set the number of threads to use.
nr_threads | the number of hardware threads to use (0 sets the value back to automatic) |
Definition at line 81 of file intensity_gradient.h.
IntensitySelectorT pcl::IntensityGradientEstimation< PointInT, PointNT, PointOutT, IntensitySelectorT >::intensity_ [protected] |
intensity field accessor structure
Definition at line 108 of file intensity_gradient.h.
unsigned int pcl::IntensityGradientEstimation< PointInT, PointNT, PointOutT, IntensitySelectorT >::threads_ [protected] |
number of threads to be used, default 0 (auto)
Definition at line 110 of file intensity_gradient.h.