41 #ifndef PCL_REGISTRATION_CORRESPONDENCE_ESTIMATION_NORMAL_SHOOTING_H_ 42 #define PCL_REGISTRATION_CORRESPONDENCE_ESTIMATION_NORMAL_SHOOTING_H_ 44 #include <pcl/registration/correspondence_types.h> 45 #include <pcl/registration/correspondence_estimation.h> 49 namespace registration
77 template <
typename Po
intSource,
typename Po
intTarget,
typename NormalT,
typename Scalar =
float>
81 typedef boost::shared_ptr<CorrespondenceEstimationNormalShooting<PointSource, PointTarget, NormalT, Scalar> >
Ptr;
82 typedef boost::shared_ptr<const CorrespondenceEstimationNormalShooting<PointSource, PointTarget, NormalT, Scalar> >
ConstPtr;
116 , source_normals_transformed_ ()
119 corr_name_ =
"CorrespondenceEstimationNormalShooting";
158 double max_distance = std::numeric_limits<double>::max ());
169 double max_distance = std::numeric_limits<double>::max ());
187 virtual boost::shared_ptr< CorrespondenceEstimationBase<PointSource, PointTarget, Scalar> >
219 #include <pcl/registration/impl/correspondence_estimation_normal_shooting.hpp> void fromPCLPointCloud2(const pcl::PCLPointCloud2 &msg, pcl::PointCloud< PointT > &cloud, const MsgFieldMap &field_map)
Convert a PCLPointCloud2 binary data blob into a pcl::PointCloud<T> object using a field_map...
PointCloudSource::Ptr PointCloudSourcePtr
pcl::search::KdTree< PointTarget >::Ptr KdTreePtr
unsigned int getKSearch() const
Get the number of nearest neighbours considered in the target point cloud for computing correspondenc...
virtual void determineReciprocalCorrespondences(pcl::Correspondences &correspondences, double max_distance=std::numeric_limits< double >::max())
Determine the reciprocal correspondences between input and target cloud.
std::string corr_name_
The correspondence estimation method name.
virtual ~CorrespondenceEstimationNormalShooting()
Empty destructor.
pcl::PointCloud< NormalT > PointCloudNormals
void setSourceNormals(const NormalsConstPtr &normals)
Set the normals computed on the source point cloud.
CorrespondenceEstimationNormalShooting()
Empty constructor.
void setSourceNormals(pcl::PCLPointCloud2::ConstPtr cloud2)
Blob method for setting the source normals.
virtual boost::shared_ptr< CorrespondenceEstimationBase< PointSource, PointTarget, Scalar > > clone() const
Clone and cast to CorrespondenceEstimationBase.
CorrespondenceEstimationNormalShooting computes correspondences as points in the target cloud which h...
boost::shared_ptr< PointCloud< PointSource > > Ptr
pcl::search::KdTree< PointTarget > KdTree
bool requiresSourceNormals() const
See if this rejector requires source normals.
PointCloudTarget::ConstPtr PointCloudTargetConstPtr
boost::shared_ptr< KdTree< PointT, Tree > > Ptr
bool initCompute()
Internal computation initalization.
void setKSearch(unsigned int k)
Set the number of nearest neighbours to be considered in the target point cloud.
PointCloudNormals::ConstPtr NormalsConstPtr
boost::shared_ptr< const CorrespondenceEstimationNormalShooting< PointSource, PointTarget, NormalT, Scalar > > ConstPtr
std::vector< pcl::Correspondence, Eigen::aligned_allocator< pcl::Correspondence > > Correspondences
boost::shared_ptr< const PointCloud< PointSource > > ConstPtr
PointCloudTarget::Ptr PointCloudTargetPtr
boost::shared_ptr< ::pcl::PCLPointCloud2 const > ConstPtr
PointCloudSource::ConstPtr PointCloudSourceConstPtr
void determineCorrespondences(pcl::Correspondences &correspondences, double max_distance=std::numeric_limits< double >::max())
Determine the correspondences between input and target cloud.
pcl::PointCloud< PointTarget > PointCloudTarget
boost::shared_ptr< CorrespondenceEstimationNormalShooting< PointSource, PointTarget, NormalT, Scalar > > Ptr
pcl::PointCloud< PointSource > PointCloudSource
NormalsConstPtr getSourceNormals() const
Get the normals of the source point cloud.
PointCloudNormals::Ptr NormalsPtr
boost::shared_ptr< CorrespondenceEstimationBase< PointSource, PointTarget, Scalar > > Ptr
Abstract CorrespondenceEstimationBase class.