Point Cloud Library (PCL)
1.14.1-dev
|
Abstract CorrespondenceEstimationBase class. More...
#include <pcl/registration/correspondence_estimation.h>
Public Member Functions | |
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... | |
virtual void | determineCorrespondences (pcl::Correspondences &correspondences, double max_distance=std::numeric_limits< double >::max())=0 |
Determine the correspondences between input and target cloud. More... | |
virtual void | determineReciprocalCorrespondences (pcl::Correspondences &correspondences, double max_distance=std::numeric_limits< double >::max())=0 |
Determine the reciprocal correspondences between input and target 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... | |
virtual CorrespondenceEstimationBase< PointSource, PointTarget, Scalar >::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... | |
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... | |
Protected Member Functions | |
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 | |
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_ {true} |
Variable that stores whether we have a new target cloud, meaning we need to pre-process it again. More... | |
bool | source_cloud_updated_ {true} |
Variable that stores whether we have a new source cloud, meaning we need to pre-process it again. More... | |
bool | force_no_recompute_ {false} |
A flag which, if set, means the tree operating on the target cloud will never be recomputed. More... | |
bool | force_no_recompute_reciprocal_ {false} |
A flag which, if set, means the tree operating on the source cloud will never be recomputed. More... | |
unsigned int | num_threads_ {1} |
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... | |
Abstract CorrespondenceEstimationBase class.
All correspondence estimation methods should inherit from this.
Definition at line 60 of file correspondence_estimation.h.
using pcl::registration::CorrespondenceEstimationBase< PointSource, PointTarget, Scalar >::ConstPtr = shared_ptr<const CorrespondenceEstimationBase<PointSource, PointTarget, Scalar> > |
Definition at line 64 of file correspondence_estimation.h.
using pcl::registration::CorrespondenceEstimationBase< PointSource, PointTarget, Scalar >::KdTree = pcl::search::KdTree<PointTarget> |
Definition at line 73 of file correspondence_estimation.h.
using pcl::registration::CorrespondenceEstimationBase< PointSource, PointTarget, Scalar >::KdTreeConstPtr = typename KdTree::ConstPtr |
Definition at line 75 of file correspondence_estimation.h.
using pcl::registration::CorrespondenceEstimationBase< PointSource, PointTarget, Scalar >::KdTreePtr = typename KdTree::Ptr |
Definition at line 74 of file correspondence_estimation.h.
using pcl::registration::CorrespondenceEstimationBase< PointSource, PointTarget, Scalar >::KdTreeReciprocal = pcl::search::KdTree<PointSource> |
Definition at line 77 of file correspondence_estimation.h.
using pcl::registration::CorrespondenceEstimationBase< PointSource, PointTarget, Scalar >::KdTreeReciprocalConstPtr = typename KdTreeReciprocal::ConstPtr |
Definition at line 79 of file correspondence_estimation.h.
using pcl::registration::CorrespondenceEstimationBase< PointSource, PointTarget, Scalar >::KdTreeReciprocalPtr = typename KdTreeReciprocal::Ptr |
Definition at line 78 of file correspondence_estimation.h.
using pcl::registration::CorrespondenceEstimationBase< PointSource, PointTarget, Scalar >::PointCloudSource = pcl::PointCloud<PointSource> |
Definition at line 81 of file correspondence_estimation.h.
using pcl::registration::CorrespondenceEstimationBase< PointSource, PointTarget, Scalar >::PointCloudSourceConstPtr = typename PointCloudSource::ConstPtr |
Definition at line 83 of file correspondence_estimation.h.
using pcl::registration::CorrespondenceEstimationBase< PointSource, PointTarget, Scalar >::PointCloudSourcePtr = typename PointCloudSource::Ptr |
Definition at line 82 of file correspondence_estimation.h.
using pcl::registration::CorrespondenceEstimationBase< PointSource, PointTarget, Scalar >::PointCloudTarget = pcl::PointCloud<PointTarget> |
Definition at line 85 of file correspondence_estimation.h.
using pcl::registration::CorrespondenceEstimationBase< PointSource, PointTarget, Scalar >::PointCloudTargetConstPtr = typename PointCloudTarget::ConstPtr |
Definition at line 87 of file correspondence_estimation.h.
using pcl::registration::CorrespondenceEstimationBase< PointSource, PointTarget, Scalar >::PointCloudTargetPtr = typename PointCloudTarget::Ptr |
Definition at line 86 of file correspondence_estimation.h.
using pcl::registration::CorrespondenceEstimationBase< PointSource, PointTarget, Scalar >::PointRepresentationConstPtr = typename KdTree::PointRepresentationConstPtr |
Definition at line 89 of file correspondence_estimation.h.
using pcl::registration::CorrespondenceEstimationBase< PointSource, PointTarget, Scalar >::PointRepresentationReciprocalConstPtr = typename KdTreeReciprocal::PointRepresentationConstPtr |
Definition at line 90 of file correspondence_estimation.h.
using pcl::registration::CorrespondenceEstimationBase< PointSource, PointTarget, Scalar >::Ptr = shared_ptr<CorrespondenceEstimationBase<PointSource, PointTarget, Scalar> > |
Definition at line 62 of file correspondence_estimation.h.
|
inline |
Empty constructor.
Definition at line 94 of file correspondence_estimation.h.
|
overridedefault |
Empty destructor.
|
pure virtual |
Clone and cast to CorrespondenceEstimationBase.
Implemented in pcl::registration::CorrespondenceEstimationNormalShooting< PointSource, PointTarget, NormalT, Scalar >, pcl::registration::CorrespondenceEstimation< PointSource, PointTarget, Scalar >, pcl::registration::CorrespondenceEstimationOrganizedProjection< PointSource, PointTarget, Scalar >, and pcl::registration::CorrespondenceEstimationBackProjection< PointSource, PointTarget, NormalT, Scalar >.
|
pure virtual |
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 |
Implemented in pcl::registration::CorrespondenceEstimationNormalShooting< PointSource, PointTarget, NormalT, Scalar >, pcl::registration::CorrespondenceEstimation< PointSource, PointTarget, Scalar >, pcl::registration::CorrespondenceEstimationBackProjection< PointSource, PointTarget, NormalT, Scalar >, and pcl::registration::CorrespondenceEstimationOrganizedProjection< PointSource, PointTarget, Scalar >.
|
pure 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.
[out] | correspondences | the found correspondences (index of query and target point, distance) |
[in] | max_distance | maximum allowed distance between correspondences |
Implemented in pcl::registration::CorrespondenceEstimationNormalShooting< PointSource, PointTarget, NormalT, Scalar >, pcl::registration::CorrespondenceEstimation< PointSource, PointTarget, Scalar >, pcl::registration::CorrespondenceEstimationBackProjection< PointSource, PointTarget, NormalT, Scalar >, and pcl::registration::CorrespondenceEstimationOrganizedProjection< PointSource, PointTarget, Scalar >.
|
inlineprotected |
Abstract class get name method.
Definition at line 354 of file correspondence_estimation.h.
References pcl::registration::CorrespondenceEstimationBase< PointSource, PointTarget, Scalar >::corr_name_.
Referenced by pcl::registration::CorrespondenceEstimationBase< PointSource, PointTarget, Scalar >::setSourceNormals(), and pcl::registration::CorrespondenceEstimationBase< PointSource, PointTarget, Scalar >::setTargetNormals().
|
inline |
Get a pointer to the vector of indices used for the source dataset.
Definition at line 201 of file correspondence_estimation.h.
References pcl::PCLBase< PointSource >::indices_.
|
inline |
Get a pointer to the vector of indices used for the target dataset.
Definition at line 218 of file correspondence_estimation.h.
References pcl::registration::CorrespondenceEstimationBase< PointSource, PointTarget, Scalar >::target_indices_.
|
inline |
Get a pointer to the input point cloud dataset target.
Definition at line 121 of file correspondence_estimation.h.
References pcl::PCLBase< PointSource >::input_.
|
inline |
Get a pointer to the input point cloud dataset target.
Definition at line 135 of file correspondence_estimation.h.
References pcl::registration::CorrespondenceEstimationBase< PointSource, PointTarget, Scalar >::target_.
|
inline |
Get a pointer to the search method used to find correspondences in the source cloud.
Definition at line 267 of file correspondence_estimation.h.
References pcl::registration::CorrespondenceEstimationBase< PointSource, PointTarget, Scalar >::tree_reciprocal_.
|
inline |
Get a pointer to the search method used to find correspondences in the target cloud.
Definition at line 242 of file correspondence_estimation.h.
References pcl::registration::CorrespondenceEstimationBase< PointSource, PointTarget, Scalar >::tree_.
|
protected |
Internal computation initialization.
Definition at line 74 of file correspondence_estimation.hpp.
|
protected |
Internal computation initialization for reciprocal correspondences.
Definition at line 98 of file correspondence_estimation.hpp.
|
inlinevirtual |
See if this rejector requires source normals.
Reimplemented in pcl::registration::CorrespondenceEstimationNormalShooting< PointSource, PointTarget, NormalT, Scalar >, and pcl::registration::CorrespondenceEstimationBackProjection< PointSource, PointTarget, NormalT, Scalar >.
Definition at line 159 of file correspondence_estimation.h.
|
inlinevirtual |
See if this rejector requires target normals.
Reimplemented in pcl::registration::CorrespondenceEstimationBackProjection< PointSource, PointTarget, NormalT, Scalar >.
Definition at line 175 of file correspondence_estimation.h.
|
inline |
Provide a pointer to the vector of indices that represent the input source point cloud.
[in] | indices | a pointer to the vector of indices |
Definition at line 194 of file correspondence_estimation.h.
References pcl::PCLBase< PointSource >::setIndices().
|
inline |
Provide a pointer to the vector of indices that represent the input target point cloud.
[in] | indices | a pointer to the vector of indices |
Definition at line 210 of file correspondence_estimation.h.
References pcl::registration::CorrespondenceEstimationBase< PointSource, PointTarget, Scalar >::target_cloud_updated_, and pcl::registration::CorrespondenceEstimationBase< PointSource, PointTarget, Scalar >::target_indices_.
|
inline |
Provide a pointer to the input source (e.g., the point cloud that we want to align to the target)
[in] | cloud | the input point cloud source |
Definition at line 112 of file correspondence_estimation.h.
References pcl::registration::CorrespondenceEstimationBase< PointSource, PointTarget, Scalar >::input_fields_, pcl::PCLBase< PointT >::setInputCloud(), and pcl::registration::CorrespondenceEstimationBase< PointSource, PointTarget, Scalar >::source_cloud_updated_.
|
inline |
Provide a pointer to the input target (e.g., the point cloud that we want to align the input source to)
[in] | cloud | the input point cloud target |
Definition at line 54 of file correspondence_estimation.hpp.
|
inline |
Set the number of threads to use.
nr_threads | the number of hardware threads to use (0 sets the value back to automatic) |
Definition at line 145 of file correspondence_estimation.h.
References pcl::registration::CorrespondenceEstimationBase< PointSource, PointTarget, Scalar >::num_threads_.
|
inline |
Provide a boost shared pointer to the PointRepresentation for target cloud to be used when searching for nearest neighbors.
[in] | point_representation | the PointRepresentation to be used by the k-D tree for nearest neighbor search |
Definition at line 302 of file correspondence_estimation.h.
References pcl::registration::CorrespondenceEstimationBase< PointSource, PointTarget, Scalar >::point_representation_.
|
inline |
Provide a boost shared pointer to the PointRepresentation for source cloud to be used when searching for nearest neighbors.
[in] | point_representation | the PointRepresentation to be used by the k-D tree for nearest neighbor search |
Definition at line 314 of file correspondence_estimation.h.
|
inline |
Provide a pointer to the search object used to find correspondences in the source cloud (usually used by reciprocal correspondence finding).
[in] | tree | a pointer to the spatial search object. |
[in] | force_no_recompute | If set to true, this tree will NEVER be recomputed, regardless of calls to setInputSource. Only use if you are extremely confident that the tree will be set correctly. |
Definition at line 255 of file correspondence_estimation.h.
References pcl::registration::CorrespondenceEstimationBase< PointSource, PointTarget, Scalar >::force_no_recompute_reciprocal_, pcl::registration::CorrespondenceEstimationBase< PointSource, PointTarget, Scalar >::source_cloud_updated_, and pcl::registration::CorrespondenceEstimationBase< PointSource, PointTarget, Scalar >::tree_reciprocal_.
|
inline |
Provide a pointer to the search object used to find correspondences in the target cloud.
[in] | tree | a pointer to the spatial search object. |
[in] | force_no_recompute | If set to true, this tree will NEVER be recomputed, regardless of calls to setInputTarget. Only use if you are confident that the tree will be set correctly. |
Definition at line 231 of file correspondence_estimation.h.
References pcl::registration::CorrespondenceEstimationBase< PointSource, PointTarget, Scalar >::force_no_recompute_, pcl::registration::CorrespondenceEstimationBase< PointSource, PointTarget, Scalar >::target_cloud_updated_, and pcl::registration::CorrespondenceEstimationBase< PointSource, PointTarget, Scalar >::tree_.
|
inlinevirtual |
Abstract method for setting the source normals.
Reimplemented in pcl::registration::CorrespondenceEstimationNormalShooting< PointSource, PointTarget, NormalT, Scalar >, and pcl::registration::CorrespondenceEstimationBackProjection< PointSource, PointTarget, NormalT, Scalar >.
Definition at line 166 of file correspondence_estimation.h.
References pcl::registration::CorrespondenceEstimationBase< PointSource, PointTarget, Scalar >::getClassName().
|
inlinevirtual |
Abstract method for setting the target normals.
Reimplemented in pcl::registration::CorrespondenceEstimationBackProjection< PointSource, PointTarget, NormalT, Scalar >.
Definition at line 182 of file correspondence_estimation.h.
References pcl::registration::CorrespondenceEstimationBase< PointSource, PointTarget, Scalar >::getClassName().
|
protected |
The correspondence estimation method name.
Definition at line 326 of file correspondence_estimation.h.
Referenced by pcl::registration::CorrespondenceEstimationBase< PointSource, PointTarget, Scalar >::getClassName().
|
protected |
A flag which, if set, means the tree operating on the target cloud will never be recomputed.
Definition at line 377 of file correspondence_estimation.h.
Referenced by pcl::registration::CorrespondenceEstimationBase< PointSource, PointTarget, Scalar >::setSearchMethodTarget().
|
protected |
A flag which, if set, means the tree operating on the source cloud will never be recomputed.
Definition at line 381 of file correspondence_estimation.h.
Referenced by pcl::registration::CorrespondenceEstimationBase< PointSource, PointTarget, Scalar >::setSearchMethodSource().
|
protected |
The types of input point fields available.
Definition at line 350 of file correspondence_estimation.h.
Referenced by pcl::registration::CorrespondenceEstimationBase< PointSource, PointTarget, Scalar >::setInputSource().
|
protected |
The transformed input source point cloud dataset.
Definition at line 347 of file correspondence_estimation.h.
|
protected |
Definition at line 383 of file correspondence_estimation.h.
Referenced by pcl::registration::CorrespondenceEstimationBase< PointSource, PointTarget, Scalar >::setNumberOfThreads().
|
protected |
The target point representation used (internal).
Definition at line 341 of file correspondence_estimation.h.
Referenced by pcl::registration::CorrespondenceEstimationBase< PointSource, PointTarget, Scalar >::setPointRepresentation().
|
protected |
The source point representation used (internal).
Definition at line 344 of file correspondence_estimation.h.
Referenced by pcl::registration::CorrespondenceEstimationBase< PointSource, PointTarget, Scalar >::setPointRepresentationReciprocal().
|
protected |
Variable that stores whether we have a new source cloud, meaning we need to pre-process it again.
This way, we avoid rebuilding the reciprocal kd-tree for the source cloud every time the determineCorrespondences () method is called.
Definition at line 374 of file correspondence_estimation.h.
Referenced by pcl::registration::CorrespondenceEstimationBase< PointSource, PointTarget, Scalar >::setInputSource(), and pcl::registration::CorrespondenceEstimationBase< PointSource, PointTarget, Scalar >::setSearchMethodSource().
|
protected |
The input point cloud dataset target.
Definition at line 335 of file correspondence_estimation.h.
Referenced by pcl::registration::CorrespondenceEstimationBase< PointSource, PointTarget, Scalar >::getInputTarget().
|
protected |
Variable that stores whether we have a new target cloud, meaning we need to pre-process it again.
This way, we avoid rebuilding the kd-tree for the target cloud every time the determineCorrespondences () method is called.
Definition at line 370 of file correspondence_estimation.h.
Referenced by pcl::registration::CorrespondenceEstimationBase< PointSource, PointTarget, Scalar >::setIndicesTarget(), and pcl::registration::CorrespondenceEstimationBase< PointSource, PointTarget, Scalar >::setSearchMethodTarget().
|
protected |
The target point cloud dataset indices.
Definition at line 338 of file correspondence_estimation.h.
Referenced by pcl::registration::CorrespondenceEstimationBase< PointSource, PointTarget, Scalar >::getIndicesTarget(), and pcl::registration::CorrespondenceEstimationBase< PointSource, PointTarget, Scalar >::setIndicesTarget().
|
protected |
A pointer to the spatial search object used for the target dataset.
Definition at line 329 of file correspondence_estimation.h.
Referenced by pcl::registration::CorrespondenceEstimationBase< PointSource, PointTarget, Scalar >::getSearchMethodTarget(), and pcl::registration::CorrespondenceEstimationBase< PointSource, PointTarget, Scalar >::setSearchMethodTarget().
|
protected |
A pointer to the spatial search object used for the source dataset.
Definition at line 332 of file correspondence_estimation.h.
Referenced by pcl::registration::CorrespondenceEstimationBase< PointSource, PointTarget, Scalar >::getSearchMethodSource(), and pcl::registration::CorrespondenceEstimationBase< PointSource, PointTarget, Scalar >::setSearchMethodSource().