41 #ifndef PCL_FEATURES_3DSC_H_
42 #define PCL_FEATURES_3DSC_H_
44 #include <pcl/point_types.h>
45 #include <pcl/features/boost.h>
46 #include <pcl/features/feature.h>
71 template <
typename Po
intInT,
typename Po
intNT,
typename Po
intOutT = pcl::ShapeContext1980>
75 typedef boost::shared_ptr<ShapeContext3DEstimation<PointInT, PointNT, PointOutT> >
Ptr;
76 typedef boost::shared_ptr<const ShapeContext3DEstimation<PointInT, PointNT, PointOutT> >
ConstPtr;
114 rng_->base ().seed (static_cast<unsigned> (std::time(0)));
116 rng_->base ().seed (12345u);
219 boost::shared_ptr<boost::uniform_01<boost::mt19937> >
rng_;
238 #ifdef PCL_NO_PRECOMPILE
239 #include <pcl/features/impl/3dsc.hpp>
242 #endif //#ifndef PCL_3DSC_H_
double point_density_radius_
Point density radius.
double rnd()
Shift computed descriptor "L" times along the azimuthal direction.
bool initCompute()
Initialize computation by allocating all the intervals and the volume lookup table.
void setPointDensityRadius(double radius)
This radius is used to compute local point density density = number of points within this radius...
std::string feature_name_
The feature name.
PointCloud represents the base class in PCL for storing collections of 3D points. ...
boost::mt19937 rng_alg_
Boost-based random number generator algorithm.
Feature represents the base feature class.
std::vector< float > phi_divisions_
Phi divisions interval.
size_t elevation_bins_
Bins along the elevation dimension.
size_t descriptor_length_
Descriptor length.
void computeFeature(PointCloudOut &output)
Estimate the actual feature.
Feature< PointInT, PointOutT >::PointCloudOut PointCloudOut
boost::shared_ptr< ShapeContext3DEstimation< PointInT, PointNT, PointOutT > > Ptr
size_t radius_bins_
Bins along the radius dimension.
boost::shared_ptr< boost::uniform_01< boost::mt19937 > > rng_
Boost-based random number generator distribution.
std::vector< float > theta_divisions_
Theta divisions interval.
void setMinimalRadius(double radius)
The minimal radius value for the search sphere (rmin) in the original paper.
Feature< PointInT, PointOutT >::PointCloudIn PointCloudIn
std::vector< float > volume_lut_
Volumes look up table.
virtual ~ShapeContext3DEstimation()
size_t azimuth_bins_
Bins along the azimuth dimension.
double getPointDensityRadius()
std::vector< float > radii_interval_
Values of the radii interval.
ShapeContext3DEstimation implements the 3D shape context descriptor as described in: ...
double min_radius_
Minimal radius value.
double getMinimalRadius()
double search_radius_
The nearest neighbors search radius for each point.
ShapeContext3DEstimation(bool random=false)
Constructor.
bool computePoint(size_t index, const pcl::PointCloud< PointNT > &normals, float rf[9], std::vector< float > &desc)
Estimate a descriptor for a given point.
size_t getElevationBins()
boost::shared_ptr< const ShapeContext3DEstimation< PointInT, PointNT, PointOutT > > ConstPtr