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_ std::vector< float > radii_interval_
Values of the radii interval.
bool initCompute()
Initialize computation by allocating all the intervals and the volume lookup table.
Feature< PointInT, PointOutT >::PointCloudOut PointCloudOut
size_t radius_bins_
Bins along the radius dimension.
boost::shared_ptr< const ShapeContext3DEstimation< PointInT, PointNT, PointOutT > > ConstPtr
std::vector< float > phi_divisions_
Phi divisions interval.
size_t elevation_bins_
Bins along the elevation dimension.
std::string feature_name_
The feature name.
void setPointDensityRadius(double radius)
This radius is used to compute local point density density = number of points within this radius...
std::vector< float > theta_divisions_
Theta divisions interval.
size_t getElevationBins()
void setMinimalRadius(double radius)
The minimal radius value for the search sphere (rmin) in the original paper.
ShapeContext3DEstimation implements the 3D shape context descriptor as described in: ...
double point_density_radius_
Point density radius.
double min_radius_
Minimal radius value.
void computeFeature(PointCloudOut &output)
Estimate the actual feature.
bool computePoint(size_t index, const pcl::PointCloud< PointNT > &normals, float rf[9], std::vector< float > &desc)
Estimate a descriptor for a given point.
ShapeContext3DEstimation(bool random=false)
Constructor.
Feature< PointInT, PointOutT >::PointCloudIn PointCloudIn
virtual ~ShapeContext3DEstimation()
boost::shared_ptr< boost::uniform_01< boost::mt19937 > > rng_
Boost-based random number generator distribution.
size_t azimuth_bins_
Bins along the azimuth dimension.
std::vector< float > volume_lut_
Volumes look up table.
PointCloud represents the base class in PCL for storing collections of 3D points. ...
size_t descriptor_length_
Descriptor length.
boost::shared_ptr< ShapeContext3DEstimation< PointInT, PointNT, PointOutT > > Ptr
double rnd()
Boost-based random number generator.
Feature represents the base feature class.
double getPointDensityRadius()
boost::mt19937 rng_alg_
Boost-based random number generator algorithm.
double search_radius_
The nearest neighbors search radius for each point.
double getMinimalRadius()