Point Cloud Library (PCL)  1.8.1-dev
List of all members | Public Types | Public Member Functions
pcl::registration::CorrespondenceEstimation< PointSource, PointTarget, Scalar > Class Template Reference

CorrespondenceEstimation represents the base class for determining correspondences between target and query point sets/features. More...

#include <pcl/registration/correspondence_estimation.h>

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

Public Types

typedef boost::shared_ptr
< CorrespondenceEstimation
< PointSource, PointTarget,
Scalar > > 
Ptr
 
typedef boost::shared_ptr
< const
CorrespondenceEstimation
< PointSource, PointTarget,
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
KdTree::PointRepresentationConstPtr 
PointRepresentationConstPtr
 
- 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

 CorrespondenceEstimation ()
 Empty constructor. More...
 
virtual ~CorrespondenceEstimation ()
 Empty destructor. More...
 
virtual 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...
 
virtual boost::shared_ptr
< CorrespondenceEstimationBase
< PointSource, PointTarget,
Scalar > > 
clone () const
 Clone and cast to CorrespondenceEstimationBase. More...
 
- Public Member Functions inherited from pcl::registration::CorrespondenceEstimationBase< PointSource, PointTarget, Scalar >
 CorrespondenceEstimationBase ()
 Empty constructor. More...
 
virtual ~CorrespondenceEstimationBase ()
 Empty destructor. More...
 
void setInputCloud (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 getInputCloud ()
 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...
 
virtual bool requiresSourceNormals () const
 See if this rejector requires source normals. More...
 
virtual void setSourceNormals (pcl::PCLPointCloud2::ConstPtr)
 Abstract method for setting the source normals. More...
 
virtual bool requiresTargetNormals () const
 See if this rejector requires target normals. More...
 
virtual void setTargetNormals (pcl::PCLPointCloud2::ConstPtr)
 Abstract method for setting the target normals. 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...
 
PointCloudConstPtr const getInputCloud () const
 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...
 
IndicesConstPtr const getIndices () const
 Get a pointer to the vector of indices used. More...
 
const PointSource & operator[] (size_t pos) const
 Override PointCloud operator[] to shorten code. More...
 

Additional Inherited Members

- 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...
 
- 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...
 
- Protected Attributes inherited from pcl::PCLBase< PointSource >
PointCloudConstPtr input_
 The input point cloud dataset. More...
 
IndicesPtr indices_
 A pointer to the vector of point indices to use. More...
 
bool use_indices_
 Set to true if point indices are used. More...
 
bool fake_indices_
 If no set of indices are given, we construct a set of fake indices that mimic the input PointCloud. More...
 

Detailed Description

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

CorrespondenceEstimation represents the base class for determining correspondences between target and query point sets/features.

Code example:

// ... read or fill in source and target
pcl::CorrespondenceEstimation<pcl::PointXYZ, pcl::PointXYZ> est;
est.setInputSource (source);
est.setInputTarget (target);
pcl::Correspondences all_correspondences;
// Determine all reciprocal correspondences
est.determineReciprocalCorrespondences (all_correspondences);
Author
Radu B. Rusu, Michael Dixon, Dirk Holz

Definition at line 378 of file correspondence_estimation.h.

Member Typedef Documentation

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

Definition at line 382 of file correspondence_estimation.h.

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

Definition at line 399 of file correspondence_estimation.h.

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

Definition at line 400 of file correspondence_estimation.h.

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

Definition at line 402 of file correspondence_estimation.h.

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

Definition at line 404 of file correspondence_estimation.h.

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

Definition at line 403 of file correspondence_estimation.h.

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

Definition at line 406 of file correspondence_estimation.h.

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

Definition at line 408 of file correspondence_estimation.h.

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

Definition at line 407 of file correspondence_estimation.h.

template<typename PointSource , typename PointTarget , typename Scalar = float>
typedef KdTree::PointRepresentationConstPtr pcl::registration::CorrespondenceEstimation< PointSource, PointTarget, Scalar >::PointRepresentationConstPtr

Definition at line 410 of file correspondence_estimation.h.

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

Definition at line 381 of file correspondence_estimation.h.

Constructor & Destructor Documentation

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

Empty destructor.

Definition at line 419 of file correspondence_estimation.h.

Member Function Documentation

template<typename PointSource , typename PointTarget , typename Scalar = float>
virtual boost::shared_ptr< CorrespondenceEstimationBase<PointSource, PointTarget, Scalar> > pcl::registration::CorrespondenceEstimation< PointSource, PointTarget, Scalar >::clone ( ) const
inlinevirtual
template<typename PointSource , typename PointTarget , typename Scalar >
void pcl::registration::CorrespondenceEstimation< PointSource, PointTarget, 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 allowed distance between correspondences

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

Definition at line 127 of file correspondence_estimation.hpp.

References pcl::copyPoint(), pcl::Correspondence::distance, pcl::Correspondence::index_match, and pcl::Correspondence::index_query.

template<typename PointSource , typename PointTarget , typename Scalar >
void pcl::registration::CorrespondenceEstimation< PointSource, PointTarget, 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 185 of file correspondence_estimation.hpp.

References pcl::copyPoint(), pcl::Correspondence::distance, pcl::Correspondence::index_match, and pcl::Correspondence::index_query.


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