NASA Astrobee Robot Software  0.19.1
Flight software for the Astrobee robots operating inside the International Space Station.
pcl::registration::CorrespondenceRejectorSurfaceNormal2< PointWithNormalT > Class Template Reference

#include <correspondence_rejection_surface_normal2.h>

Inheritance diagram for pcl::registration::CorrespondenceRejectorSurfaceNormal2< PointWithNormalT >:
Inheritance graph

Public Types

typedef boost::shared_ptr< CorrespondenceRejectorSurfaceNormal2Ptr
 
typedef boost::shared_ptr< const CorrespondenceRejectorSurfaceNormal2ConstPtr
 

Public Member Functions

 CorrespondenceRejectorSurfaceNormal2 ()
 Empty constructor. Sets the threshold to 1.0. More...
 
void setThreshold (double threshold)
 Get a list of valid correspondences after rejection from the original set of correspondences. More...
 
double getThreshold () const
 Get the thresholding angle between the normals for correspondence rejection. More...
 
void getRemainingCorrespondences (const pcl::Correspondences &original_correspondences, pcl::Correspondences &remaining_correspondences)
 
void initializeDataContainer ()
 Initialize the data container object for the point type and the normal type. More...
 
void setInputCloud (const typename pcl::PointCloud< PointWithNormalT >::ConstPtr &input)
 Provide a source point cloud dataset (must contain XYZ data!), used to compute the correspondence distance. More...
 
void setInputSource (const typename pcl::PointCloud< PointWithNormalT >::ConstPtr &input)
 Provide a source point cloud dataset (must contain XYZ data!), used to compute the correspondence distance. More...
 
pcl::PointCloud< PointWithNormalT >::ConstPtr getInputSource () const
 Get the target input point cloud. More...
 
void setInputTarget (const typename pcl::PointCloud< PointWithNormalT >::ConstPtr &target)
 Provide a target point cloud dataset (must contain XYZ data!), used to compute the correspondence distance. More...
 
void setSearchMethodTarget (const boost::shared_ptr< pcl::search::KdTree< PointWithNormalT > > &tree, bool force_no_recompute=false)
 Provide a pointer to the search object used to find correspondences in the target cloud. More...
 
pcl::PointCloud< PointWithNormalT >::ConstPtr getInputTarget () const
 Get the target input point cloud. More...
 
void setInputNormals (const typename pcl::PointCloud< PointWithNormalT >::ConstPtr &normals)
 Set the normals computed on the input point cloud. More...
 
pcl::PointCloud< PointWithNormalT >::Ptr getInputNormals () const
 Get the normals computed on the input point cloud. More...
 
void setTargetNormals (const typename pcl::PointCloud< PointWithNormalT >::ConstPtr &normals)
 Set the normals computed on the target point cloud. More...
 
pcl::PointCloud< PointWithNormalT >::Ptr getTargetNormals () const
 Get the normals computed on the target point cloud. More...
 
bool requiresSourcePoints () const
 See if this rejector requires source points. More...
 
void setSourcePoints (pcl::PCLPointCloud2::ConstPtr cloud2)
 Blob method for setting the source cloud. More...
 
bool requiresTargetPoints () const
 See if this rejector requires a target cloud. More...
 
void setTargetPoints (pcl::PCLPointCloud2::ConstPtr cloud2)
 Method for setting the target cloud. More...
 
bool requiresSourceNormals () const
 See if this rejector requires source normals. More...
 
void setSourceNormals (pcl::PCLPointCloud2::ConstPtr cloud2)
 Blob method for setting the source normals. More...
 
bool requiresTargetNormals () const
 See if this rejector requires target normals. More...
 
void setTargetNormals (pcl::PCLPointCloud2::ConstPtr cloud2)
 Method for setting the target normals. More...
 

Protected Types

typedef boost::shared_ptr< DataContainerInterface > DataContainerPtr
 

Protected Member Functions

void applyRejection (pcl::Correspondences &correspondences)
 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...
 

Detailed Description

template<typename PointWithNormalT>
class pcl::registration::CorrespondenceRejectorSurfaceNormal2< PointWithNormalT >

CorrespondenceRejectorSurfaceNormal2 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)

Member Typedef Documentation

◆ ConstPtr

template<typename PointWithNormalT >
typedef boost::shared_ptr<const CorrespondenceRejectorSurfaceNormal2> pcl::registration::CorrespondenceRejectorSurfaceNormal2< PointWithNormalT >::ConstPtr

◆ DataContainerPtr

template<typename PointWithNormalT >
typedef boost::shared_ptr<DataContainerInterface> pcl::registration::CorrespondenceRejectorSurfaceNormal2< PointWithNormalT >::DataContainerPtr
protected

◆ Ptr

template<typename PointWithNormalT >
typedef boost::shared_ptr<CorrespondenceRejectorSurfaceNormal2> pcl::registration::CorrespondenceRejectorSurfaceNormal2< PointWithNormalT >::Ptr

Constructor & Destructor Documentation

◆ CorrespondenceRejectorSurfaceNormal2()

template<typename PointWithNormalT >
pcl::registration::CorrespondenceRejectorSurfaceNormal2< PointWithNormalT >::CorrespondenceRejectorSurfaceNormal2 ( )
inline

Empty constructor. Sets the threshold to 1.0.

Member Function Documentation

◆ applyRejection()

template<typename PointWithNormalT >
void pcl::registration::CorrespondenceRejectorSurfaceNormal2< PointWithNormalT >::applyRejection ( pcl::Correspondences &  correspondences)
inlineprotected

Apply the rejection algorithm.

Parameters
[out]correspondencesthe set of resultant correspondences.

◆ getInputNormals()

template<typename PointWithNormalT >
pcl::PointCloud<PointWithNormalT>::Ptr pcl::registration::CorrespondenceRejectorSurfaceNormal2< PointWithNormalT >::getInputNormals ( ) const
inline

Get the normals computed on the input point cloud.

◆ getInputSource()

template<typename PointWithNormalT >
pcl::PointCloud<PointWithNormalT>::ConstPtr pcl::registration::CorrespondenceRejectorSurfaceNormal2< PointWithNormalT >::getInputSource ( ) const
inline

Get the target input point cloud.

◆ getInputTarget()

template<typename PointWithNormalT >
pcl::PointCloud<PointWithNormalT>::ConstPtr pcl::registration::CorrespondenceRejectorSurfaceNormal2< PointWithNormalT >::getInputTarget ( ) const
inline

Get the target input point cloud.

◆ getRemainingCorrespondences()

template<typename PointWithNormalT >
void pcl::registration::CorrespondenceRejectorSurfaceNormal2< PointWithNormalT >::getRemainingCorrespondences ( const pcl::Correspondences &  original_correspondences,
pcl::Correspondences &  remaining_correspondences 
)
inline

◆ getTargetNormals()

template<typename PointWithNormalT >
pcl::PointCloud<PointWithNormalT>::Ptr pcl::registration::CorrespondenceRejectorSurfaceNormal2< PointWithNormalT >::getTargetNormals ( ) const
inline

Get the normals computed on the target point cloud.

◆ getThreshold()

template<typename PointWithNormalT >
double pcl::registration::CorrespondenceRejectorSurfaceNormal2< PointWithNormalT >::getThreshold ( ) const
inline

Get the thresholding angle between the normals for correspondence rejection.

◆ initializeDataContainer()

template<typename PointWithNormalT >
void pcl::registration::CorrespondenceRejectorSurfaceNormal2< PointWithNormalT >::initializeDataContainer ( )
inline

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

◆ requiresSourceNormals()

template<typename PointWithNormalT >
bool pcl::registration::CorrespondenceRejectorSurfaceNormal2< PointWithNormalT >::requiresSourceNormals ( ) const
inline

See if this rejector requires source normals.

◆ requiresSourcePoints()

template<typename PointWithNormalT >
bool pcl::registration::CorrespondenceRejectorSurfaceNormal2< PointWithNormalT >::requiresSourcePoints ( ) const
inline

See if this rejector requires source points.

◆ requiresTargetNormals()

template<typename PointWithNormalT >
bool pcl::registration::CorrespondenceRejectorSurfaceNormal2< PointWithNormalT >::requiresTargetNormals ( ) const
inline

See if this rejector requires target normals.

◆ requiresTargetPoints()

template<typename PointWithNormalT >
bool pcl::registration::CorrespondenceRejectorSurfaceNormal2< PointWithNormalT >::requiresTargetPoints ( ) const
inline

See if this rejector requires a target cloud.

◆ setInputCloud()

template<typename PointWithNormalT >
void pcl::registration::CorrespondenceRejectorSurfaceNormal2< PointWithNormalT >::setInputCloud ( const typename pcl::PointCloud< PointWithNormalT >::ConstPtr input)
inline

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

Parameters
[in]inputa cloud containing XYZ data

◆ setInputNormals()

template<typename PointWithNormalT >
void pcl::registration::CorrespondenceRejectorSurfaceNormal2< PointWithNormalT >::setInputNormals ( const typename pcl::PointCloud< PointWithNormalT >::ConstPtr normals)
inline

Set the normals computed on the input point cloud.

Parameters
[in]normalsthe normals computed for the input cloud

◆ setInputSource()

template<typename PointWithNormalT >
void pcl::registration::CorrespondenceRejectorSurfaceNormal2< PointWithNormalT >::setInputSource ( const typename pcl::PointCloud< PointWithNormalT >::ConstPtr input)
inline

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

Parameters
[in]inputa cloud containing XYZ data

◆ setInputTarget()

template<typename PointWithNormalT >
void pcl::registration::CorrespondenceRejectorSurfaceNormal2< PointWithNormalT >::setInputTarget ( const typename pcl::PointCloud< PointWithNormalT >::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

◆ setSearchMethodTarget()

template<typename PointWithNormalT >
void pcl::registration::CorrespondenceRejectorSurfaceNormal2< PointWithNormalT >::setSearchMethodTarget ( const boost::shared_ptr< pcl::search::KdTree< PointWithNormalT > > &  tree,
bool  force_no_recompute = false 
)
inline

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

Parameters
[in]treea pointer to the spatial search object.
[in]force_no_recomputeIf 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.

◆ setSourceNormals()

template<typename PointWithNormalT >
void pcl::registration::CorrespondenceRejectorSurfaceNormal2< PointWithNormalT >::setSourceNormals ( pcl::PCLPointCloud2::ConstPtr  cloud2)
inline

Blob method for setting the source normals.

◆ setSourcePoints()

template<typename PointWithNormalT >
void pcl::registration::CorrespondenceRejectorSurfaceNormal2< PointWithNormalT >::setSourcePoints ( pcl::PCLPointCloud2::ConstPtr  cloud2)
inline

Blob method for setting the source cloud.

◆ setTargetNormals() [1/2]

template<typename PointWithNormalT >
void pcl::registration::CorrespondenceRejectorSurfaceNormal2< PointWithNormalT >::setTargetNormals ( const typename pcl::PointCloud< PointWithNormalT >::ConstPtr normals)
inline

Set the normals computed on the target point cloud.

Parameters
[in]normalsthe normals computed for the input cloud

◆ setTargetNormals() [2/2]

template<typename PointWithNormalT >
void pcl::registration::CorrespondenceRejectorSurfaceNormal2< PointWithNormalT >::setTargetNormals ( pcl::PCLPointCloud2::ConstPtr  cloud2)
inline

Method for setting the target normals.

◆ setTargetPoints()

template<typename PointWithNormalT >
void pcl::registration::CorrespondenceRejectorSurfaceNormal2< PointWithNormalT >::setTargetPoints ( pcl::PCLPointCloud2::ConstPtr  cloud2)
inline

Method for setting the target cloud.

◆ setThreshold()

template<typename PointWithNormalT >
void pcl::registration::CorrespondenceRejectorSurfaceNormal2< PointWithNormalT >::setThreshold ( double  threshold)
inline

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

Set the thresholding angle between the normals for correspondence rejection.

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

Member Data Documentation

◆ data_container_

template<typename PointWithNormalT >
DataContainerPtr pcl::registration::CorrespondenceRejectorSurfaceNormal2< PointWithNormalT >::data_container_
protected

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

◆ threshold_

template<typename PointWithNormalT >
double pcl::registration::CorrespondenceRejectorSurfaceNormal2< PointWithNormalT >::threshold_
protected

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


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