43 #include <pcl/point_types.h> 44 #include <pcl/features/feature.h> 67 template <
typename Po
intInT,
typename Po
intNT,
typename Po
intOutT,
typename Po
intRFT = pcl::ReferenceFrame>
72 typedef boost::shared_ptr<SHOTEstimationBase<PointInT, PointNT, PointOutT, PointRFT> >
Ptr;
73 typedef boost::shared_ptr<const SHOTEstimationBase<PointInT, PointNT, PointOutT, PointRFT> >
ConstPtr;
117 const std::vector<int> &indices,
118 const std::vector<float> &sqr_dists,
119 Eigen::VectorXf &shot) = 0;
146 const std::vector<float> &sqr_dists,
148 std::vector<double> &binDistance,
150 Eigen::VectorXf &shot);
167 std::vector<double> &bin_distance_shape);
219 template <
typename Po
intInT,
typename Po
intNT,
typename Po
intOutT = pcl::SHOT352,
typename Po
intRFT = pcl::ReferenceFrame>
223 typedef boost::shared_ptr<SHOTEstimation<PointInT, PointNT, PointOutT, PointRFT> >
Ptr;
224 typedef boost::shared_ptr<const SHOTEstimation<PointInT, PointNT, PointOutT, PointRFT> >
ConstPtr;
265 const std::vector<int> &indices,
266 const std::vector<float> &sqr_dists,
267 Eigen::VectorXf &shot);
297 template <
typename Po
intInT,
typename Po
intNT,
typename Po
intOutT = pcl::SHOT1344,
typename Po
intRFT = pcl::ReferenceFrame>
301 typedef boost::shared_ptr<SHOTColorEstimation<PointInT, PointNT, PointOutT, PointRFT> >
Ptr;
302 typedef boost::shared_ptr<const SHOTColorEstimation<PointInT, PointNT, PointOutT, PointRFT> >
ConstPtr;
331 bool describe_color =
true)
333 b_describe_shape_ (describe_shape),
334 b_describe_color_ (describe_color),
351 const std::vector<int> &indices,
352 const std::vector<float> &sqr_dists,
353 Eigen::VectorXf &shot);
374 interpolateDoubleChannel (
const std::vector<int> &indices,
375 const std::vector<float> &sqr_dists,
377 std::vector<double> &binDistanceShape,
378 std::vector<double> &binDistanceColor,
379 const int nr_bins_shape,
380 const int nr_bins_color,
381 Eigen::VectorXf &shot);
402 RGB2CIELAB (
unsigned char R,
unsigned char G,
unsigned char B,
float &L,
float &A,
float &B2);
404 static float sRGB_LUT[256];
405 static float sXYZ_LUT[4000];
409 #ifdef PCL_NO_PRECOMPILE 410 #include <pcl/features/impl/shot.hpp> 413 #endif //#ifndef PCL_SHOT_H_ boost::shared_ptr< const SHOTColorEstimation< PointInT, PointNT, PointOutT, PointRFT > > ConstPtr
Feature< PointInT, PointOutT >::PointCloudIn PointCloudIn
virtual float getLRFRadius() const
Get the radius used for local reference frame estimation.
double sqradius_
The squared search radius.
SHOTColorEstimation estimates the Signature of Histograms of OrienTations (SHOT) descriptor for a giv...
Feature< PointInT, PointOutT >::PointCloudIn PointCloudIn
SHOTEstimation()
Empty constructor.
std::string feature_name_
The feature name.
void interpolateSingleChannel(const std::vector< int > &indices, const std::vector< float > &sqr_dists, const int index, std::vector< double > &binDistance, const int nr_bins, Eigen::VectorXf &shot)
Quadrilinear interpolation used when color and shape descriptions are NOT activated simultaneously...
double radius1_2_
1/2 of the search radius.
virtual void setLRFRadius(float radius)
Set the radius used for local reference frame estimation if the frames are not set by the user...
virtual void computePointSHOT(const int index, const std::vector< int > &indices, const std::vector< float > &sqr_dists, Eigen::VectorXf &shot)=0
Estimate the SHOT descriptor for a given point based on its spatial neighborhood of 3D points with no...
float lrf_radius_
The radius used for the LRF computation.
virtual bool initCompute()
This method should get called before starting the actual computation.
virtual ~SHOTEstimationBase()
Empty destructor.
int descLength_
One SHOT length.
virtual ~SHOTColorEstimation()
Empty destructor.
SHOTColorEstimation(bool describe_shape=true, bool describe_color=true)
Empty constructor.
const int maxAngularSectors_
...
SHOTEstimation estimates the Signature of Histograms of OrienTations (SHOT) descriptor for a given po...
const int nr_grid_sector_
Number of azimuthal sectors.
virtual ~SHOTEstimation()
Empty destructor.
Feature< PointInT, PointOutT >::PointCloudIn PointCloudIn
int nr_color_bins_
The number of bins in each color histogram.
boost::shared_ptr< const SHOTEstimation< PointInT, PointNT, PointOutT, PointRFT > > ConstPtr
int nr_shape_bins_
The number of bins in each shape histogram.
Eigen::VectorXf shot_
Placeholder for a point's SHOT.
void createBinDistanceShape(int index, const std::vector< int > &indices, std::vector< double > &bin_distance_shape)
Create a binned distance shape histogram.
boost::shared_ptr< SHOTColorEstimation< PointInT, PointNT, PointOutT, PointRFT > > Ptr
void normalizeHistogram(Eigen::VectorXf &shot, int desc_length)
Normalize the SHOT histogram.
double radius1_4_
1/4 of the search radius.
SHOTEstimation estimates the Signature of Histograms of OrienTations (SHOT) descriptor for a given po...
boost::shared_ptr< SHOTEstimationBase< PointInT, PointNT, PointOutT, PointRFT > > Ptr
boost::shared_ptr< const SHOTEstimationBase< PointInT, PointNT, PointOutT, PointRFT > > ConstPtr
double radius3_4_
3/4 of the search radius.
Feature represents the base feature class.
bool b_describe_color_
Compute color descriptor.
FeatureWithLocalReferenceFrames provides a public interface for descriptor extractor classes which ne...
boost::shared_ptr< SHOTEstimation< PointInT, PointNT, PointOutT, PointRFT > > Ptr
SHOTEstimationBase(int nr_shape_bins=10)
Empty constructor.
bool b_describe_shape_
Compute shape descriptor.