|
| using | PointCloudIn = pcl::PointCloud<PointInT> |
| using | PointCloudOut = typename Feature<PointInT, PointOutT>::PointCloudOut |
| using | PointCloudGradient = pcl::PointCloud<GradientT> |
| using | PointCloudGradientPtr = typename PointCloudGradient::Ptr |
| using | PointCloudGradientConstPtr = typename PointCloudGradient::ConstPtr |
| using | Ptr = shared_ptr<RIFTEstimation<PointInT, GradientT, PointOutT> > |
| using | ConstPtr = shared_ptr<const RIFTEstimation<PointInT, GradientT, 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 |
|
| | RIFTEstimation () |
| | Empty constructor.
|
| void | setInputGradient (const PointCloudGradientConstPtr &gradient) |
| | Provide a pointer to the input gradient data.
|
| PointCloudGradientConstPtr | getInputGradient () const |
| | Returns a shared pointer to the input gradient data.
|
| void | setNrDistanceBins (int nr_distance_bins) |
| | Set the number of bins to use in the distance dimension of the RIFT descriptor.
|
| int | getNrDistanceBins () const |
| | Returns the number of bins in the distance dimension of the RIFT descriptor.
|
| void | setNrGradientBins (int nr_gradient_bins) |
| | Set the number of bins to use in the gradient orientation dimension of the RIFT descriptor.
|
| int | getNrGradientBins () const |
| | Returns the number of bins in the gradient orientation dimension of the RIFT descriptor.
|
| void | computeRIFT (const PointCloudIn &cloud, const PointCloudGradient &gradient, int p_idx, float radius, const pcl::Indices &indices, const std::vector< float > &squared_distances, Eigen::MatrixXf &rift_descriptor) |
| | Estimate the Rotation Invariant Feature Transform (RIFT) descriptor for a given point based on its spatial neighborhood of 3D points and the corresponding intensity gradient vector field.
|
| | 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.
|
|
| void | computeFeature (PointCloudOut &output) override |
| | Estimate the Rotation Invariant Feature Transform (RIFT) descriptors at a set of points given by <setInputCloud (), setIndices ()> using the surface in setSearchSurface (), the gradient in setInputGradient (), and the spatial locator in setSearchMethod ().
|
| 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.
|
template<typename PointInT, typename GradientT, typename PointOutT>
class pcl::RIFTEstimation< PointInT, GradientT, PointOutT >
RIFTEstimation estimates the Rotation Invariant Feature Transform descriptors for a given point cloud dataset containing points and intensity.
For more information about the RIFT descriptor, see:
Svetlana Lazebnik, Cordelia Schmid, and Jean Ponce. A sparse texture representation using local affine regions. In IEEE Transactions on Pattern Analysis and Machine Intelligence, volume 27, pages 1265-1278, August 2005.
- Author
- Michael Dixon
Definition at line 59 of file rift.h.
template<typename PointInT, typename GradientT, typename PointOutT>
Estimate the Rotation Invariant Feature Transform (RIFT) descriptors at a set of points given by <setInputCloud (), setIndices ()> using the surface in setSearchSurface (), the gradient in setInputGradient (), and the spatial locator in setSearchMethod ().
- Parameters
-
| [out] | output | the resultant point cloud model dataset that contains the RIFT feature estimates |
Implements pcl::Feature< PointInT, PointOutT >.
Definition at line 113 of file rift.hpp.
References computeRIFT(), pcl::Feature< PointInT, PointOutT >::getClassName(), gradient_, pcl::PCLBase< PointInT >::indices_, nr_distance_bins_, nr_gradient_bins_, pcl::Feature< PointInT, PointOutT >::search_radius_, pcl::Feature< PointInT, PointOutT >::surface_, and pcl::Feature< PointInT, PointOutT >::tree_.