|
| using | Ptr = shared_ptr<SHOTEstimationBase<PointInT, PointNT, PointOutT, PointRFT> > |
| |
| using | ConstPtr = shared_ptr<const SHOTEstimationBase<PointInT, PointNT, PointOutT, PointRFT> > |
| |
| using | PointCloudIn = typename Feature<PointInT, PointOutT>::PointCloudIn |
| |
| using | PointCloudN = pcl::PointCloud<PointNT> |
| |
| using | PointCloudNPtr = typename PointCloudN::Ptr |
| |
| using | PointCloudNConstPtr = typename PointCloudN::ConstPtr |
| |
| using | Ptr = shared_ptr< FeatureFromNormals<PointInT, PointNT, PointOutT> > |
| |
| using | ConstPtr = shared_ptr< const FeatureFromNormals<PointInT, PointNT, PointOutT> > |
| |
| using | BaseClass = PCLBase<PointInT> |
| |
| using | Ptr = shared_ptr< Feature<PointInT, PointOutT> > |
| |
| using | ConstPtr = shared_ptr< const Feature<PointInT, PointOutT> > |
| |
| using | KdTree = pcl::search::Search<PointInT> |
| |
| using | KdTreePtr = typename KdTree::Ptr |
| |
| using | PointCloudIn = pcl::PointCloud<PointInT> |
| |
| using | PointCloudInPtr = typename PointCloudIn::Ptr |
| |
| using | PointCloudInConstPtr = typename PointCloudIn::ConstPtr |
| |
| using | PointCloudOut = pcl::PointCloud<PointOutT> |
| |
| using | SearchMethod = std::function<int (std::size_t, double, pcl::Indices &, std::vector<float> &)> |
| |
| using | SearchMethodSurface = std::function<int (const PointCloudIn &cloud, std::size_t index, double, pcl::Indices &, std::vector<float> &)> |
| |
| using | PointCloud |
| |
| using | PointCloudPtr |
| |
| using | PointCloudConstPtr |
| |
| using | PointIndicesPtr |
| |
| using | PointIndicesConstPtr |
| |
| using | PointCloudLRF |
| |
| using | PointCloudLRFPtr |
| |
| using | PointCloudLRFConstPtr |
| |
|
| | ~SHOTEstimationBase () override=default |
| | Empty destructor.
|
| |
| virtual void | computePointSHOT (const int index, const pcl::Indices &indices, const std::vector< float > &sqr_dists, Eigen::VectorXf &shot)=0 |
| | Estimate the SHOT descriptor for a given point based on its spatial neighborhood of 3D points with normals.
|
| |
| 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.
|
| |
| | 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.
|
| |
| | 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 ()
|
| |
| | 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.
|
| |
| | 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.
|
| |
| | 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.
|
| |
|
| | 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.
|
| |
| 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.
|
| |
| int | searchForNeighbors (const PointCloudIn &cloud, 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.
|
| |
| bool | initCompute () |
| | This method should get called before starting the actual computation.
|
| |
| bool | deinitCompute () |
| | This method should get called after finishing the actual computation.
|
| |
| bool | initCompute () |
| | This method should get called before starting the actual computation.
|
| |
| bool | deinitCompute () |
| | This method should get called after finishing the actual computation.
|
| |
| virtual bool | initLocalReferenceFrames (const std::size_t &indices_size, const LRFEstimationPtr &lrf_estimation=LRFEstimationPtr()) |
| |
template<typename PointInT, typename PointNT, typename PointOutT, typename PointRFT = pcl::ReferenceFrame>
class pcl::SHOTEstimationBase< PointInT, PointNT, PointOutT, PointRFT >
SHOTEstimation estimates the Signature of Histograms of OrienTations (SHOT) descriptor for a given point cloud dataset containing points and normals.
The suggested PointOutT is pcl::SHOT352.
- Note
- If you use this code in any academic work, please cite:
- F. Tombari, S. Salti, L. Di Stefano Unique Signatures of Histograms for Local Surface Description. In Proceedings of the 11th European Conference on Computer Vision (ECCV), Heraklion, Greece, September 5-11 2010.
- F. Tombari, S. Salti, L. Di Stefano A Combined Texture-Shape Descriptor For Enhanced 3D Feature Matching. In Proceedings of the 18th International Conference on Image Processing (ICIP), Brussels, Belgium, September 11-14 2011.
- Author
- Samuele Salti, Federico Tombari
Definition at line 69 of file shot.h.