pcl::registration::CorrespondenceRejectorSurfaceNormal Class Reference
Module registration

CorrespondenceRejectorSurfaceNormal implements a simple correspondence rejection method based on the angle between the normals at correspondent points. More...

`#include <pcl/registration/correspondence_rejection_surface_normal.h>`

Inheritance diagram for pcl::registration::CorrespondenceRejectorSurfaceNormal:

## Public Types

using | Ptr = shared_ptr< CorrespondenceRejectorSurfaceNormal >
using | ConstPtr = shared_ptr< const CorrespondenceRejectorSurfaceNormal >
Public Types inherited from pcl::registration::CorrespondenceRejector
using | Ptr = shared_ptr< CorrespondenceRejector >
using | ConstPtr = shared_ptr< const CorrespondenceRejector >

## Public Member Functions

| CorrespondenceRejectorSurfaceNormal ()
| Empty constructor. More...
void | getRemainingCorrespondences (const pcl::Correspondences &original_correspondences, pcl::Correspondences &remaining_correspondences) override
| Get a list of valid correspondences after rejection from the original set of correspondences. More...
void | setThreshold (double threshold)
| Set the thresholding angle between the normals for correspondence rejection. More...
double | getThreshold () const
| Get the thresholding angle between the normals for correspondence rejection. More...
template<typename PointT , typename NormalT >
void | initializeDataContainer ()
| Initialize the data container object for the point type and the normal type. More...
template<typename PointT >
void | setInputCloud (const typename pcl::PointCloud< PointT >::ConstPtr &input)
| Provide a source point cloud dataset (must contain XYZ data!), used to compute the correspondence distance. More...
template<typename PointT >
void | setInputSource (const typename pcl::PointCloud< PointT >::ConstPtr &input)
| Provide a source point cloud dataset (must contain XYZ data!), used to compute the correspondence distance. More...
template<typename PointT >
pcl::PointCloud< PointT >::ConstPtr | getInputSource () const
| Get the target input point cloud. More...
template<typename PointT >
void | setInputTarget (const typename pcl::PointCloud< PointT >::ConstPtr &target)
| Provide a target point cloud dataset (must contain XYZ data!), used to compute the correspondence distance. More...
template<typename PointT >
void | setSearchMethodTarget (const typename pcl::search::KdTree< PointT >::Ptr &tree, bool force_no_recompute=false)
| Provide a pointer to the search object used to find correspondences in the target cloud. More...
template<typename PointT >
pcl::PointCloud< PointT >::ConstPtr | getInputTarget () const
| Get the target input point cloud. More...
template<typename PointT , typename NormalT >
void | setInputNormals (const typename pcl::PointCloud< NormalT >::ConstPtr &normals)
| Set the normals computed on the input point cloud. More...
template<typename NormalT >
pcl::PointCloud< NormalT >::Ptr | getInputNormals () const
| Get the normals computed on the input point cloud. More...
template<typename PointT , typename NormalT >
void | setTargetNormals (const typename pcl::PointCloud< NormalT >::ConstPtr &normals)
| Set the normals computed on the target point cloud. More...
template<typename NormalT >
pcl::PointCloud< NormalT >::Ptr | getTargetNormals () const
| Get the normals computed on the target point cloud. More...
bool | requiresSourcePoints () const override
| See if this rejector requires source points. More...
void | setSourcePoints (pcl::PCLPointCloud2::ConstPtr cloud2) override
| Blob method for setting the source cloud. More...
bool | requiresTargetPoints () const override
| See if this rejector requires a target cloud. More...
void | setTargetPoints (pcl::PCLPointCloud2::ConstPtr cloud2) override
| Method for setting the target 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...
bool | requiresTargetNormals () const override
| See if this rejector requires target normals. More...
void | setTargetNormals (pcl::PCLPointCloud2::ConstPtr cloud2) override
| Method for setting the target normals. More...
Public Member Functions inherited from pcl::registration::CorrespondenceRejector
| CorrespondenceRejector ()
| Empty constructor. More...
virtual | ~CorrespondenceRejector ()
| Empty destructor. More...
virtual void | setInputCorrespondences (const CorrespondencesConstPtr &correspondences)
| Provide a pointer to the vector of the input correspondences. More...
CorrespondencesConstPtr | getInputCorrespondences ()
| Get a pointer to the vector of the input correspondences. More...
void | getCorrespondences (pcl::Correspondences &correspondences)
| Run correspondence rejection. More...
void | getRejectedQueryIndices (const pcl::Correspondences &correspondences, std::vector< int > &indices)
| Determine the indices of query points of correspondences that have been rejected, i.e., the difference between the input correspondences (set via setInputCorrespondences) and the given correspondence vector. More...
const std::string & | getClassName () const
| Get a string representation of the name of this class. More...

## Protected Types

using | DataContainerPtr = DataContainerInterface::Ptr

## Protected Member Functions

void | applyRejection (pcl::Correspondences &correspondences) override
| Apply the rejection algorithm. More...

## Protected Attributes

double | threshold_
| The median distance threshold between two correspondent points in source <-> target. More...
DataContainerPtr | data_container_
| A pointer to the DataContainer object containing the input and target point clouds. More...
Protected Attributes inherited from pcl::registration::CorrespondenceRejector
std::string | rejection_name_
| The name of the rejection method. More...
CorrespondencesConstPtr | input_correspondences_
| The input correspondences. More...

## Detailed Description

CorrespondenceRejectorSurfaceNormal implements a simple correspondence rejection method based on the angle between the normals at correspondent points.

Note
  If setInputCloud and setInputTarget are given, then the distances between correspondences will be estimated using the given XYZ data, and not read from the set of input correspondences.

Author
  Aravindhan K Krishnan (original code from libpointmatcher: https://github.com/ethz-asl/libpointmatcher)

Definition at line 60 of file correspondence_rejection_surface_normal.h.

## Member Typedef Documentation

## ConstPtr

using pcl::registration::CorrespondenceRejectorSurfaceNormal::ConstPtr = shared_ptr<const CorrespondenceRejectorSurfaceNormal>

Definition at line 68 of file correspondence_rejection_surface_normal.h.

## DataContainerPtr

using pcl::registration::CorrespondenceRejectorSurfaceNormal::DataContainerPtr = DataContainerInterface::Ptr

protected

Definition at line 315 of file correspondence_rejection_surface_normal.h.

## Ptr

using pcl::registration::CorrespondenceRejectorSurfaceNormal::Ptr = shared_ptr<CorrespondenceRejectorSurfaceNormal>

Definition at line 67 of file correspondence_rejection_surface_normal.h.

## Constructor & Destructor Documentation

## CorrespondenceRejectorSurfaceNormal()

pcl::registration::CorrespondenceRejectorSurfaceNormal::CorrespondenceRejectorSurfaceNormal | ( |  | ) |

inline

Empty constructor.

Sets the threshold to 1.0.

Definition at line 71 of file correspondence_rejection_surface_normal.h.

## Member Function Documentation

## applyRejection()

void pcl::registration::CorrespondenceRejectorSurfaceNormal::applyRejection | ( | pcl::Correspondences & | correspondences | ) |

inline override protected virtual

Apply the rejection algorithm.

Parameters

  [out] | correspondences | the set of resultant correspondences.

Implements pcl::registration::CorrespondenceRejector.

Definition at line 307 of file correspondence_rejection_surface_normal.h.

## getInputNormals()

template<typename NormalT >

pcl::PointCloud<NormalT>::Ptr pcl::registration::CorrespondenceRejectorSurfaceNormal::getInputNormals | ( |  | ) | const

inline

Get the normals computed on the input point cloud.

Definition at line 200 of file correspondence_rejection_surface_normal.h.

## getInputSource()

template<typename PointT >

pcl::PointCloud<PointT>::ConstPtr pcl::registration::CorrespondenceRejectorSurfaceNormal::getInputSource | ( |  | ) | const

inline

Get the target input point cloud.

Definition at line 133 of file correspondence_rejection_surface_normal.h.

## getInputTarget()

template<typename PointT >

pcl::PointCloud<PointT>::ConstPtr pcl::registration::CorrespondenceRejectorSurfaceNormal::getInputTarget | ( |  | ) | const

inline

Get the target input point cloud.

Definition at line 174 of file correspondence_rejection_surface_normal.h.

## getRemainingCorrespondences()

void pcl::registration::CorrespondenceRejectorSurfaceNormal::getRemainingCorrespondences | ( | const pcl::Correspondences & | original_correspondences,
|  | pcl::Correspondences & | remaining_correspondences
| ) |  |

override virtual

Get a list of valid correspondences after rejection from the original set of correspondences.

Parameters

  [in] | original_correspondences | the set of initial correspondences given
  [out] | remaining_correspondences | the resultant filtered set of remaining correspondences

Implements pcl::registration::CorrespondenceRejector.

## getTargetNormals()

template<typename NormalT >

pcl::PointCloud<NormalT>::Ptr pcl::registration::CorrespondenceRejectorSurfaceNormal::getTargetNormals | ( |  | ) | const

inline

Get the normals computed on the target point cloud.

Definition at line 226 of file correspondence_rejection_surface_normal.h.

## getThreshold()

double pcl::registration::CorrespondenceRejectorSurfaceNormal::getThreshold | ( |  | ) | const

inline

Get the thresholding angle between the normals for correspondence rejection.

Definition at line 93 of file correspondence_rejection_surface_normal.h.

## initializeDataContainer()

template<typename PointT , typename NormalT >

void pcl::registration::CorrespondenceRejectorSurfaceNormal::initializeDataContainer | ( |  | ) |

inline

Initialize the data container object for the point type and the normal type.

Definition at line 97 of file correspondence_rejection_surface_normal.h.

## requiresSourceNormals()

bool pcl::registration::CorrespondenceRejectorSurfaceNormal::requiresSourceNormals | ( |  | ) | const

inline override virtual

See if this rejector requires source normals.

Reimplemented from pcl::registration::CorrespondenceRejector.

Definition at line 271 of file correspondence_rejection_surface_normal.h.

## requiresSourcePoints()

bool pcl::registration::CorrespondenceRejectorSurfaceNormal::requiresSourcePoints | ( |  | ) | const

inline override virtual

See if this rejector requires source points.

Reimplemented from pcl::registration::CorrespondenceRejector.

Definition at line 239 of file correspondence_rejection_surface_normal.h.

## requiresTargetNormals()

bool pcl::registration::CorrespondenceRejectorSurfaceNormal::requiresTargetNormals | ( |  | ) | const

inline override virtual

See if this rejector requires target normals.

Reimplemented from pcl::registration::CorrespondenceRejector.

Definition at line 287 of file correspondence_rejection_surface_normal.h.

## requiresTargetPoints()

bool pcl::registration::CorrespondenceRejectorSurfaceNormal::requiresTargetPoints | ( |  | ) | const

inline override virtual

See if this rejector requires a target cloud.

Reimplemented from pcl::registration::CorrespondenceRejector.

Definition at line 255 of file correspondence_rejection_surface_normal.h.

## setInputCloud()

template<typename PointT >

void pcl::registration::CorrespondenceRejectorSurfaceNormal::setInputCloud | ( | const typename pcl::PointCloud< PointT >::ConstPtr & | input | ) |

inline

Provide a source point cloud dataset (must contain XYZ data!), used to compute the correspondence distance.

Parameters

  [in] | input | a cloud containing XYZ data

Definition at line 106 of file correspondence_rejection_surface_normal.h.

## setInputNormals()

template<typename PointT , typename NormalT >

void pcl::registration::CorrespondenceRejectorSurfaceNormal::setInputNormals | ( | const typename pcl::PointCloud< NormalT >::ConstPtr & | normals | ) |

inline

Set the normals computed on the input point cloud.

Parameters

  [in] | normals | the normals computed for the input cloud

Definition at line 188 of file correspondence_rejection_surface_normal.h.

## setInputSource()

template<typename PointT >

void pcl::registration::CorrespondenceRejectorSurfaceNormal::setInputSource | ( | const typename pcl::PointCloud< PointT >::ConstPtr & | input | ) |

inline

Provide a source point cloud dataset (must contain XYZ data!), used to compute the correspondence distance.

Parameters

  [in] | input | a cloud containing XYZ data

Definition at line 121 of file correspondence_rejection_surface_normal.h.

## setInputTarget()

template<typename PointT >

void pcl::registration::CorrespondenceRejectorSurfaceNormal::setInputTarget | ( | const typename pcl::PointCloud< PointT >::ConstPtr & | target | ) |

inline

Provide a target point cloud dataset (must contain XYZ data!), used to compute the correspondence distance.

Parameters

  [in] | target | a cloud containing XYZ data

Definition at line 147 of file correspondence_rejection_surface_normal.h.

## setSearchMethodTarget()

template<typename PointT >

void pcl::registration::CorrespondenceRejectorSurfaceNormal::setSearchMethodTarget | ( | const typename pcl::search::KdTree< PointT >::Ptr & | tree,
|  | bool | force_no_recompute = `false`
| ) |  |

inline

Provide a pointer to the search object used to find correspondences in the target cloud.

Parameters

  [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 165 of file correspondence_rejection_surface_normal.h.

## setSourceNormals()

void pcl::registration::CorrespondenceRejectorSurfaceNormal::setSourceNormals | ( | pcl::PCLPointCloud2::ConstPtr | cloud2 | ) |

inline override virtual

Blob method for setting the source normals.

Reimplemented from pcl::registration::CorrespondenceRejector.

Definition at line 276 of file correspondence_rejection_surface_normal.h.

References pcl::fromPCLPointCloud2().

## setSourcePoints()

void pcl::registration::CorrespondenceRejectorSurfaceNormal::setSourcePoints | ( | pcl::PCLPointCloud2::ConstPtr | cloud2 | ) |

inline override virtual

Blob method for setting the source cloud.

Reimplemented from pcl::registration::CorrespondenceRejector.

Definition at line 244 of file correspondence_rejection_surface_normal.h.

References pcl::fromPCLPointCloud2().

## setTargetNormals() [1/2]

template<typename PointT , typename NormalT >

void pcl::registration::CorrespondenceRejectorSurfaceNormal::setTargetNormals | ( | const typename pcl::PointCloud< NormalT >::ConstPtr & | normals | ) |

inline

Set the normals computed on the target point cloud.

Parameters

  [in] | normals | the normals computed for the input cloud

Definition at line 214 of file correspondence_rejection_surface_normal.h.

## setTargetNormals() [2/2]

void pcl::registration::CorrespondenceRejectorSurfaceNormal::setTargetNormals | ( | pcl::PCLPointCloud2::ConstPtr | cloud2 | ) |

inline override virtual

Method for setting the target normals.

Reimplemented from pcl::registration::CorrespondenceRejector.

Definition at line 292 of file correspondence_rejection_surface_normal.h.

References pcl::fromPCLPointCloud2().

## setTargetPoints()

void pcl::registration::CorrespondenceRejectorSurfaceNormal::setTargetPoints | ( | pcl::PCLPointCloud2::ConstPtr | cloud2 | ) |

inline override virtual

Method for setting the target cloud.

Reimplemented from pcl::registration::CorrespondenceRejector.

Definition at line 260 of file correspondence_rejection_surface_normal.h.

References pcl::fromPCLPointCloud2().

## setThreshold()

void pcl::registration::CorrespondenceRejectorSurfaceNormal::setThreshold | ( | double | threshold | ) |

inline

Set the thresholding angle between the normals for correspondence rejection.

Parameters

  [in] | threshold | cosine of the thresholding angle between the normals for rejection

Definition at line 89 of file correspondence_rejection_surface_normal.h.

## Member Data Documentation

## data_container_

DataContainerPtr pcl::registration::CorrespondenceRejectorSurfaceNormal::data_container_

protected

A pointer to the DataContainer object containing the input and target point clouds.

Definition at line 317 of file correspondence_rejection_surface_normal.h.

## threshold_

double pcl::registration::CorrespondenceRejectorSurfaceNormal::threshold_

protected

The median distance threshold between two correspondent points in source <-> target.

Definition at line 313 of file correspondence_rejection_surface_normal.h.

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

- pcl/registration/correspondence_rejection_surface_normal.h