|
Point Cloud Library (PCL) 1.15.0
|
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>
Public Member Functions | |
| SHOTColorEstimation (bool describe_shape=true, bool describe_color=true) | |
| Empty constructor. | |
| ~SHOTColorEstimation () override=default | |
| Empty destructor. | |
| void | computePointSHOT (const int index, const pcl::Indices &indices, const std::vector< float > &sqr_dists, Eigen::VectorXf &shot) override |
| Estimate the SHOT descriptor for a given point based on its spatial neighborhood of 3D points with normals. | |
| Public Member Functions inherited from pcl::SHOTEstimationBase< PointInT, PointNT, pcl::SHOT1344, pcl::ReferenceFrame > | |
| ~SHOTEstimationBase () override=default | |
| Empty destructor. | |
| virtual void | setLRFRadius (float radius) |
| Set the radius used for local reference frame estimation if the frames are not set by the user. | |
| virtual float | getLRFRadius () const |
| Get the radius used for local reference frame estimation. | |
| Public Member Functions inherited from pcl::FeatureFromNormals< PointInT, PointNT, pcl::SHOT1344 > | |
| FeatureFromNormals () | |
| Empty constructor. | |
| void | setInputNormals (const PointCloudNConstPtr &normals) |
| Provide a pointer to the input dataset that contains the point normals of the XYZ dataset. | |
| PointCloudNConstPtr | getInputNormals () const |
| Get a pointer to the normals of the input XYZ point cloud dataset. | |
| Public Member Functions inherited from pcl::Feature< PointInT, pcl::SHOT1344 > | |
| Feature () | |
| Empty constructor. | |
| void | setSearchSurface (const PointCloudInConstPtr &cloud) |
| Provide a pointer to a dataset to add additional information to estimate the features for every point in the input dataset. | |
| PointCloudInConstPtr | getSearchSurface () const |
| Get a pointer to the surface point cloud dataset. | |
| void | setSearchMethod (const KdTreePtr &tree) |
| Provide a pointer to the search object. | |
| KdTreePtr | getSearchMethod () const |
| Get a pointer to the search method used. | |
| double | getSearchParameter () const |
| Get the internal search parameter. | |
| void | setKSearch (int k) |
| Set the number of k nearest neighbors to use for the feature estimation. | |
| int | getKSearch () const |
| get the number of k nearest neighbors used for the feature estimation. | |
| void | setRadiusSearch (double radius) |
| Set the sphere radius that is to be used for determining the nearest neighbors used for the feature estimation. | |
| double | getRadiusSearch () const |
| Get the sphere radius used for determining the neighbors. | |
| void | compute (PointCloudOut &output) |
| Base method for feature estimation for all points given in <setInputCloud (), setIndices ()> using the surface in setSearchSurface () and the spatial locator in setSearchMethod () | |
| Public Member Functions inherited from pcl::PCLBase< PointInT > | |
| PCLBase () | |
| Empty constructor. | |
| PCLBase (const PCLBase &base) | |
| Copy constructor. | |
| virtual | ~PCLBase ()=default |
| Destructor. | |
| virtual void | setInputCloud (const PointCloudConstPtr &cloud) |
| Provide a pointer to the input dataset. | |
| PointCloudConstPtr const | getInputCloud () const |
| Get a pointer to the input point cloud dataset. | |
| virtual void | setIndices (const IndicesPtr &indices) |
| Provide a pointer to the vector of indices that represents the input data. | |
| virtual void | setIndices (const IndicesConstPtr &indices) |
| Provide a pointer to the vector of indices that represents the input data. | |
| virtual void | setIndices (const PointIndicesConstPtr &indices) |
| Provide a pointer to the vector of indices that represents the input data. | |
| virtual void | setIndices (std::size_t row_start, std::size_t col_start, std::size_t nb_rows, std::size_t nb_cols) |
| Set the indices for the points laying within an interest region of the point cloud. | |
| IndicesPtr | getIndices () |
| Get a pointer to the vector of indices used. | |
| IndicesConstPtr const | getIndices () const |
| Get a pointer to the vector of indices used. | |
| const PointInT & | operator[] (std::size_t pos) const |
| Override PointCloud operator[] to shorten code. | |
| Public Member Functions inherited from pcl::FeatureWithLocalReferenceFrames< PointInT, pcl::ReferenceFrame > | |
| FeatureWithLocalReferenceFrames () | |
| Empty constructor. | |
| virtual | ~FeatureWithLocalReferenceFrames ()=default |
| Default virtual destructor. | |
| void | setInputReferenceFrames (const PointCloudLRFConstPtr &frames) |
| Provide a pointer to the input dataset that contains the local reference frames of the XYZ dataset. | |
| PointCloudLRFConstPtr | getInputReferenceFrames () const |
| Get a pointer to the local reference frames. | |
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 std::array< float, 256 > | sRGB_LUT = pcl::RGB2sRGB_LUT<float, 8>() |
| static std::array< float, 4000 > | sXYZ_LUT = pcl::XYZ2LAB_LUT<float, 4000>() |
Protected Member Functions | |
| void | computeFeature (pcl::PointCloud< PointOutT > &output) override |
| 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 pcl::Indices &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 Member Functions inherited from pcl::SHOTEstimationBase< PointInT, PointNT, pcl::SHOT1344, pcl::ReferenceFrame > | |
| SHOTEstimationBase (int nr_shape_bins=10) | |
| Empty constructor. | |
| bool | initCompute () override |
| This method should get called before starting the actual computation. | |
| void | interpolateSingleChannel (const pcl::Indices &indices, const std::vector< float > &sqr_dists, const int index, std::vector< double > &binDistance, const int nr_bins, Eigen::VectorXf &shot) |
| Quadrilinear interpolation used when color and shape descriptions are NOT activated simultaneously. | |
| void | normalizeHistogram (Eigen::VectorXf &shot, int desc_length) |
| Normalize the SHOT histogram. | |
| void | createBinDistanceShape (int index, const pcl::Indices &indices, std::vector< double > &bin_distance_shape) |
| Create a binned distance shape histogram. | |
| Protected Member Functions inherited from pcl::Feature< PointInT, pcl::SHOT1344 > | |
| const std::string & | getClassName () const |
| Get a string representation of the name of this class. | |
| virtual bool | deinitCompute () |
| This method should get called after ending the actual computation. | |
| int | searchForNeighbors (std::size_t index, double parameter, pcl::Indices &indices, std::vector< float > &distances) const |
| Search for k-nearest neighbors using the spatial locator from setSearchmethod, and the given surface from setSearchSurface. | |
| Protected Member Functions inherited from pcl::PCLBase< PointInT > | |
| bool | initCompute () |
| This method should get called before starting the actual computation. | |
| bool | deinitCompute () |
| This method should get called after finishing the actual computation. | |
| Protected Member Functions inherited from pcl::FeatureWithLocalReferenceFrames< PointInT, pcl::ReferenceFrame > | |
| virtual bool | initLocalReferenceFrames (const std::size_t &indices_size, const LRFEstimationPtr &lrf_estimation=LRFEstimationPtr()) |
Protected Attributes | |
| bool | b_describe_shape_ |
| Compute shape descriptor. | |
| bool | b_describe_color_ |
| Compute color descriptor. | |
| int | nr_color_bins_ {30} |
| The number of bins in each color histogram. | |
| Protected Attributes inherited from pcl::SHOTEstimationBase< PointInT, PointNT, pcl::SHOT1344, pcl::ReferenceFrame > | |
| int | nr_shape_bins_ |
| The number of bins in each shape histogram. | |
| float | lrf_radius_ |
| The radius used for the LRF computation. | |
| double | sqradius_ |
| The squared search radius. | |
| double | radius3_4_ |
| 3/4 of the search radius. | |
| double | radius1_4_ |
| 1/4 of the search radius. | |
| double | radius1_2_ |
| 1/2 of the search radius. | |
| const int | nr_grid_sector_ |
| Number of azimuthal sectors. | |
| const int | maxAngularSectors_ |
| ... | |
| int | descLength_ |
| One SHOT length. | |
| Protected Attributes inherited from pcl::FeatureFromNormals< PointInT, PointNT, pcl::SHOT1344 > | |
| PointCloudNConstPtr | normals_ |
| A pointer to the input dataset that contains the point normals of the XYZ dataset. | |
| Protected Attributes inherited from pcl::Feature< PointInT, pcl::SHOT1344 > | |
| std::string | feature_name_ |
| The feature name. | |
| SearchMethodSurface | search_method_surface_ |
| The search method template for points. | |
| PointCloudInConstPtr | surface_ |
| An input point cloud describing the surface that is to be used for nearest neighbors estimation. | |
| KdTreePtr | tree_ |
| A pointer to the spatial search object. | |
| double | search_parameter_ |
| The actual search parameter (from either search_radius_ or k_). | |
| double | search_radius_ |
| The nearest neighbors search radius for each point. | |
| int | k_ |
| The number of K nearest neighbors to use for each point. | |
| bool | fake_surface_ |
| If no surface is given, we use the input PointCloud as the surface. | |
| Protected Attributes inherited from pcl::PCLBase< PointInT > | |
| PointCloudConstPtr | input_ |
| The input point cloud dataset. | |
| IndicesPtr | indices_ |
| A pointer to the vector of point indices to use. | |
| bool | use_indices_ |
| Set to true if point indices are used. | |
| bool | fake_indices_ |
| If no set of indices are given, we construct a set of fake indices that mimic the input PointCloud. | |
| Protected Attributes inherited from pcl::FeatureWithLocalReferenceFrames< PointInT, pcl::ReferenceFrame > | |
| PointCloudLRFConstPtr | frames_ |
| A boost shared pointer to the local reference frames. | |
| bool | frames_never_defined_ |
| The user has never set the frames. | |
Additional Inherited Members | |
| Protected Types inherited from pcl::FeatureWithLocalReferenceFrames< PointInT, pcl::ReferenceFrame > | |
| using | LRFEstimationPtr |
| Check if frames_ has been correctly initialized and compute it if needed. | |
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
| using pcl::SHOTColorEstimation< PointInT, PointNT, PointOutT, PointRFT >::ConstPtr = shared_ptr<const SHOTColorEstimation<PointInT, PointNT, PointOutT, PointRFT> > |
| using pcl::SHOTColorEstimation< PointInT, PointNT, PointOutT, PointRFT >::PointCloudIn = typename Feature<PointInT, PointOutT>::PointCloudIn |
| using pcl::SHOTColorEstimation< PointInT, PointNT, PointOutT, PointRFT >::Ptr = shared_ptr<SHOTColorEstimation<PointInT, PointNT, PointOutT, PointRFT> > |
|
inline |
Empty constructor.
| [in] | describe_shape | |
| [in] | describe_color |
Definition at line 320 of file shot.h.
References b_describe_color_, b_describe_shape_, pcl::Feature< PointInT, pcl::SHOT1344 >::feature_name_, and pcl::SHOTEstimationBase< PointInT, PointNT, pcl::SHOT1344, pcl::ReferenceFrame >::SHOTEstimationBase().
|
overridedefault |
Empty destructor.
|
overrideprotected |
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 ()
| output | the resultant point cloud model dataset that contains the SHOT feature estimates |
Definition at line 810 of file shot.hpp.
References b_describe_color_, b_describe_shape_, computePointSHOT(), pcl::SHOTEstimationBase< PointInT, PointNT, pcl::SHOT1344, pcl::ReferenceFrame >::descLength_, pcl::Feature< PointInT, pcl::SHOT1344 >::getClassName(), pcl::PCLBase< PointInT >::indices_, pcl::PCLBase< PointInT >::input_, pcl::PointCloud< PointT >::is_dense, pcl::isFinite(), pcl::Feature< PointInT, pcl::SHOT1344 >::k_, nr_color_bins_, pcl::SHOTEstimationBase< PointInT, PointNT, pcl::SHOT1344, pcl::ReferenceFrame >::nr_grid_sector_, pcl::SHOTEstimationBase< PointInT, PointNT, pcl::SHOT1344, pcl::ReferenceFrame >::nr_shape_bins_, pcl::SHOTEstimationBase< PointInT, PointNT, pcl::SHOT1344, pcl::ReferenceFrame >::radius1_2_, pcl::SHOTEstimationBase< PointInT, PointNT, pcl::SHOT1344, pcl::ReferenceFrame >::radius1_4_, pcl::SHOTEstimationBase< PointInT, PointNT, pcl::SHOT1344, pcl::ReferenceFrame >::radius3_4_, pcl::Feature< PointInT, pcl::SHOT1344 >::search_parameter_, pcl::Feature< PointInT, pcl::SHOT1344 >::search_radius_, pcl::Feature< PointInT, pcl::SHOT1344 >::searchForNeighbors(), and pcl::SHOTEstimationBase< PointInT, PointNT, pcl::SHOT1344, pcl::ReferenceFrame >::sqradius_.
|
overridevirtual |
Estimate the SHOT descriptor for a given point based on its spatial neighborhood of 3D points with normals.
| [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, pcl::SHOT1344, pcl::ReferenceFrame >.
Definition at line 628 of file shot.hpp.
References b_describe_color_, b_describe_shape_, pcl::SHOTEstimationBase< PointInT, PointNT, pcl::SHOT1344, pcl::ReferenceFrame >::createBinDistanceShape(), pcl::SHOTEstimationBase< PointInT, PointNT, pcl::SHOT1344, pcl::ReferenceFrame >::descLength_, pcl::Feature< PointInT, pcl::SHOT1344 >::getClassName(), pcl::PCLBase< PointInT >::indices_, interpolateDoubleChannel(), pcl::SHOTEstimationBase< PointInT, PointNT, pcl::SHOT1344, pcl::ReferenceFrame >::interpolateSingleChannel(), pcl::SHOTEstimationBase< PointInT, PointNT, pcl::SHOT1344, pcl::ReferenceFrame >::normalizeHistogram(), nr_color_bins_, pcl::SHOTEstimationBase< PointInT, PointNT, pcl::SHOT1344, pcl::ReferenceFrame >::nr_shape_bins_, and RGB2CIELAB().
Referenced by computeFeature().
|
protected |
Quadrilinear interpolation; used when color and shape descriptions are both activated.
| [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 412 of file shot.hpp.
References pcl::SHOTEstimationBase< PointInT, PointNT, pcl::SHOT1344, pcl::ReferenceFrame >::descLength_, pcl::SHOTEstimationBase< PointInT, PointNT, pcl::SHOT1344, pcl::ReferenceFrame >::maxAngularSectors_, pcl::SHOTEstimationBase< PointInT, PointNT, pcl::SHOT1344, pcl::ReferenceFrame >::nr_grid_sector_, pcl::SHOTEstimationBase< PointInT, PointNT, pcl::SHOT1344, pcl::ReferenceFrame >::radius1_2_, pcl::SHOTEstimationBase< PointInT, PointNT, pcl::SHOT1344, pcl::ReferenceFrame >::radius1_4_, and pcl::SHOTEstimationBase< PointInT, PointNT, pcl::SHOT1344, pcl::ReferenceFrame >::radius3_4_.
Referenced by computePointSHOT().
|
static |
Converts RGB triplets to CIELab space.
| [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 100 of file shot.hpp.
References pcl::B, sRGB_LUT, and sXYZ_LUT.
Referenced by computePointSHOT().
|
protected |
Compute color descriptor.
Definition at line 376 of file shot.h.
Referenced by computeFeature(), computePointSHOT(), and SHOTColorEstimation().
|
protected |
Compute shape descriptor.
Definition at line 373 of file shot.h.
Referenced by computeFeature(), computePointSHOT(), and SHOTColorEstimation().
|
protected |
The number of bins in each color histogram.
Definition at line 379 of file shot.h.
Referenced by computeFeature(), and computePointSHOT().
|
static |
Definition at line 393 of file shot.h.
Referenced by RGB2CIELAB().
|
static |
Definition at line 394 of file shot.h.
Referenced by RGB2CIELAB().