pcl::registration::CorrespondenceRejectorVarTrimmed Class Reference
Module registration

CorrespondenceRejectoVarTrimmed implements a simple correspondence rejection method by considering as inliers a certain percentage of correspondences with the least distances. More...

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

Inheritance diagram for pcl::registration::CorrespondenceRejectorVarTrimmed:

## Public Types

typedef boost::shared_ptr< CorrespondenceRejectorVarTrimmed > | Ptr
typedef boost::shared_ptr< const CorrespondenceRejectorVarTrimmed > | ConstPtr
Public Types inherited from pcl::registration::CorrespondenceRejector
typedef boost::shared_ptr< CorrespondenceRejector > | Ptr
typedef boost::shared_ptr< const CorrespondenceRejector > | ConstPtr

## Public Member Functions

| CorrespondenceRejectorVarTrimmed ()
| Empty constructor. More...
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. More...
double | getTrimmedDistance () const
| Get the trimmed distance used for thresholding in correspondence rejection. More...
template<typename PointT >
void | setInputSource (const typename pcl::PointCloud< PointT >::ConstPtr &cloud)
| Provide a source point cloud dataset (must contain XYZ data!), used to compute the correspondence distance. More...
template<typename PointT >
void | setInputCloud (const typename pcl::PointCloud< PointT >::ConstPtr &cloud)
| Provide a source point cloud dataset (must contain XYZ data!), used to compute the correspondence distance. 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...
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...
template<typename PointT >
void | setSearchMethodTarget (const boost::shared_ptr< pcl::search::KdTree< PointT > > &tree, bool force_no_recompute=false)
| Provide a pointer to the search object used to find correspondences in the target cloud. More...
double | getTrimFactor () const
| Get the computed inlier ratio used for thresholding in correspondence rejection. More...
void | setMinRatio (double ratio)
| brief set the minimum overlap ratio More...
double | getMinRatio () const
| brief get the minimum overlap ratio More...
void | setMaxRatio (double ratio)
| brief set the maximum overlap ratio More...
double | getMaxRatio () const
| brief get the maximum overlap ratio 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...
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...

## Protected Types

typedef boost::shared_ptr< DataContainerInterface > | DataContainerPtr

## Protected Member Functions

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

## Protected Attributes

double | trimmed_distance_
| The inlier distance threshold (based on the computed trim factor) between two correspondent points in source <-> target. More...
double | factor_
| The factor for correspondence rejection. More...
double | min_ratio_
| The minimum overlap ratio between the input and target clouds. More...
double | max_ratio_
| The maximum overlap ratio between the input and target clouds. More...
double | lambda_
| part of the term that balances the root mean square difference. 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

CorrespondenceRejectoVarTrimmed implements a simple correspondence rejection method by considering as inliers a certain percentage of correspondences with the least distances.

The percentage of inliers is computed internally as mentioned in the paper 'Outlier Robust ICP for minimizing Fractional RMSD, J. M. Philips et al'

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 64 of file correspondence_rejection_var_trimmed.h.

## Member Typedef Documentation

typedef boost::shared_ptr<const CorrespondenceRejectorVarTrimmed> pcl::registration::CorrespondenceRejectorVarTrimmed::ConstPtr

Definition at line 72 of file correspondence_rejection_var_trimmed.h.

typedef boost::shared_ptr<DataContainerInterface> pcl::registration::CorrespondenceRejectorVarTrimmed::DataContainerPtr

protected

Definition at line 239 of file correspondence_rejection_var_trimmed.h.

typedef boost::shared_ptr<CorrespondenceRejectorVarTrimmed> pcl::registration::CorrespondenceRejectorVarTrimmed::Ptr

Definition at line 71 of file correspondence_rejection_var_trimmed.h.

## Constructor & Destructor Documentation

pcl::registration::CorrespondenceRejectorVarTrimmed::CorrespondenceRejectorVarTrimmed | ( |  | ) |

inline

Empty constructor.

Definition at line 75 of file correspondence_rejection_var_trimmed.h.

## Member Function Documentation

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

inline protected virtual

Apply the rejection algorithm.

Parameters

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

Implements pcl::registration::CorrespondenceRejector.

Definition at line 212 of file correspondence_rejection_var_trimmed.h.

double pcl::registration::CorrespondenceRejectorVarTrimmed::getMaxRatio | ( |  | ) | const

inline

brief get the maximum overlap ratio

Definition at line 204 of file correspondence_rejection_var_trimmed.h.

double pcl::registration::CorrespondenceRejectorVarTrimmed::getMinRatio | ( |  | ) | const

inline

brief get the minimum overlap ratio

Definition at line 193 of file correspondence_rejection_var_trimmed.h.

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

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.

double pcl::registration::CorrespondenceRejectorVarTrimmed::getTrimFactor | ( |  | ) | const

inline

Get the computed inlier ratio used for thresholding in correspondence rejection.

Definition at line 182 of file correspondence_rejection_var_trimmed.h.

double pcl::registration::CorrespondenceRejectorVarTrimmed::getTrimmedDistance | ( |  | ) | const

inline

Get the trimmed distance used for thresholding in correspondence rejection.

Definition at line 96 of file correspondence_rejection_var_trimmed.h.

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

inline virtual

See if this rejector requires source points.

Reimplemented from pcl::registration::CorrespondenceRejector.

Definition at line 139 of file correspondence_rejection_var_trimmed.h.

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

inline virtual

See if this rejector requires a target cloud.

Reimplemented from pcl::registration::CorrespondenceRejector.

Definition at line 153 of file correspondence_rejection_var_trimmed.h.

template<typename PointT >

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

inline

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

Parameters

  [in] | cloud | a cloud containing XYZ data

Definition at line 115 of file correspondence_rejection_var_trimmed.h.

template<typename PointT >

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

inline

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

Parameters

  [in] | cloud | a cloud containing XYZ data

Definition at line 103 of file correspondence_rejection_var_trimmed.h.

template<typename PointT >

void pcl::registration::CorrespondenceRejectorVarTrimmed::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 128 of file correspondence_rejection_var_trimmed.h.

void pcl::registration::CorrespondenceRejectorVarTrimmed::setMaxRatio | ( | double | ratio | ) |

inline

brief set the maximum overlap ratio

Parameters

  [in] | ratio | the overlap ratio [0..1]

Definition at line 199 of file correspondence_rejection_var_trimmed.h.

void pcl::registration::CorrespondenceRejectorVarTrimmed::setMinRatio | ( | double | ratio | ) |

inline

brief set the minimum overlap ratio

Parameters

  [in] | ratio | the overlap ratio [0..1]

Definition at line 188 of file correspondence_rejection_var_trimmed.h.

template<typename PointT >

void pcl::registration::CorrespondenceRejectorVarTrimmed::setSearchMethodTarget | ( | const boost::shared_ptr< pcl::search::KdTree< PointT > > & | 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 173 of file correspondence_rejection_var_trimmed.h.

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

inline virtual

Blob method for setting the source cloud.

Reimplemented from pcl::registration::CorrespondenceRejector.

Definition at line 144 of file correspondence_rejection_var_trimmed.h.

References pcl::fromPCLPointCloud2().

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

inline virtual

Method for setting the target cloud.

Reimplemented from pcl::registration::CorrespondenceRejector.

Definition at line 158 of file correspondence_rejection_var_trimmed.h.

References pcl::fromPCLPointCloud2().

## Member Data Documentation

DataContainerPtr pcl::registration::CorrespondenceRejectorVarTrimmed::data_container_

protected

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

Definition at line 242 of file correspondence_rejection_var_trimmed.h.

double pcl::registration::CorrespondenceRejectorVarTrimmed::factor_

protected

The factor for correspondence rejection.

Only factor times the total points sorted based on the correspondence distances will be considered as inliers. Remaining points are rejected. This factor is computed internally

Definition at line 225 of file correspondence_rejection_var_trimmed.h.

double pcl::registration::CorrespondenceRejectorVarTrimmed::lambda_

protected

part of the term that balances the root mean square difference.

This is an internal parameter

Definition at line 237 of file correspondence_rejection_var_trimmed.h.

double pcl::registration::CorrespondenceRejectorVarTrimmed::max_ratio_

protected

The maximum overlap ratio between the input and target clouds.

Definition at line 233 of file correspondence_rejection_var_trimmed.h.

double pcl::registration::CorrespondenceRejectorVarTrimmed::min_ratio_

protected

The minimum overlap ratio between the input and target clouds.

Definition at line 229 of file correspondence_rejection_var_trimmed.h.

double pcl::registration::CorrespondenceRejectorVarTrimmed::trimmed_distance_

protected

The inlier distance threshold (based on the computed trim factor) between two correspondent points in source <-> target.

Definition at line 219 of file correspondence_rejection_var_trimmed.h.

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

- /build/pcl-6_P28C/pcl-1.7.2/registration/include/pcl/registration/correspondence_rejection_var_trimmed.h