43 #include <pcl/registration/correspondence_types.h>
44 #include <pcl/registration/correspondence_estimation.h>
48 namespace registration
76 template <
typename Po
intSource,
typename Po
intTarget,
typename NormalT,
typename Scalar =
float>
80 using Ptr = shared_ptr<CorrespondenceEstimationNormalShooting<PointSource, PointTarget, NormalT, Scalar> >;
81 using ConstPtr = shared_ptr<const CorrespondenceEstimationNormalShooting<PointSource, PointTarget, NormalT, Scalar> >;
115 , source_normals_transformed_ ()
118 corr_name_ =
"CorrespondenceEstimationNormalShooting";
157 double max_distance = std::numeric_limits<double>::max ())
override;
168 double max_distance = std::numeric_limits<double>::max ())
override;
218 #include <pcl/registration/impl/correspondence_estimation_normal_shooting.hpp>
shared_ptr< KdTree< PointT, Tree > > Ptr
void fromPCLPointCloud2(const pcl::PCLPointCloud2 &msg, pcl::PointCloud< PointT > &cloud, const MsgFieldMap &field_map)
Convert a PCLPointCloud2 binary data blob into a pcl::PointCloud object using a field_map...
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.
typename KdTree::Ptr KdTreePtr
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.
shared_ptr< CorrespondenceEstimationBase< PointSource, PointTarget, Scalar > > Ptr
CorrespondenceEstimationNormalShooting()
Empty constructor.
shared_ptr< const CorrespondenceEstimationBase< PointSource, PointTarget, Scalar > > ConstPtr
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.
~CorrespondenceEstimationNormalShooting()
Empty destructor.
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.
shared_ptr< const PointCloud< PointSource > > ConstPtr
std::vector< pcl::Correspondence, Eigen::aligned_allocator< pcl::Correspondence > > Correspondences
typename PointCloudTarget::Ptr PointCloudTargetPtr
Abstract CorrespondenceEstimationBase class.