43#include <pcl/features/feature.h>
58 template <
typename Po
intInT,
typename GradientT,
typename Po
intOutT>
78 using Ptr = shared_ptr<RIFTEstimation<PointInT, GradientT, PointOutT> >;
79 using ConstPtr = shared_ptr<const RIFTEstimation<PointInT, GradientT, PointOutT> >;
130 const pcl::Indices &indices,
const std::vector<float> &squared_distances,
131 Eigen::MatrixXf &rift_descriptor);
154#ifdef PCL_NO_PRECOMPILE
155#include <pcl/features/impl/rift.hpp>
Feature represents the base feature class.
const std::string & getClassName() const
Get a string representation of the name of this class.
double search_radius_
The nearest neighbors search radius for each point.
std::string feature_name_
The feature name.
KdTreePtr tree_
A pointer to the spatial search object.
PointCloudInConstPtr surface_
An input point cloud describing the surface that is to be used for nearest neighbors estimation.
IndicesPtr indices_
A pointer to the vector of point indices to use.
shared_ptr< PointCloud< PointT > > Ptr
shared_ptr< const PointCloud< PointT > > ConstPtr
RIFTEstimation estimates the Rotation Invariant Feature Transform descriptors for a given point cloud...
pcl::PointCloud< PointInT > PointCloudIn
void setNrGradientBins(int nr_gradient_bins)
Set the number of bins to use in the gradient orientation dimension of the RIFT descriptor.
void computeFeature(PointCloudOut &output) override
Estimate the Rotation Invariant Feature Transform (RIFT) descriptors at a set of points given by <set...
RIFTEstimation()
Empty constructor.
shared_ptr< const RIFTEstimation< PointInT, GradientT, PointOutT > > ConstPtr
pcl::PointCloud< GradientT > PointCloudGradient
int nr_distance_bins_
The number of distance bins in the descriptor.
PointCloudGradientConstPtr gradient_
The intensity gradient of the input point cloud 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 setInputGradient(const PointCloudGradientConstPtr &gradient)
Provide a pointer to the input gradient data.
typename PointCloudGradient::ConstPtr PointCloudGradientConstPtr
int nr_gradient_bins_
The number of gradient orientation bins in the 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 sp...
typename PointCloudGradient::Ptr PointCloudGradientPtr
PointCloudGradientConstPtr getInputGradient() const
Returns a shared pointer to the input gradient data.
shared_ptr< RIFTEstimation< PointInT, GradientT, PointOutT > > Ptr
typename Feature< PointInT, PointOutT >::PointCloudOut PointCloudOut
int getNrGradientBins() const
Returns the number of bins in the gradient orientation dimension of the RIFT descriptor.
IndicesAllocator<> Indices
Type used for indices in PCL.