Point Cloud Library (PCL)
1.14.1-dev
|
CorrespondenceEstimationNormalShooting computes correspondences as points in the target cloud which have minimum distance to normals computed on the input cloud More...
#include <pcl/registration/correspondence_estimation_normal_shooting.h>
Public Member Functions | |
CorrespondenceEstimationNormalShooting () | |
Empty constructor. More... | |
~CorrespondenceEstimationNormalShooting () override=default | |
Empty destructor. More... | |
void | setSourceNormals (const NormalsConstPtr &normals) |
Set the normals computed on the source point cloud. More... | |
NormalsConstPtr | getSourceNormals () const |
Get the normals of the source point cloud. More... | |
bool | requiresSourceNormals () const override |
See if this rejector requires source normals. More... | |
void | setSourceNormals (pcl::PCLPointCloud2::ConstPtr cloud2) override |
Blob method for setting the source normals. 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... | |
void | setKSearch (unsigned int k) |
Set the number of nearest neighbours to be considered in the target point cloud. More... | |
unsigned int | getKSearch () const |
Get the number of nearest neighbours considered in the target point cloud for computing correspondences. 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 | 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... | |
Protected Member Functions | |
bool | initCompute () |
Internal computation initialization. More... | |
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... | |
Additional Inherited Members | |
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... | |
CorrespondenceEstimationNormalShooting computes correspondences as points in the target cloud which have minimum distance to normals computed on the input cloud
Code example:
Definition at line 79 of file correspondence_estimation_normal_shooting.h.
using pcl::registration::CorrespondenceEstimationNormalShooting< PointSource, PointTarget, NormalT, Scalar >::ConstPtr = shared_ptr<const CorrespondenceEstimationNormalShooting<PointSource, PointTarget, NormalT, Scalar> > |
Definition at line 86 of file correspondence_estimation_normal_shooting.h.
using pcl::registration::CorrespondenceEstimationNormalShooting< PointSource, PointTarget, NormalT, Scalar >::NormalsConstPtr = typename PointCloudNormals::ConstPtr |
Definition at line 127 of file correspondence_estimation_normal_shooting.h.
using pcl::registration::CorrespondenceEstimationNormalShooting< PointSource, PointTarget, NormalT, Scalar >::NormalsPtr = typename PointCloudNormals::Ptr |
Definition at line 126 of file correspondence_estimation_normal_shooting.h.
using pcl::registration::CorrespondenceEstimationNormalShooting< PointSource, PointTarget, NormalT, Scalar >::PointCloudNormals = pcl::PointCloud<NormalT> |
Definition at line 125 of file correspondence_estimation_normal_shooting.h.
using pcl::registration::CorrespondenceEstimationNormalShooting< PointSource, PointTarget, NormalT, Scalar >::PointCloudSource = pcl::PointCloud<PointSource> |
Definition at line 117 of file correspondence_estimation_normal_shooting.h.
using pcl::registration::CorrespondenceEstimationNormalShooting< PointSource, PointTarget, NormalT, Scalar >::PointCloudSourceConstPtr = typename PointCloudSource::ConstPtr |
Definition at line 119 of file correspondence_estimation_normal_shooting.h.
using pcl::registration::CorrespondenceEstimationNormalShooting< PointSource, PointTarget, NormalT, Scalar >::PointCloudSourcePtr = typename PointCloudSource::Ptr |
Definition at line 118 of file correspondence_estimation_normal_shooting.h.
using pcl::registration::CorrespondenceEstimationNormalShooting< PointSource, PointTarget, NormalT, Scalar >::PointCloudTarget = pcl::PointCloud<PointTarget> |
Definition at line 121 of file correspondence_estimation_normal_shooting.h.
using pcl::registration::CorrespondenceEstimationNormalShooting< PointSource, PointTarget, NormalT, Scalar >::PointCloudTargetConstPtr = typename PointCloudTarget::ConstPtr |
Definition at line 123 of file correspondence_estimation_normal_shooting.h.
using pcl::registration::CorrespondenceEstimationNormalShooting< PointSource, PointTarget, NormalT, Scalar >::PointCloudTargetPtr = typename PointCloudTarget::Ptr |
Definition at line 122 of file correspondence_estimation_normal_shooting.h.
using pcl::registration::CorrespondenceEstimationNormalShooting< PointSource, PointTarget, NormalT, Scalar >::Ptr = shared_ptr<CorrespondenceEstimationNormalShooting<PointSource, PointTarget, NormalT, Scalar> > |
Definition at line 82 of file correspondence_estimation_normal_shooting.h.
|
inline |
Empty constructor.
Definition at line 134 of file correspondence_estimation_normal_shooting.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 223 of file correspondence_estimation_normal_shooting.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 distance between the normal on the source point cloud and the corresponding point in the target point cloud |
Implements pcl::registration::CorrespondenceEstimationBase< PointSource, PointTarget, float >.
Definition at line 68 of file correspondence_estimation_normal_shooting.hpp.
References pcl::Correspondence::distance, pcl::Correspondence::index_match, and pcl::Correspondence::index_query.
|
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 134 of file correspondence_estimation_normal_shooting.hpp.
References pcl::Correspondence::distance, pcl::Correspondence::index_match, and pcl::Correspondence::index_query.
|
inline |
Get the number of nearest neighbours considered in the target point cloud for computing correspondences.
By default we use k = 10 nearest neighbors.
Definition at line 216 of file correspondence_estimation_normal_shooting.h.
|
inline |
Get the normals of the source point cloud.
Definition at line 155 of file correspondence_estimation_normal_shooting.h.
|
protected |
Internal computation initialization.
Definition at line 52 of file correspondence_estimation_normal_shooting.hpp.
|
inlineoverridevirtual |
See if this rejector requires source normals.
Reimplemented from pcl::registration::CorrespondenceEstimationBase< PointSource, PointTarget, float >.
Definition at line 162 of file correspondence_estimation_normal_shooting.h.
|
inline |
Set the number of nearest neighbours to be considered in the target point cloud.
By default, we use k = 10 nearest neighbors.
[in] | k | the number of nearest neighbours to be considered |
Definition at line 206 of file correspondence_estimation_normal_shooting.h.
|
inline |
Set the normals computed on the source point cloud.
[in] | normals | the normals computed for the source cloud |
Definition at line 147 of file correspondence_estimation_normal_shooting.h.
Referenced by pcl::registration::CorrespondenceEstimationNormalShooting< PointSource, PointTarget, NormalT, Scalar >::setSourceNormals().
|
inlineoverridevirtual |
Blob method for setting the source normals.
Reimplemented from pcl::registration::CorrespondenceEstimationBase< PointSource, PointTarget, float >.
Definition at line 169 of file correspondence_estimation_normal_shooting.h.
References pcl::fromPCLPointCloud2(), and pcl::registration::CorrespondenceEstimationNormalShooting< PointSource, PointTarget, NormalT, Scalar >::setSourceNormals().