43 #include <pcl/registration/correspondence_estimation.h>
44 #include <pcl/registration/correspondence_types.h>
47 namespace registration {
75 template <
typename PointSource,
78 typename Scalar =
float>
93 initComputeReciprocal;
101 point_representation_;
115 KdTreeReciprocalConstPtr;
135 : source_normals_(), source_normals_transformed_()
137 corr_name_ =
"CorrespondenceEstimationNormalShooting";
149 source_normals_ = normals;
157 return (source_normals_);
185 double max_distance = std::numeric_limits<double>::max())
override;
198 double max_distance = std::numeric_limits<double>::max())
override;
256 #include <pcl/registration/impl/correspondence_estimation_normal_shooting.hpp>
A point structure representing normal coordinates and the surface curvature estimate.
void determineCorrespondences(pcl::Correspondences &correspondences, double max_distance=std::numeric_limits< double >::max()) override
Determine the correspondences between input and target cloud.
search::KdTree is a wrapper class which inherits the pcl::KdTree class for performing search function...
NormalsConstPtr getSourceNormals() const
Get the normals of the source point cloud.
shared_ptr< PointCloud< PointSource > > Ptr
typename PointCloudSource::ConstPtr PointCloudSourceConstPtr
void determineReciprocalCorrespondences(pcl::Correspondences &correspondences, double max_distance=std::numeric_limits< double >::max()) override
Determine the reciprocal correspondences between input and target cloud.
std::string corr_name_
The correspondence estimation method name.
shared_ptr< const ::pcl::PCLPointCloud2 > ConstPtr
bool requiresSourceNormals() const override
See if this rejector requires source normals.
void setSourceNormals(const NormalsConstPtr &normals)
Set the normals computed on the source point cloud.
CorrespondenceEstimationNormalShooting()
Empty constructor.
~CorrespondenceEstimationNormalShooting() override=default
Empty destructor.
unsigned int getKSearch() const
Get the number of nearest neighbours considered in the target point cloud for computing correspondenc...
typename PointCloudNormals::ConstPtr NormalsConstPtr
CorrespondenceEstimationNormalShooting computes correspondences as points in the target cloud which h...
typename PointCloudNormals::Ptr NormalsPtr
bool initCompute()
Internal computation initialization.
void setKSearch(unsigned int k)
Set the number of nearest neighbours to be considered in the target point cloud.
shared_ptr< CorrespondenceEstimationBase< PointSource, PointTarget, Scalar >> Ptr
typename PointCloudSource::Ptr PointCloudSourcePtr
CorrespondenceEstimationBase< PointSource, PointTarget, Scalar >::Ptr clone() const override
Clone and cast to CorrespondenceEstimationBase.
typename PointCloudTarget::ConstPtr PointCloudTargetConstPtr
void setSourceNormals(pcl::PCLPointCloud2::ConstPtr cloud2) override
Blob method for setting the source normals.
void fromPCLPointCloud2(const pcl::PCLPointCloud2 &msg, pcl::PointCloud< PointT > &cloud, const MsgFieldMap &field_map, const std::uint8_t *msg_data)
Convert a PCLPointCloud2 binary data blob into a pcl::PointCloud object using a field_map...
shared_ptr< const PointCloud< PointSource > > ConstPtr
std::vector< pcl::Correspondence, Eigen::aligned_allocator< pcl::Correspondence > > Correspondences
shared_ptr< const CorrespondenceEstimationBase< PointSource, PointTarget, Scalar >> ConstPtr
typename PointCloudTarget::Ptr PointCloudTargetPtr
Abstract CorrespondenceEstimationBase class.