point_cloud_library / 1.12.1 / classpcl_1_1registration_1_1_correspondence_estimation.html /

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

#include <pcl/registration/correspondence_estimation.h>

Public Types

using Ptr = shared_ptr< CorrespondenceEstimation< PointSource, PointTarget, Scalar > >
using ConstPtr = shared_ptr< const CorrespondenceEstimation< PointSource, PointTarget, Scalar > >
using KdTree = pcl::search::KdTree< PointTarget >
using KdTreePtr = typename KdTree::Ptr
using PointCloudSource = pcl::PointCloud< PointSource >
using PointCloudSourcePtr = typename PointCloudSource::Ptr
using PointCloudSourceConstPtr = typename PointCloudSource::ConstPtr
using PointCloudTarget = pcl::PointCloud< PointTarget >
using PointCloudTargetPtr = typename PointCloudTarget::Ptr
using PointCloudTargetConstPtr = typename PointCloudTarget::ConstPtr
using PointRepresentationConstPtr = typename KdTree::PointRepresentationConstPtr
- Public Types inherited from pcl::registration::CorrespondenceEstimationBase< PointSource, PointTarget, float >
using Ptr = shared_ptr< CorrespondenceEstimationBase< PointSource, PointTarget, float > >
using ConstPtr = shared_ptr< const CorrespondenceEstimationBase< PointSource, PointTarget, float > >
using KdTree = pcl::search::KdTree< PointTarget >
using KdTreePtr = typename KdTree::Ptr
using KdTreeReciprocal = pcl::search::KdTree< PointSource >
using KdTreeReciprocalPtr = typename KdTree::Ptr
using PointCloudSource = pcl::PointCloud< PointSource >
using PointCloudSourcePtr = typename PointCloudSource::Ptr
using PointCloudSourceConstPtr = typename PointCloudSource::ConstPtr
using PointCloudTarget = pcl::PointCloud< PointTarget >
using PointCloudTargetPtr = typename PointCloudTarget::Ptr
using PointCloudTargetConstPtr = typename PointCloudTarget::ConstPtr
using PointRepresentationConstPtr = typename KdTree::PointRepresentationConstPtr
- Public Types inherited from pcl::PCLBase< PointSource >
using PointCloud = pcl::PointCloud< PointSource >
using PointCloudPtr = typename PointCloud::Ptr
using PointCloudConstPtr = typename PointCloud::ConstPtr
using PointIndicesPtr = PointIndices::Ptr
using PointIndicesConstPtr = PointIndices::ConstPtr

Public Member Functions

CorrespondenceEstimation ()
Empty constructor. More...
~CorrespondenceEstimation ()
Empty destructor. More...
void determineCorrespondences (pcl::Correspondences &correspondences, double max_distance=std::numeric_limits< double >::max()) override
Determine the correspondences between input and target cloud. More...
void determineReciprocalCorrespondences (pcl::Correspondences &correspondences, double max_distance=std::numeric_limits< double >::max()) override
Determine the reciprocal correspondences between input and target cloud. More...
CorrespondenceEstimationBase< PointSource, PointTarget, Scalar >::Ptr clone () const override
Clone and cast to CorrespondenceEstimationBase. More...
- Public Member Functions inherited from pcl::registration::CorrespondenceEstimationBase< PointSource, PointTarget, float >
CorrespondenceEstimationBase ()
Empty constructor. More...
~CorrespondenceEstimationBase ()
Empty destructor. 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...
const PointCloudSourceConstPtr 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...
const PointCloudTargetConstPtr 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...
const IndicesPtr 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...
const IndicesPtr 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...
virtual CorrespondenceEstimationBase< PointSource, PointTarget, float >::Ptr clone () const=0
Clone and cast to CorrespondenceEstimationBase. More...
- Public Member Functions inherited from pcl::PCLBase< PointSource >
PCLBase ()
Empty constructor. More...
PCLBase (const PCLBase &base)
Copy constructor. More...
virtual ~PCLBase ()=default
Destructor. More...
virtual void setInputCloud (const PointCloudConstPtr &cloud)
Provide a pointer to the input dataset. More...
const PointCloudConstPtr 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 (std::size_t row_start, std::size_t col_start, std::size_t nb_rows, std::size_t nb_cols)
Set the indices for the points laying within an interest region of the point cloud. More...
IndicesPtr getIndices ()
Get a pointer to the vector of indices used. More...
const IndicesConstPtr getIndices () const
Get a pointer to the vector of indices used. More...
const PointSource & operator[] (std::size_t pos) const
Override PointCloud operator[] to shorten code. More...

Additional Inherited Members

- Protected Member Functions inherited from pcl::registration::CorrespondenceEstimationBase< PointSource, PointTarget, float >
const std::string & getClassName () const
Abstract class get name method. More...
bool initCompute ()
Internal computation initialization. More...
bool initComputeReciprocal ()
Internal computation initialization 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, float >
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:

// ... 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 371 of file correspondence_estimation.h.

Member Typedef Documentation

ConstPtr

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

Definition at line 376 of file correspondence_estimation.h.

KdTree

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

Definition at line 397 of file correspondence_estimation.h.

KdTreePtr

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

Definition at line 398 of file correspondence_estimation.h.

PointCloudSource

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

Definition at line 400 of file correspondence_estimation.h.

PointCloudSourceConstPtr

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

Definition at line 402 of file correspondence_estimation.h.

PointCloudSourcePtr

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

Definition at line 401 of file correspondence_estimation.h.

PointCloudTarget

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

Definition at line 404 of file correspondence_estimation.h.

PointCloudTargetConstPtr

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

Definition at line 406 of file correspondence_estimation.h.

PointCloudTargetPtr

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

Definition at line 405 of file correspondence_estimation.h.

PointRepresentationConstPtr

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

Definition at line 408 of file correspondence_estimation.h.

Ptr

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

Definition at line 374 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

~CorrespondenceEstimation()

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

Empty destructor.

Definition at line 414 of file correspondence_estimation.h.

Member Function Documentation

clone()

template<typename PointSource , typename PointTarget , typename Scalar = float>
CorrespondenceEstimationBase<PointSource, PointTarget, Scalar>::Ptr pcl::registration::CorrespondenceEstimation< PointSource, PointTarget, Scalar >::clone ( ) const
inlineoverride

Clone and cast to CorrespondenceEstimationBase.

Definition at line 441 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()
)
overridevirtual

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, float >.

Definition at line 117 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()
)
overridevirtual

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, float >.

Definition at line 174 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:

© 2009–2012, Willow Garage, Inc.
© 2012–, Open Perception, Inc.
Licensed under the BSD License.
https://pointclouds.org/documentation/classpcl_1_1registration_1_1_correspondence_estimation.html