|
using | Ptr = shared_ptr< SHOTColorEstimation< PointInT, PointNT, PointOutT, PointRFT > > |
|
using | ConstPtr = shared_ptr< const SHOTColorEstimation< PointInT, PointNT, PointOutT, PointRFT > > |
|
using | PointCloudIn = typename Feature< PointInT, PointOutT >::PointCloudIn |
|
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 = pcl::PointCloud< PointInT > |
|
using | PointCloudPtr = typename PointCloud::Ptr |
|
using | PointCloudConstPtr = typename PointCloud::ConstPtr |
|
using | PointIndicesPtr = PointIndices::Ptr |
|
using | PointIndicesConstPtr = PointIndices::ConstPtr |
|
using | PointCloudLRF = pcl::PointCloud< PointRFT > |
|
using | PointCloudLRFPtr = typename PointCloudLRF::Ptr |
|
using | PointCloudLRFConstPtr = typename PointCloudLRF::ConstPtr |
|
|
| SHOTColorEstimation (bool describe_shape=true, bool describe_color=true) |
| Empty constructor.
|
|
| ~SHOTColorEstimation () |
| 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.
|
|
| ~SHOTEstimationBase () |
| 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.
|
|
virtual | ~FeatureFromNormals () |
| Empty destructor.
|
|
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.
|
|
virtual | ~Feature () |
| Empty destructor.
|
|
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.
|
|
| FeatureWithLocalReferenceFrames () |
| Empty constructor.
|
|
virtual | ~FeatureWithLocalReferenceFrames () |
| Empty 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.
|
|
|
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.
|
|
| 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.
|
|
virtual bool | initCompute () |
| This method should get called before starting the actual computation.
|
|
const std::string & | getClassName () const |
| Get a string representation of the name of this class.
|
|
virtual bool | initCompute () |
| This method should get called before starting the actual computation.
|
|
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.
|
|
virtual bool | initLocalReferenceFrames (const std::size_t &indices_size, const LRFEstimationPtr &lrf_estimation=LRFEstimationPtr()) |
|
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:
- 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 298 of file shot.h.
template<typename PointInT , typename PointNT , typename PointOutT , typename PointRFT >
template<typename PointInT , typename PointNT , typename PointOutT , typename PointRFT >
void pcl::SHOTColorEstimation< PointInT, PointNT, PointOutT, PointRFT >::computePointSHOT |
( |
const int |
index, |
|
|
const pcl::Indices & |
indices, |
|
|
const std::vector< float > & |
sqr_dists, |
|
|
Eigen::VectorXf & |
shot |
|
) |
| |
|
overridevirtual |
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 628 of file shot.hpp.