Point Cloud Library (PCL)
1.11.1-dev
|
43 #include <pcl/features/feature.h>
86 template <
typename Po
intInT,
typename Po
intNT,
typename Po
intOutT>
90 using Ptr = shared_ptr<SpinImageEstimation<PointInT, PointNT, PointOutT> >;
91 using ConstPtr = shared_ptr<const SpinImageEstimation<PointInT, PointNT, PointOutT> >;
121 double support_angle_cos = 0.0,
122 unsigned int min_pts_neighb = 0);
134 image_width_ = bin_count;
146 if (0.0 > support_angle_cos || support_angle_cos > 1.0)
148 throw PCLException (
"Cosine of support angle should be between 0 and 1",
149 "spin_image.h",
"setSupportAngle");
152 support_angle_cos_ = support_angle_cos;
163 min_pts_neighb_ = min_pts_neighb;
179 input_normals_ = normals;
190 rotation_axis_ = axis;
191 use_custom_axis_ =
true;
192 use_custom_axes_cloud_ =
false;
204 rotation_axes_cloud_ = axes;
206 use_custom_axes_cloud_ =
true;
207 use_custom_axis_ =
false;
214 use_custom_axis_ =
false;
215 use_custom_axes_cloud_ =
false;
270 PointNT rotation_axis_;
271 bool use_custom_axis_;
272 bool use_custom_axes_cloud_;
276 unsigned int image_width_;
277 double support_angle_cos_;
278 unsigned int min_pts_neighb_;
282 #ifdef PCL_NO_PRECOMPILE
283 #include <pcl/features/impl/spin_image.hpp>
void setMinPointCountInNeighbourhood(unsigned int min_pts_neighb)
Sets minimal points count for spin image computation.
shared_ptr< Feature< PointInT, PointOutT > > Ptr
SpinImageEstimation(unsigned int image_width=8, double support_angle_cos=0.0, unsigned int min_pts_neighb=0)
Constructs empty spin image estimator.
void setInputRotationAxes(const PointCloudNConstPtr &axes)
Sets array of vectors as rotation axes for input points.
Estimates spin-image descriptors in the given input points.
Eigen::ArrayXXd computeSiForPoint(int index) const
Computes a spin-image for the point of the scan.
bool initCompute() override
initializes computations specific to spin-image.
typename PointCloudIn::Ptr PointCloudInPtr
shared_ptr< const Feature< PointInT, PointOutT > > ConstPtr
typename Feature< PointInT, PointOutT >::PointCloudOut PointCloudOut
void setAngularDomain(bool is_angular=true)
Sets/unsets flag for angular spin-image domain.
typename PointCloudN::Ptr PointCloudNPtr
void setImageWidth(unsigned int bin_count)
Sets spin-image resolution.
~SpinImageEstimation()
Empty destructor.
void setSupportAngle(double support_angle_cos)
Sets the maximum angle for the point normal to get to support region.
void useNormalsAsRotationAxis()
Sets input normals as rotation axes (default setting).
typename PointCloudN::ConstPtr PointCloudNConstPtr
A base class for all pcl exceptions which inherits from std::runtime_error.
shared_ptr< PointCloud< PointNT > > Ptr
void setRotationAxis(const PointNT &axis)
Sets single vector a rotation axis for all input points.
typename PointCloudIn::ConstPtr PointCloudInConstPtr
shared_ptr< const PointCloud< PointNT > > ConstPtr
void computeFeature(PointCloudOut &output) override
Estimate the Spin Image descriptors at a set of points given by setInputWithNormals() using the surfa...
void setRadialStructure(bool is_radial=true)
Sets/unsets flag for radial spin-image structure.
void setInputNormals(const PointCloudNConstPtr &normals)
Provide a pointer to the input dataset that contains the point normals of the input XYZ dataset given...
Feature represents the base feature class.