pcl::registration::CorrespondenceEstimation< PointSource, PointTarget, Scalar > Class Template Reference
Module registration

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::PCLPointField > | input_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:

pcl::PointCloud<pcl::PointXYZRGBA>::Ptr source, target;
// ... 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

## ConstPtr

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.

## KdTree

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.

## KdTreePtr

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.

## PointCloudSource

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.

## PointCloudSourceConstPtr

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.

## PointCloudSourcePtr

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.

## PointCloudTarget

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.

## PointCloudTargetConstPtr

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.

## PointCloudTargetPtr

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.

## PointRepresentationConstPtr

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.

## Ptr

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

## CorrespondenceEstimation()

template<typename PointSource , typename PointTarget , typename Scalar = float>

pcl::registration::CorrespondenceEstimation< PointSource, PointTarget, Scalar >::CorrespondenceEstimation | ( |  | ) |

inline

Empty constructor.

Definition at line 413 of file correspondence_estimation.h.

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

## ~CorrespondenceEstimation()

template<typename PointSource , typename PointTarget , typename Scalar = float>

virtual pcl::registration::CorrespondenceEstimation< PointSource, PointTarget, Scalar >::~CorrespondenceEstimation | ( |  | ) |

inline virtual

Empty destructor.

Definition at line 419 of file correspondence_estimation.h.

References pcl::registration::CorrespondenceEstimationBase< PointSource, PointTarget, Scalar >::determineCorrespondences(), and pcl::registration::CorrespondenceEstimationBase< PointSource, PointTarget, Scalar >::determineReciprocalCorrespondences().

## Member Function Documentation

## clone()

template<typename PointSource , typename PointTarget , typename Scalar = float>

virtual boost::shared_ptr< CorrespondenceEstimationBase<PointSource, PointTarget, Scalar> > pcl::registration::CorrespondenceEstimation< PointSource, PointTarget, Scalar >::clone | ( |  | ) | const

inline virtual

Clone and cast to CorrespondenceEstimationBase.

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

Definition at line 443 of file correspondence_estimation.h.

## determineCorrespondences()

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] | correspondences | the found correspondences (index of query point, index of target point, distance)
  [in] | max_distance | maximum allowed distance between correspondences

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

Definition at line 127 of file correspondence_estimation.hpp.

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

## determineReciprocalCorrespondences()

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] | correspondences | the found correspondences (index of query and target point, distance)
  [in] | max_distance | maximum allowed distance between correspondences

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

Definition at line 185 of file correspondence_estimation.hpp.

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

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

- /build/pcl-OilVEB/pcl-1.8.1+dfsg1/registration/include/pcl/registration/correspondence_estimation.h
- /build/pcl-OilVEB/pcl-1.8.1+dfsg1/registration/include/pcl/registration/impl/correspondence_estimation.hpp