44 #include <pcl/features/feature.h>
62 template <
typename Po
intInT,
typename Po
intOutT = pcl::UniqueShapeContext1960,
typename Po
intRFT = pcl::ReferenceFrame>
80 using Ptr = shared_ptr<UniqueShapeContext<PointInT, PointOutT, PointRFT> >;
81 using ConstPtr = shared_ptr<const UniqueShapeContext<PointInT, PointOutT, PointRFT> >;
190 #ifdef PCL_NO_PRECOMPILE
191 #include <pcl/features/impl/usc.hpp>
Feature represents the base feature class.
double search_radius_
The nearest neighbors search radius for each point.
std::string feature_name_
The feature name.
FeatureWithLocalReferenceFrames provides a public interface for descriptor extractor classes which ne...
UniqueShapeContext implements the Unique Shape Context Descriptor described here:
void setPointDensityRadius(double radius)
This radius is used to compute local point density density = number of points within this radius.
UniqueShapeContext()
Constructor.
std::size_t getAzimuthBins() const
shared_ptr< const UniqueShapeContext< PointInT, PointOutT, PointRFT > > ConstPtr
std::size_t getRadiusBins() const
std::size_t descriptor_length_
Descriptor length.
std::size_t azimuth_bins_
Bins along the azimuth dimension.
std::size_t elevation_bins_
Bins along the elevation dimension.
double getPointDensityRadius() const
void setMinimalRadius(double radius)
The minimal radius value for the search sphere (rmin) in the original paper.
shared_ptr< UniqueShapeContext< PointInT, PointOutT, PointRFT > > Ptr
double point_density_radius_
Point density radius.
std::vector< float > theta_divisions_
Theta divisions interval.
void computeFeature(PointCloudOut &output) override
The actual feature computation.
std::vector< float > phi_divisions_
Phi divisions interval.
double getMinimalRadius() const
double getLocalRadius() const
double local_radius_
Radius to compute local RF.
typename Feature< PointInT, PointOutT >::PointCloudIn PointCloudIn
bool initCompute() override
Initialize computation by allocating all the intervals and the volume lookup table.
void computePointDescriptor(std::size_t index, std::vector< float > &desc)
Compute 3D shape context feature descriptor.
typename Feature< PointInT, PointOutT >::PointCloudOut PointCloudOut
std::vector< float > volume_lut_
Volumes look up table.
std::vector< float > radii_interval_
values of the radii interval.
std::size_t getElevationBins() const
double min_radius_
Minimal radius value.
std::size_t radius_bins_
Bins along the radius dimension.
~UniqueShapeContext() override=default
void setLocalRadius(double radius)
Set the local RF radius value.
Defines all the PCL implemented PointT point type structures.