Point Cloud Library (PCL)
1.14.1-dev
|
CorrespondenceEstimation represents a simple class for determining correspondences between target and query point sets/features, using nearest neighbor search. More...
#include <pcl/registration/correspondence_estimation.h>
Public Member Functions | |
CorrespondenceEstimation () | |
Empty constructor. More... | |
~CorrespondenceEstimation () override=default | |
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 () override=default | |
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... | |
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 | setNumberOfThreads (unsigned int nr_threads) |
Set the number of threads to use. 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 for target cloud to be used when searching for nearest neighbors. More... | |
void | setPointRepresentationReciprocal (const PointRepresentationReciprocalConstPtr &point_representation_reciprocal) |
Provide a boost shared pointer to the PointRepresentation for source cloud 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 ()=default |
Destructor. More... | |
virtual void | setInputCloud (const PointCloudConstPtr &cloud) |
Provide a pointer to the input dataset. 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 (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... | |
IndicesConstPtr const | 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 target point representation used (internal). More... | |
PointRepresentationReciprocalConstPtr | point_representation_reciprocal_ |
The source 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... | |
unsigned int | num_threads_ |
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... | |
CorrespondenceEstimation represents a simple class for determining correspondences between target and query point sets/features, using nearest neighbor search.
Code example:
Definition at line 408 of file correspondence_estimation.h.
using pcl::registration::CorrespondenceEstimation< PointSource, PointTarget, Scalar >::ConstPtr = shared_ptr<const CorrespondenceEstimation<PointSource, PointTarget, Scalar> > |
Definition at line 412 of file correspondence_estimation.h.
using pcl::registration::CorrespondenceEstimation< PointSource, PointTarget, Scalar >::KdTree = typename CorrespondenceEstimationBase<PointSource, PointTarget, Scalar>::KdTree |
Definition at line 434 of file correspondence_estimation.h.
using pcl::registration::CorrespondenceEstimation< PointSource, PointTarget, Scalar >::KdTreeConstPtr = typename CorrespondenceEstimationBase<PointSource, PointTarget, Scalar>::KdTreeConstPtr |
Definition at line 439 of file correspondence_estimation.h.
using pcl::registration::CorrespondenceEstimation< PointSource, PointTarget, Scalar >::KdTreePtr = typename CorrespondenceEstimationBase<PointSource, PointTarget, Scalar>::KdTreePtr |
Definition at line 436 of file correspondence_estimation.h.
using pcl::registration::CorrespondenceEstimation< PointSource, PointTarget, Scalar >::KdTreeReciprocal = typename CorrespondenceEstimationBase<PointSource, PointTarget, Scalar>:: KdTreeReciprocal |
Definition at line 442 of file correspondence_estimation.h.
using pcl::registration::CorrespondenceEstimation< PointSource, PointTarget, Scalar >::KdTreeReciprocalConstPtr = typename CorrespondenceEstimationBase<PointSource, PointTarget, Scalar>:: KdTreeReciprocalConstPtr |
Definition at line 449 of file correspondence_estimation.h.
using pcl::registration::CorrespondenceEstimation< PointSource, PointTarget, Scalar >::KdTreeReciprocalPtr = typename CorrespondenceEstimationBase<PointSource, PointTarget, Scalar>:: KdTreeReciprocalPtr |
Definition at line 445 of file correspondence_estimation.h.
using pcl::registration::CorrespondenceEstimation< PointSource, PointTarget, Scalar >::PointCloudSource = pcl::PointCloud<PointSource> |
Definition at line 453 of file correspondence_estimation.h.
using pcl::registration::CorrespondenceEstimation< PointSource, PointTarget, Scalar >::PointCloudSourceConstPtr = typename PointCloudSource::ConstPtr |
Definition at line 455 of file correspondence_estimation.h.
using pcl::registration::CorrespondenceEstimation< PointSource, PointTarget, Scalar >::PointCloudSourcePtr = typename PointCloudSource::Ptr |
Definition at line 454 of file correspondence_estimation.h.
using pcl::registration::CorrespondenceEstimation< PointSource, PointTarget, Scalar >::PointCloudTarget = pcl::PointCloud<PointTarget> |
Definition at line 457 of file correspondence_estimation.h.
using pcl::registration::CorrespondenceEstimation< PointSource, PointTarget, Scalar >::PointCloudTargetConstPtr = typename PointCloudTarget::ConstPtr |
Definition at line 459 of file correspondence_estimation.h.
using pcl::registration::CorrespondenceEstimation< PointSource, PointTarget, Scalar >::PointCloudTargetPtr = typename PointCloudTarget::Ptr |
Definition at line 458 of file correspondence_estimation.h.
using pcl::registration::CorrespondenceEstimation< PointSource, PointTarget, Scalar >::PointRepresentationConstPtr = typename KdTree::PointRepresentationConstPtr |
Definition at line 461 of file correspondence_estimation.h.
using pcl::registration::CorrespondenceEstimation< PointSource, PointTarget, Scalar >::PointRepresentationReciprocalConstPtr = typename KdTreeReciprocal::PointRepresentationConstPtr |
Definition at line 462 of file correspondence_estimation.h.
using pcl::registration::CorrespondenceEstimation< PointSource, PointTarget, Scalar >::Ptr = shared_ptr<CorrespondenceEstimation<PointSource, PointTarget, Scalar> > |
Definition at line 411 of file correspondence_estimation.h.
|
inline |
Empty constructor.
Definition at line 466 of file correspondence_estimation.h.
References pcl::registration::CorrespondenceEstimationBase< PointSource, PointTarget, float >::corr_name_.
|
overridedefault |
Empty destructor.
|
inlineoverridevirtual |
Clone and cast to CorrespondenceEstimationBase.
Implements pcl::registration::CorrespondenceEstimationBase< PointSource, PointTarget, float >.
Definition at line 496 of file correspondence_estimation.h.
|
overridevirtual |
Determine the correspondences between input and target cloud.
[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 147 of file correspondence_estimation.hpp.
References pcl::geometry::distance(), pcl::Correspondence::distance, pcl::Correspondence::index_match, pcl::Correspondence::index_query, and pcl::isXYZFinite().
|
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.
[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 222 of file correspondence_estimation.hpp.
References pcl::geometry::distance(), pcl::Correspondence::distance, pcl::Correspondence::index_match, pcl::Correspondence::index_query, and pcl::isXYZFinite().