pcl::IntensityGradientEstimation< PointInT, PointNT, PointOutT, IntensitySelectorT > Class Template Reference
[Module features]

IntensityGradientEstimation estimates the intensity gradient for a point cloud that contains position and intensity values. More...

#include <pcl/features/intensity_gradient.h>

Inheritance diagram for pcl::IntensityGradientEstimation< PointInT, PointNT, PointOutT, IntensitySelectorT >:
Inheritance graph
[legend]
Collaboration diagram for pcl::IntensityGradientEstimation< PointInT, PointNT, PointOutT, IntensitySelectorT >:
Collaboration graph
[legend]

List of all members.

Public Types

typedef boost::shared_ptr
< IntensityGradientEstimation
< PointInT, PointNT, PointOutT,
IntensitySelectorT > > 
Ptr
typedef boost::shared_ptr
< const
IntensityGradientEstimation
< PointInT, PointNT, PointOutT,
IntensitySelectorT > > 
ConstPtr
typedef Feature< PointInT,
PointOutT >::PointCloudOut 
PointCloudOut

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)

Detailed Description

template<typename PointInT, typename PointNT, typename PointOutT, typename IntensitySelectorT = pcl::common::IntensityFieldAccessor<PointInT>>
class pcl::IntensityGradientEstimation< PointInT, PointNT, PointOutT, IntensitySelectorT >

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.

Author:
Michael Dixon

Definition at line 56 of file intensity_gradient.h.


Member Typedef Documentation

template<typename PointInT, typename PointNT, typename PointOutT, typename IntensitySelectorT = pcl::common::IntensityFieldAccessor<PointInT>>
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.

template<typename PointInT, typename PointNT, typename PointOutT, typename IntensitySelectorT = pcl::common::IntensityFieldAccessor<PointInT>>
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.

template<typename PointInT, typename PointNT, typename PointOutT, typename IntensitySelectorT = pcl::common::IntensityFieldAccessor<PointInT>>
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.


Constructor & Destructor Documentation

template<typename PointInT, typename PointNT, typename PointOutT, typename IntensitySelectorT = pcl::common::IntensityFieldAccessor<PointInT>>
pcl::IntensityGradientEstimation< PointInT, PointNT, PointOutT, IntensitySelectorT >::IntensityGradientEstimation (  )  [inline]

Empty constructor.

Definition at line 72 of file intensity_gradient.h.

References pcl::Feature< PointInT, PointOutT >::feature_name_.


Member Function Documentation

template<typename PointInT , typename PointNT , typename PointOutT , typename IntensitySelectorT >
void pcl::IntensityGradientEstimation< PointInT, PointNT, PointOutT, IntensitySelectorT >::computeFeature ( PointCloudOut output  )  [inline, protected, virtual]
template<typename PointInT , typename PointNT , typename PointOutT , typename IntensitySelectorT >
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 
) [inline, protected]

Estimate the intensity gradient around a given point based on its spatial neighborhood of points.

Parameters:
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.

Referenced by pcl::IntensityGradientEstimation< PointInT, PointNT, PointOutT, IntensitySelectorT >::computeFeature().

template<typename PointInT, typename PointNT, typename PointOutT, typename IntensitySelectorT = pcl::common::IntensityFieldAccessor<PointInT>>
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.

Parameters:
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.

References pcl::IntensityGradientEstimation< PointInT, PointNT, PointOutT, IntensitySelectorT >::threads_.


Member Data Documentation

template<typename PointInT, typename PointNT, typename PointOutT, typename IntensitySelectorT = pcl::common::IntensityFieldAccessor<PointInT>>
IntensitySelectorT pcl::IntensityGradientEstimation< PointInT, PointNT, PointOutT, IntensitySelectorT >::intensity_ [protected]
template<typename PointInT, typename PointNT, typename PointOutT, typename IntensitySelectorT = pcl::common::IntensityFieldAccessor<PointInT>>
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.

Referenced by pcl::IntensityGradientEstimation< PointInT, PointNT, PointOutT, IntensitySelectorT >::setNumberOfThreads().


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