Point Cloud Library (PCL)  1.7.1
List of all members | Public Types | Public Member Functions | Protected Member Functions
pcl::registration::CorrespondenceEstimationNormalShooting< PointSource, PointTarget, NormalT, Scalar > Class Template Reference

CorrespondenceEstimationNormalShooting computes correspondences as points in the target cloud which have minimum distance to normals computed on the input cloud More...

#include <pcl/registration/correspondence_estimation_normal_shooting.h>

+ Inheritance diagram for pcl::registration::CorrespondenceEstimationNormalShooting< PointSource, PointTarget, NormalT, Scalar >:

Public Types

typedef boost::shared_ptr
< CorrespondenceEstimationNormalShooting
< PointSource, PointTarget,
NormalT, Scalar > > 
Ptr
 
typedef boost::shared_ptr
< const
CorrespondenceEstimationNormalShooting
< PointSource, PointTarget,
NormalT, Scalar > > 
ConstPtr
 
typedef pcl::search::KdTree
< PointTarget > 
KdTree
 
typedef pcl::search::KdTree
< PointTarget >::Ptr 
KdTreePtr
 
typedef pcl::PointCloud
< PointSource > 
PointCloudSource
 
typedef PointCloudSource::Ptr PointCloudSourcePtr
 
typedef PointCloudSource::ConstPtr PointCloudSourceConstPtr
 
typedef pcl::PointCloud
< PointTarget > 
PointCloudTarget
 
typedef PointCloudTarget::Ptr PointCloudTargetPtr
 
typedef PointCloudTarget::ConstPtr PointCloudTargetConstPtr
 
typedef pcl::PointCloud< NormalTPointCloudNormals
 
typedef PointCloudNormals::Ptr NormalsPtr
 
typedef PointCloudNormals::ConstPtr NormalsConstPtr
 
- Public Types inherited from pcl::registration::CorrespondenceEstimationBase< PointSource, PointTarget, Scalar >
typedef boost::shared_ptr
< CorrespondenceEstimationBase
< PointSource, PointTarget,
Scalar > > 
Ptr
 
typedef boost::shared_ptr
< const
CorrespondenceEstimationBase
< PointSource, PointTarget,
Scalar > > 
ConstPtr
 
typedef pcl::search::KdTree
< PointTarget > 
KdTree
 
typedef KdTree::Ptr KdTreePtr
 
typedef pcl::search::KdTree
< PointSource > 
KdTreeReciprocal
 
typedef KdTree::Ptr KdTreeReciprocalPtr
 
typedef pcl::PointCloud
< PointSource > 
PointCloudSource
 
typedef PointCloudSource::Ptr PointCloudSourcePtr
 
typedef PointCloudSource::ConstPtr PointCloudSourceConstPtr
 
typedef pcl::PointCloud
< PointTarget > 
PointCloudTarget
 
typedef PointCloudTarget::Ptr PointCloudTargetPtr
 
typedef PointCloudTarget::ConstPtr PointCloudTargetConstPtr
 
typedef
KdTree::PointRepresentationConstPtr 
PointRepresentationConstPtr
 
- Public Types inherited from pcl::PCLBase< PointSource >
typedef pcl::PointCloud
< PointSource > 
PointCloud
 
typedef PointCloud::Ptr PointCloudPtr
 
typedef PointCloud::ConstPtr PointCloudConstPtr
 
typedef boost::shared_ptr
< PointIndices
PointIndicesPtr
 
typedef boost::shared_ptr
< PointIndices const > 
PointIndicesConstPtr
 

Public Member Functions

 CorrespondenceEstimationNormalShooting ()
 Empty constructor. More...
 
virtual ~CorrespondenceEstimationNormalShooting ()
 Empty destructor. More...
 
void setSourceNormals (const NormalsConstPtr &normals)
 Set the normals computed on the source point cloud. More...
 
NormalsConstPtr getSourceNormals () const
 Get the normals of the source point cloud. More...
 
void determineCorrespondences (pcl::Correspondences &correspondences, double max_distance=std::numeric_limits< double >::max())
 Determine the correspondences between input and target cloud. More...
 
virtual void determineReciprocalCorrespondences (pcl::Correspondences &correspondences, double max_distance=std::numeric_limits< double >::max())
 Determine the reciprocal correspondences between input and target cloud. More...
 
void setKSearch (unsigned int k)
 Set the number of nearest neighbours to be considered in the target point cloud. More...
 
void getKSearch () const
 Get the number of nearest neighbours considered in the target point cloud for computing correspondences. More...
 
- Public Member Functions inherited from pcl::registration::CorrespondenceEstimationBase< PointSource, PointTarget, Scalar >
 CorrespondenceEstimationBase ()
 Empty constructor. More...
 
virtual ~CorrespondenceEstimationBase ()
 Empty destructor. More...
 
 PCL_DEPRECATED (void setInputCloud(const PointCloudSourceConstPtr &cloud),"[pcl::registration::CorrespondenceEstimationBase::setInputCloud] setInputCloud is deprecated. Please use setInputSource instead.")
 Provide a pointer to the input source (e.g., the point cloud that we want to align to the target) More...
 
 PCL_DEPRECATED (PointCloudSourceConstPtr const getInputCloud(),"[pcl::registration::CorrespondenceEstimationBase::getInputCloud] getInputCloud is deprecated. Please use getInputSource instead.")
 Get a pointer to the input point cloud dataset target. More...
 
void setInputSource (const PointCloudSourceConstPtr &cloud)
 Provide a pointer to the input source (e.g., the point cloud that we want to align to the target) More...
 
PointCloudSourceConstPtr const getInputSource ()
 Get a pointer to the input point cloud dataset target. More...
 
void setInputTarget (const PointCloudTargetConstPtr &cloud)
 Provide a pointer to the input target (e.g., the point cloud that we want to align the input source to) More...
 
PointCloudTargetConstPtr const getInputTarget ()
 Get a pointer to the input point cloud dataset target. More...
 
void setIndicesSource (const IndicesPtr &indices)
 Provide a pointer to the vector of indices that represent the input source point cloud. More...
 
IndicesPtr const getIndicesSource ()
 Get a pointer to the vector of indices used for the source dataset. More...
 
void setIndicesTarget (const IndicesPtr &indices)
 Provide a pointer to the vector of indices that represent the input target point cloud. More...
 
IndicesPtr const getIndicesTarget ()
 Get a pointer to the vector of indices used for the target dataset. More...
 
void setSearchMethodTarget (const KdTreePtr &tree, bool force_no_recompute=false)
 Provide a pointer to the search object used to find correspondences in the target cloud. More...
 
KdTreePtr getSearchMethodTarget () const
 Get a pointer to the search method used to find correspondences in the target cloud. More...
 
void setSearchMethodSource (const KdTreeReciprocalPtr &tree, bool force_no_recompute=false)
 Provide a pointer to the search object used to find correspondences in the source cloud (usually used by reciprocal correspondence finding). More...
 
KdTreeReciprocalPtr getSearchMethodSource () const
 Get a pointer to the search method used to find correspondences in the source cloud. More...
 
void setPointRepresentation (const PointRepresentationConstPtr &point_representation)
 Provide a boost shared pointer to the PointRepresentation to be used when searching for nearest neighbors. More...
 
- Public Member Functions inherited from pcl::PCLBase< PointSource >
 PCLBase ()
 Empty constructor. More...
 
 PCLBase (const PCLBase &base)
 Copy constructor. More...
 
virtual ~PCLBase ()
 Destructor. More...
 
virtual void setInputCloud (const PointCloudConstPtr &cloud)
 Provide a pointer to the input dataset. More...
 
PointCloudConstPtr const getInputCloud ()
 Get a pointer to the input point cloud dataset. More...
 
virtual void setIndices (const IndicesPtr &indices)
 Provide a pointer to the vector of indices that represents the input data. More...
 
virtual void setIndices (const IndicesConstPtr &indices)
 Provide a pointer to the vector of indices that represents the input data. More...
 
virtual void setIndices (const PointIndicesConstPtr &indices)
 Provide a pointer to the vector of indices that represents the input data. More...
 
virtual void setIndices (size_t row_start, size_t col_start, size_t nb_rows, size_t nb_cols)
 Set the indices for the points laying within an interest region of the point cloud. More...
 
IndicesPtr const getIndices ()
 Get a pointer to the vector of indices used. More...
 
const PointSource & operator[] (size_t pos)
 Override PointCloud operator[] to shorten code. More...
 

Protected Member Functions

bool initCompute ()
 Internal computation initalization. More...
 
- Protected Member Functions inherited from pcl::registration::CorrespondenceEstimationBase< PointSource, PointTarget, Scalar >
const std::string & getClassName () const
 Abstract class get name method. More...
 
bool initCompute ()
 Internal computation initalization. More...
 
bool initComputeReciprocal ()
 Internal computation initalization for reciprocal correspondences. More...
 
- Protected Member Functions inherited from pcl::PCLBase< PointSource >
bool initCompute ()
 This method should get called before starting the actual computation. More...
 
bool deinitCompute ()
 This method should get called after finishing the actual computation. More...
 

Additional Inherited Members

- Protected Attributes inherited from pcl::registration::CorrespondenceEstimationBase< PointSource, PointTarget, Scalar >
std::string corr_name_
 The correspondence estimation method name. More...
 
KdTreePtr tree_
 A pointer to the spatial search object used for the target dataset. More...
 
KdTreeReciprocalPtr tree_reciprocal_
 A pointer to the spatial search object used for the source dataset. More...
 
PointCloudTargetConstPtr target_
 The input point cloud dataset target. More...
 
IndicesPtr target_indices_
 The target point cloud dataset indices. More...
 
PointRepresentationConstPtr point_representation_
 The point representation used (internal). More...
 
PointCloudTargetPtr input_transformed_
 The transformed input source point cloud dataset. More...
 
std::vector< pcl::PCLPointFieldinput_fields_
 The types of input point fields available. More...
 
bool target_cloud_updated_
 Variable that stores whether we have a new target cloud, meaning we need to pre-process it again. More...
 
bool source_cloud_updated_
 Variable that stores whether we have a new source cloud, meaning we need to pre-process it again. More...
 
bool force_no_recompute_
 A flag which, if set, means the tree operating on the target cloud will never be recomputed. More...
 
bool force_no_recompute_reciprocal_
 A flag which, if set, means the tree operating on the source cloud will never be recomputed. More...
 

Detailed Description

template<typename PointSource, typename PointTarget, typename NormalT, typename Scalar = float>
class pcl::registration::CorrespondenceEstimationNormalShooting< PointSource, PointTarget, NormalT, Scalar >

CorrespondenceEstimationNormalShooting computes correspondences as points in the target cloud which have minimum distance to normals computed on the input cloud

Code example:

// ... read or fill in source and target
pcl::CorrespondenceEstimationNormalShooting<pcl::PointNormal, pcl::PointNormal, pcl::PointNormal> est;
est.setInputSource (source);
est.setSourceNormals (source);
est.setInputTarget (target);
// Test the first 10 correspondences for each point in source, and return the best
est.setKSearch (10);
pcl::Correspondences all_correspondences;
// Determine all correspondences
est.determineCorrespondences (all_correspondences);
Author
Aravindhan K. Krishnan, Radu B. Rusu

Definition at line 78 of file correspondence_estimation_normal_shooting.h.

Member Typedef Documentation

template<typename PointSource , typename PointTarget , typename NormalT , typename Scalar = float>
typedef boost::shared_ptr<const CorrespondenceEstimationNormalShooting<PointSource, PointTarget, NormalT, Scalar> > pcl::registration::CorrespondenceEstimationNormalShooting< PointSource, PointTarget, NormalT, Scalar >::ConstPtr

Definition at line 82 of file correspondence_estimation_normal_shooting.h.

template<typename PointSource , typename PointTarget , typename NormalT , typename Scalar = float>
typedef pcl::search::KdTree<PointTarget> pcl::registration::CorrespondenceEstimationNormalShooting< PointSource, PointTarget, NormalT, Scalar >::KdTree

Definition at line 94 of file correspondence_estimation_normal_shooting.h.

template<typename PointSource , typename PointTarget , typename NormalT , typename Scalar = float>
typedef pcl::search::KdTree<PointTarget>::Ptr pcl::registration::CorrespondenceEstimationNormalShooting< PointSource, PointTarget, NormalT, Scalar >::KdTreePtr

Definition at line 95 of file correspondence_estimation_normal_shooting.h.

template<typename PointSource , typename PointTarget , typename NormalT , typename Scalar = float>
typedef PointCloudNormals::ConstPtr pcl::registration::CorrespondenceEstimationNormalShooting< PointSource, PointTarget, NormalT, Scalar >::NormalsConstPtr

Definition at line 107 of file correspondence_estimation_normal_shooting.h.

template<typename PointSource , typename PointTarget , typename NormalT , typename Scalar = float>
typedef PointCloudNormals::Ptr pcl::registration::CorrespondenceEstimationNormalShooting< PointSource, PointTarget, NormalT, Scalar >::NormalsPtr

Definition at line 106 of file correspondence_estimation_normal_shooting.h.

template<typename PointSource , typename PointTarget , typename NormalT , typename Scalar = float>
typedef pcl::PointCloud<NormalT> pcl::registration::CorrespondenceEstimationNormalShooting< PointSource, PointTarget, NormalT, Scalar >::PointCloudNormals

Definition at line 105 of file correspondence_estimation_normal_shooting.h.

template<typename PointSource , typename PointTarget , typename NormalT , typename Scalar = float>
typedef pcl::PointCloud<PointSource> pcl::registration::CorrespondenceEstimationNormalShooting< PointSource, PointTarget, NormalT, Scalar >::PointCloudSource

Definition at line 97 of file correspondence_estimation_normal_shooting.h.

template<typename PointSource , typename PointTarget , typename NormalT , typename Scalar = float>
typedef PointCloudSource::ConstPtr pcl::registration::CorrespondenceEstimationNormalShooting< PointSource, PointTarget, NormalT, Scalar >::PointCloudSourceConstPtr

Definition at line 99 of file correspondence_estimation_normal_shooting.h.

template<typename PointSource , typename PointTarget , typename NormalT , typename Scalar = float>
typedef PointCloudSource::Ptr pcl::registration::CorrespondenceEstimationNormalShooting< PointSource, PointTarget, NormalT, Scalar >::PointCloudSourcePtr

Definition at line 98 of file correspondence_estimation_normal_shooting.h.

template<typename PointSource , typename PointTarget , typename NormalT , typename Scalar = float>
typedef pcl::PointCloud<PointTarget> pcl::registration::CorrespondenceEstimationNormalShooting< PointSource, PointTarget, NormalT, Scalar >::PointCloudTarget

Definition at line 101 of file correspondence_estimation_normal_shooting.h.

template<typename PointSource , typename PointTarget , typename NormalT , typename Scalar = float>
typedef PointCloudTarget::ConstPtr pcl::registration::CorrespondenceEstimationNormalShooting< PointSource, PointTarget, NormalT, Scalar >::PointCloudTargetConstPtr

Definition at line 103 of file correspondence_estimation_normal_shooting.h.

template<typename PointSource , typename PointTarget , typename NormalT , typename Scalar = float>
typedef PointCloudTarget::Ptr pcl::registration::CorrespondenceEstimationNormalShooting< PointSource, PointTarget, NormalT, Scalar >::PointCloudTargetPtr

Definition at line 102 of file correspondence_estimation_normal_shooting.h.

template<typename PointSource , typename PointTarget , typename NormalT , typename Scalar = float>
typedef boost::shared_ptr<CorrespondenceEstimationNormalShooting<PointSource, PointTarget, NormalT, Scalar> > pcl::registration::CorrespondenceEstimationNormalShooting< PointSource, PointTarget, NormalT, Scalar >::Ptr

Definition at line 81 of file correspondence_estimation_normal_shooting.h.

Constructor & Destructor Documentation

template<typename PointSource , typename PointTarget , typename NormalT , typename Scalar = float>
pcl::registration::CorrespondenceEstimationNormalShooting< PointSource, PointTarget, NormalT, Scalar >::CorrespondenceEstimationNormalShooting ( )
inline

Empty constructor.

Note
Sets the number of neighbors to be considered in the target point cloud (k_) to 10.

Definition at line 114 of file correspondence_estimation_normal_shooting.h.

References pcl::registration::CorrespondenceEstimationBase< PointSource, PointTarget, Scalar >::corr_name_.

template<typename PointSource , typename PointTarget , typename NormalT , typename Scalar = float>
virtual pcl::registration::CorrespondenceEstimationNormalShooting< PointSource, PointTarget, NormalT, Scalar >::~CorrespondenceEstimationNormalShooting ( )
inlinevirtual

Empty destructor.

Definition at line 123 of file correspondence_estimation_normal_shooting.h.

Member Function Documentation

template<typename PointSource , typename PointTarget , typename NormalT , typename Scalar >
void pcl::registration::CorrespondenceEstimationNormalShooting< PointSource, PointTarget, NormalT, Scalar >::determineCorrespondences ( pcl::Correspondences correspondences,
double  max_distance = std::numeric_limits<double>::max () 
)
virtual

Determine the correspondences between input and target cloud.

Parameters
[out]correspondencesthe found correspondences (index of query point, index of target point, distance)
[in]max_distancemaximum distance between the normal on the source point cloud and the corresponding point in the target point cloud

Implements pcl::registration::CorrespondenceEstimationBase< PointSource, PointTarget, Scalar >.

Definition at line 58 of file correspondence_estimation_normal_shooting.hpp.

References pcl::Correspondence::distance, pcl::Correspondence::index_match, and pcl::Correspondence::index_query.

template<typename PointSource , typename PointTarget , typename NormalT , typename Scalar >
void pcl::registration::CorrespondenceEstimationNormalShooting< PointSource, PointTarget, NormalT, Scalar >::determineReciprocalCorrespondences ( pcl::Correspondences correspondences,
double  max_distance = std::numeric_limits<double>::max () 
)
virtual

Determine the reciprocal correspondences between input and target cloud.

A correspondence is considered reciprocal if both Src_i has Tgt_i as a correspondence, and Tgt_i has Src_i as one.

Parameters
[out]correspondencesthe found correspondences (index of query and target point, distance)
[in]max_distancemaximum allowed distance between correspondences

Implements pcl::registration::CorrespondenceEstimationBase< PointSource, PointTarget, Scalar >.

Definition at line 175 of file correspondence_estimation_normal_shooting.hpp.

References pcl::Correspondence::distance, pcl::Correspondence::index_match, and pcl::Correspondence::index_query.

template<typename PointSource , typename PointTarget , typename NormalT , typename Scalar = float>
void pcl::registration::CorrespondenceEstimationNormalShooting< PointSource, PointTarget, NormalT, Scalar >::getKSearch ( ) const
inline

Get the number of nearest neighbours considered in the target point cloud for computing correspondences.

By default we use k = 10 nearest neighbors.

Definition at line 169 of file correspondence_estimation_normal_shooting.h.

template<typename PointSource , typename PointTarget , typename NormalT , typename Scalar = float>
NormalsConstPtr pcl::registration::CorrespondenceEstimationNormalShooting< PointSource, PointTarget, NormalT, Scalar >::getSourceNormals ( ) const
inline

Get the normals of the source point cloud.

Definition at line 134 of file correspondence_estimation_normal_shooting.h.

template<typename PointSource , typename PointTarget , typename NormalT , typename Scalar >
bool pcl::registration::CorrespondenceEstimationNormalShooting< PointSource, PointTarget, NormalT, Scalar >::initCompute ( )
protected

Internal computation initalization.

Definition at line 45 of file correspondence_estimation_normal_shooting.hpp.

template<typename PointSource , typename PointTarget , typename NormalT , typename Scalar = float>
void pcl::registration::CorrespondenceEstimationNormalShooting< PointSource, PointTarget, NormalT, Scalar >::setKSearch ( unsigned int  k)
inline

Set the number of nearest neighbours to be considered in the target point cloud.

By default, we use k = 10 nearest neighbors.

Parameters
[in]kthe number of nearest neighbours to be considered

Definition at line 162 of file correspondence_estimation_normal_shooting.h.

template<typename PointSource , typename PointTarget , typename NormalT , typename Scalar = float>
void pcl::registration::CorrespondenceEstimationNormalShooting< PointSource, PointTarget, NormalT, Scalar >::setSourceNormals ( const NormalsConstPtr normals)
inline

Set the normals computed on the source point cloud.

Parameters
[in]normalsthe normals computed for the source cloud

Definition at line 129 of file correspondence_estimation_normal_shooting.h.


The documentation for this class was generated from the following files: