pcl::SHOTColorEstimation< PointInT, PointNT, PointOutT, PointRFT > Class Template Reference
[Module features]

SHOTColorEstimation estimates the Signature of Histograms of OrienTations (SHOT) descriptor for a given point cloud dataset containing points, normals and colors. More...

#include <pcl/features/shot.h>

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

List of all members.

Public Types

typedef boost::shared_ptr
< SHOTColorEstimation
< PointInT, PointNT, PointOutT,
PointRFT > > 
Ptr
typedef boost::shared_ptr
< const SHOTColorEstimation
< PointInT, PointNT, PointOutT,
PointRFT > > 
ConstPtr
typedef Feature< PointInT,
PointOutT >::PointCloudIn 
PointCloudIn

Public Member Functions

 SHOTColorEstimation (bool describe_shape=true, bool describe_color=true)
 Empty constructor.
virtual ~SHOTColorEstimation ()
 Empty destructor.
virtual void computePointSHOT (const int index, const std::vector< int > &indices, const std::vector< float > &sqr_dists, Eigen::VectorXf &shot)
 Estimate the SHOT descriptor for a given point based on its spatial neighborhood of 3D points with normals.

Static Public Member Functions

static void RGB2CIELAB (unsigned char R, unsigned char G, unsigned char B, float &L, float &A, float &B2)
 Converts RGB triplets to CIELab space.

Static Public Attributes

static float sRGB_LUT [256] = {- 1}
static float sXYZ_LUT [4000] = {- 1}

Protected Member Functions

void computeFeature (pcl::PointCloud< PointOutT > &output)
 Estimate the Signatures of Histograms of OrienTations (SHOT) descriptors at a set of points given by <setInputCloud (), setIndices ()> using the surface in setSearchSurface () and the spatial locator in setSearchMethod ().
void interpolateDoubleChannel (const std::vector< int > &indices, const std::vector< float > &sqr_dists, const int index, std::vector< double > &binDistanceShape, std::vector< double > &binDistanceColor, const int nr_bins_shape, const int nr_bins_color, Eigen::VectorXf &shot)
 Quadrilinear interpolation; used when color and shape descriptions are both activated.

Protected Attributes

bool b_describe_shape_
 Compute shape descriptor.
bool b_describe_color_
 Compute color descriptor.
int nr_color_bins_
 The number of bins in each color histogram.

Detailed Description

template<typename PointInT, typename PointNT, typename PointOutT = pcl::SHOT1344, typename PointRFT = pcl::ReferenceFrame>
class pcl::SHOTColorEstimation< PointInT, PointNT, PointOutT, PointRFT >

SHOTColorEstimation estimates the Signature of Histograms of OrienTations (SHOT) descriptor for a given point cloud dataset containing points, normals and colors.

The suggested PointOutT is pcl::SHOT1344

Note:
If you use this code in any academic work, please cite:
Author:
Samuele Salti, Federico Tombari

Definition at line 299 of file shot.h.


Member Typedef Documentation

template<typename PointInT , typename PointNT , typename PointOutT = pcl::SHOT1344, typename PointRFT = pcl::ReferenceFrame>
typedef boost::shared_ptr<const SHOTColorEstimation<PointInT, PointNT, PointOutT, PointRFT> > pcl::SHOTColorEstimation< PointInT, PointNT, PointOutT, PointRFT >::ConstPtr
template<typename PointInT , typename PointNT , typename PointOutT = pcl::SHOT1344, typename PointRFT = pcl::ReferenceFrame>
typedef Feature<PointInT, PointOutT>::PointCloudIn pcl::SHOTColorEstimation< PointInT, PointNT, PointOutT, PointRFT >::PointCloudIn
template<typename PointInT , typename PointNT , typename PointOutT = pcl::SHOT1344, typename PointRFT = pcl::ReferenceFrame>
typedef boost::shared_ptr<SHOTColorEstimation<PointInT, PointNT, PointOutT, PointRFT> > pcl::SHOTColorEstimation< PointInT, PointNT, PointOutT, PointRFT >::Ptr

Constructor & Destructor Documentation

template<typename PointInT , typename PointNT , typename PointOutT = pcl::SHOT1344, typename PointRFT = pcl::ReferenceFrame>
pcl::SHOTColorEstimation< PointInT, PointNT, PointOutT, PointRFT >::SHOTColorEstimation ( bool  describe_shape = true,
bool  describe_color = true 
) [inline]

Empty constructor.

Parameters:
[in] describe_shape 
[in] describe_color 

Definition at line 331 of file shot.h.

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

template<typename PointInT , typename PointNT , typename PointOutT = pcl::SHOT1344, typename PointRFT = pcl::ReferenceFrame>
virtual pcl::SHOTColorEstimation< PointInT, PointNT, PointOutT, PointRFT >::~SHOTColorEstimation (  )  [inline, virtual]

Empty destructor.

Definition at line 342 of file shot.h.


Member Function Documentation

template<typename PointInT , typename PointNT , typename PointOutT , typename PointRFT >
void pcl::SHOTColorEstimation< PointInT, PointNT, PointOutT, PointRFT >::computeFeature ( pcl::PointCloud< PointOutT > &  output  )  [inline, protected]

Estimate the Signatures of Histograms of OrienTations (SHOT) descriptors at a set of points given by <setInputCloud (), setIndices ()> using the surface in setSearchSurface () and the spatial locator in setSearchMethod ().

Parameters:
output the resultant point cloud model dataset that contains the SHOT feature estimates

Definition at line 830 of file shot.hpp.

References pcl::SHOTColorEstimation< PointInT, PointNT, PointOutT, PointRFT >::b_describe_color_, pcl::SHOTColorEstimation< PointInT, PointNT, PointOutT, PointRFT >::b_describe_shape_, pcl::SHOTColorEstimation< PointInT, PointNT, PointOutT, PointRFT >::computePointSHOT(), pcl::SHOTEstimationBase< PointInT, PointNT, PointOutT, PointRFT >::descLength_, pcl::FeatureWithLocalReferenceFrames< PointInT, PointRFT >::frames_, pcl::Feature< PointInT, PointOutT >::getClassName(), pcl::PCLBase< PointInT >::indices_, pcl::PCLBase< PointInT >::input_, pcl::PointCloud< PointT >::is_dense, pcl::isFinite(), pcl::Feature< PointInT, PointOutT >::k_, pcl::SHOTColorEstimation< PointInT, PointNT, PointOutT, PointRFT >::nr_color_bins_, pcl::SHOTEstimationBase< PointInT, PointNT, PointOutT, PointRFT >::nr_grid_sector_, pcl::SHOTEstimationBase< PointInT, PointNT, PointOutT, PointRFT >::nr_shape_bins_, pcl::PointCloud< PointT >::points, pcl::SHOTEstimationBase< PointInT, PointNT, PointOutT, PointRFT >::radius1_2_, pcl::SHOTEstimationBase< PointInT, PointNT, PointOutT, PointRFT >::radius1_4_, pcl::SHOTEstimationBase< PointInT, PointNT, PointOutT, PointRFT >::radius3_4_, pcl::Feature< PointInT, PointOutT >::search_parameter_, pcl::Feature< PointInT, PointOutT >::search_radius_, pcl::Feature< PointInT, PointOutT >::searchForNeighbors(), pcl::SHOTEstimationBase< PointInT, PointNT, PointOutT, PointRFT >::shot_, and pcl::SHOTEstimationBase< PointInT, PointNT, PointOutT, PointRFT >::sqradius_.

template<typename PointInT , typename PointNT , typename PointOutT , typename PointRFT >
void pcl::SHOTColorEstimation< PointInT, PointNT, PointOutT, PointRFT >::computePointSHOT ( const int  index,
const std::vector< int > &  indices,
const std::vector< float > &  sqr_dists,
Eigen::VectorXf &  shot 
) [inline, virtual]

Estimate the SHOT descriptor for a given point based on its spatial neighborhood of 3D points with normals.

Parameters:
[in] index the index of the point in indices_
[in] indices the k-neighborhood point indices in surface_
[in] sqr_dists the k-neighborhood point distances in surface_
[out] shot the resultant SHOT descriptor representing the feature at the query point

Implements pcl::SHOTEstimationBase< PointInT, PointNT, PointOutT, PointRFT >.

Definition at line 646 of file shot.hpp.

References pcl::SHOTColorEstimation< PointInT, PointNT, PointOutT, PointRFT >::b_describe_color_, pcl::SHOTColorEstimation< PointInT, PointNT, PointOutT, PointRFT >::b_describe_shape_, pcl::SHOTEstimationBase< PointInT, PointNT, PointOutT, PointRFT >::createBinDistanceShape(), pcl::SHOTEstimationBase< PointInT, PointNT, PointOutT, PointRFT >::descLength_, pcl::Feature< PointInT, PointOutT >::getClassName(), pcl::PCLBase< PointInT >::indices_, pcl::PCLBase< PointInT >::input_, pcl::SHOTColorEstimation< PointInT, PointNT, PointOutT, PointRFT >::interpolateDoubleChannel(), pcl::SHOTEstimationBase< PointInT, PointNT, PointOutT, PointRFT >::interpolateSingleChannel(), pcl::SHOTEstimationBase< PointInT, PointNT, PointOutT, PointRFT >::normalizeHistogram(), pcl::SHOTColorEstimation< PointInT, PointNT, PointOutT, PointRFT >::nr_color_bins_, pcl::SHOTEstimationBase< PointInT, PointNT, PointOutT, PointRFT >::nr_shape_bins_, pcl::SHOTColorEstimation< PointInT, PointNT, PointOutT, PointRFT >::RGB2CIELAB(), and pcl::Feature< PointInT, PointOutT >::surface_.

Referenced by pcl::SHOTColorEstimationOMP< PointInT, PointNT, PointOutT, PointRFT >::computeFeature(), and pcl::SHOTColorEstimation< PointInT, PointNT, PointOutT, PointRFT >::computeFeature().

template<typename PointInT , typename PointNT , typename PointOutT , typename PointRFT >
void pcl::SHOTColorEstimation< PointInT, PointNT, PointOutT, PointRFT >::interpolateDoubleChannel ( const std::vector< int > &  indices,
const std::vector< float > &  sqr_dists,
const int  index,
std::vector< double > &  binDistanceShape,
std::vector< double > &  binDistanceColor,
const int  nr_bins_shape,
const int  nr_bins_color,
Eigen::VectorXf &  shot 
) [inline, protected]

Quadrilinear interpolation; used when color and shape descriptions are both activated.

Parameters:
[in] indices the neighborhood point indices
[in] sqr_dists the neighborhood point distances
[in] index the index of the point in indices_
[out] binDistanceShape the resultant distance shape histogram
[out] binDistanceColor the resultant color shape histogram
[in] nr_bins_shape the number of bins in the shape histogram
[in] nr_bins_color the number of bins in the color histogram
[out] shot the resultant SHOT histogram

Definition at line 430 of file shot.hpp.

References pcl::SHOTEstimationBase< PointInT, PointNT, PointOutT, PointRFT >::descLength_, pcl::SHOTEstimationBase< PointInT, PointNT, PointOutT, PointRFT >::maxAngularSectors_, pcl::SHOTEstimationBase< PointInT, PointNT, PointOutT, PointRFT >::nr_grid_sector_, pcl::SHOTEstimationBase< PointInT, PointNT, PointOutT, PointRFT >::radius1_2_, pcl::SHOTEstimationBase< PointInT, PointNT, PointOutT, PointRFT >::radius1_4_, pcl::SHOTEstimationBase< PointInT, PointNT, PointOutT, PointRFT >::radius3_4_, and pcl::Feature< PointInT, PointOutT >::surface_.

Referenced by pcl::SHOTColorEstimation< PointInT, PointNT, PointOutT, PointRFT >::computePointSHOT().

template<typename PointInT , typename PointNT , typename PointOutT , typename PointRFT >
void pcl::SHOTColorEstimation< PointInT, PointNT, PointOutT, PointRFT >::RGB2CIELAB ( unsigned char  R,
unsigned char  G,
unsigned char  B,
float &  L,
float &  A,
float &  B2 
) [inline, static]

Converts RGB triplets to CIELab space.

Parameters:
[in] R the red channel
[in] G the green channel
[in] B the blue channel
[out] L the lightness
[out] A the first color-opponent dimension
[out] B2 the second color-opponent dimension

Definition at line 97 of file shot.hpp.

References pcl::SHOTColorEstimation< PointInT, PointNT, PointOutT, PointRFT >::sRGB_LUT, and pcl::SHOTColorEstimation< PointInT, PointNT, PointOutT, PointRFT >::sXYZ_LUT.

Referenced by pcl::SHOTColorEstimation< PointInT, PointNT, PointOutT, PointRFT >::computePointSHOT().


Member Data Documentation

template<typename PointInT , typename PointNT , typename PointOutT = pcl::SHOT1344, typename PointRFT = pcl::ReferenceFrame>
bool pcl::SHOTColorEstimation< PointInT, PointNT, PointOutT, PointRFT >::b_describe_color_ [protected]
template<typename PointInT , typename PointNT , typename PointOutT = pcl::SHOT1344, typename PointRFT = pcl::ReferenceFrame>
bool pcl::SHOTColorEstimation< PointInT, PointNT, PointOutT, PointRFT >::b_describe_shape_ [protected]
template<typename PointInT , typename PointNT , typename PointOutT = pcl::SHOT1344, typename PointRFT = pcl::ReferenceFrame>
int pcl::SHOTColorEstimation< PointInT, PointNT, PointOutT, PointRFT >::nr_color_bins_ [protected]
template<typename PointInT , typename PointNT , typename PointOutT = pcl::SHOT1344, typename PointRFT = pcl::ReferenceFrame>
float pcl::SHOTColorEstimation< PointInT, PointNT, PointOutT, PointRFT >::sRGB_LUT = {- 1} [inline, static]
template<typename PointInT , typename PointNT , typename PointOutT = pcl::SHOT1344, typename PointRFT = pcl::ReferenceFrame>
float pcl::SHOTColorEstimation< PointInT, PointNT, PointOutT, PointRFT >::sXYZ_LUT = {- 1} [inline, static]

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