Point Cloud Library (PCL)  1.6.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions
pcl::registration::CorrespondenceRejectorSurfaceNormal Class Reference

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:
Inheritance graph
[legend]
Collaboration diagram for pcl::registration::CorrespondenceRejectorSurfaceNormal:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 CorrespondenceRejectorSurfaceNormal ()
 Empty constructor.
void getRemainingCorrespondences (const pcl::Correspondences &original_correspondences, pcl::Correspondences &remaining_correspondences)
 Get a list of valid correspondences after rejection from the original set of correspondences.
void setThreshold (double threshold)
 Set the thresholding angle between the normals for correspondence rejection.
double getThreshold () const
 Get the thresholding angle between the normals for correspondence rejection.
template<typename PointT , typename NormalT >
void initializeDataContainer ()
 Initialize the data container object for the point type and the normal type.
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.
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.
template<typename PointT , typename NormalT >
void setInputNormals (const typename pcl::PointCloud< NormalT >::ConstPtr &normals)
 Set the normals computed on the input point cloud.
template<typename PointT , typename NormalT >
void setTargetNormals (const typename pcl::PointCloud< NormalT >::ConstPtr &normals)
 Set the normals computed on the target point cloud.
template<typename NormalT >
pcl::PointCloud< NormalT >::Ptr getInputNormals () const
 Get the normals computed on the input point cloud.
template<typename NormalT >
pcl::PointCloud< NormalT >::Ptr getTargetNormals () const
 Get the normals computed on the target point cloud.
virtual void setInputCorrespondences (const CorrespondencesConstPtr &correspondences)
 Provide a pointer to the vector of the input correspondences.
CorrespondencesConstPtr getInputCorrespondences ()
 Get a pointer to the vector of the input correspondences.
void getCorrespondences (pcl::Correspondences &correspondences)
 Run correspondence rejection.
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.

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. This code is ported from libpointmatcher (https://github.com/ethz-asl/libpointmatcher)

Definition at line 59 of file correspondence_rejection_surface_normal.h.


Constructor & Destructor Documentation

Empty constructor.

Definition at line 68 of file correspondence_rejection_surface_normal.h.


Member Function Documentation

Run correspondence rejection.

Parameters:
[out]correspondencesVector of correspondences that have not been rejected.

Definition at line 84 of file correspondence_rejection.h.

Get a pointer to the vector of the input correspondences.

Returns:
correspondences the const boost shared pointer to a correspondence vector

Definition at line 78 of file correspondence_rejection.h.

Get the normals computed on the input point cloud.

Definition at line 143 of file correspondence_rejection_surface_normal.h.

void pcl::registration::CorrespondenceRejector::getRejectedQueryIndices ( const pcl::Correspondences correspondences,
std::vector< int > &  indices 
) [inline, inherited]

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.

Parameters:
[in]correspondencesVector of correspondences after rejection
[out]indicesVector of query point indices of those correspondences that have been rejected.

Definition at line 112 of file correspondence_rejection.h.

void pcl::registration::CorrespondenceRejectorSurfaceNormal::getRemainingCorrespondences ( const pcl::Correspondences original_correspondences,
pcl::Correspondences remaining_correspondences 
) [inline, virtual]

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

Parameters:
[in]original_correspondencesthe set of initial correspondences given
[out]remaining_correspondencesthe resultant filtered set of remaining correspondences

Implements pcl::registration::CorrespondenceRejector.

Definition at line 43 of file correspondence_rejection_surface_normal.hpp.

Get the normals computed on the target point cloud.

Definition at line 147 of file correspondence_rejection_surface_normal.h.

Get the thresholding angle between the normals for correspondence rejection.

Definition at line 90 of file correspondence_rejection_surface_normal.h.

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

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]clouda cloud containing XYZ data

Definition at line 104 of file correspondence_rejection_surface_normal.h.

virtual void pcl::registration::CorrespondenceRejector::setInputCorrespondences ( const CorrespondencesConstPtr correspondences) [inline, virtual, inherited]

Provide a pointer to the vector of the input correspondences.

Parameters:
[in]correspondencesthe const boost shared pointer to a correspondence vector

Definition at line 69 of file correspondence_rejection.h.

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]normalsthe normals computed for the input cloud

Definition at line 125 of file correspondence_rejection_surface_normal.h.

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]targeta cloud containing XYZ data

Definition at line 115 of file correspondence_rejection_surface_normal.h.

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]normalsthe normals computed for the input cloud

Definition at line 135 of file correspondence_rejection_surface_normal.h.

Set the thresholding angle between the normals for correspondence rejection.

Parameters:
[in]thresholdcosine of the thresholding angle between the normals for rejection

Definition at line 86 of file correspondence_rejection_surface_normal.h.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines