Point Cloud Library (PCL)  1.14.1-dev
List of all members | Public Types | Public Member Functions
pcl::registration::TransformationValidation< PointSource, PointTarget, Scalar > Class Template Referenceabstract

TransformationValidation represents the base class for methods that validate the correctness of a transformation found through TransformationEstimation. More...

#include <pcl/registration/transformation_validation.h>

Public Types

using Matrix4 = Eigen::Matrix< Scalar, 4, 4 >
 
using Ptr = shared_ptr< TransformationValidation< PointSource, PointTarget, Scalar > >
 
using ConstPtr = shared_ptr< const TransformationValidation< PointSource, PointTarget, Scalar > >
 
using PointCloudSource = pcl::PointCloud< PointSource >
 
using PointCloudSourcePtr = typename PointCloudSource::Ptr
 
using PointCloudSourceConstPtr = typename PointCloudSource::ConstPtr
 
using PointCloudTarget = pcl::PointCloud< PointTarget >
 
using PointCloudTargetPtr = typename PointCloudTarget::Ptr
 
using PointCloudTargetConstPtr = typename PointCloudTarget::ConstPtr
 

Public Member Functions

 TransformationValidation ()=default
 
virtual ~TransformationValidation ()=default
 
virtual double validateTransformation (const PointCloudSourceConstPtr &cloud_src, const PointCloudTargetConstPtr &cloud_tgt, const Matrix4 &transformation_matrix) const =0
 Validate the given transformation with respect to the input cloud data, and return a score. More...
 
virtual bool operator() (const double &score1, const double &score2) const =0
 Comparator function for deciding which score is better after running the validation on multiple transforms. More...
 
virtual bool isValid (const PointCloudSourceConstPtr &cloud_src, const PointCloudTargetConstPtr &cloud_tgt, const Matrix4 &transformation_matrix) const =0
 Check if the score is valid for a specific transformation. More...
 

Detailed Description

template<typename PointSource, typename PointTarget, typename Scalar = float>
class pcl::registration::TransformationValidation< PointSource, PointTarget, Scalar >

TransformationValidation represents the base class for methods that validate the correctness of a transformation found through TransformationEstimation.

The inputs for a validation estimation can take any or all of the following:

The output is in the form of a score or a confidence measure.

Note
The class is templated on the source and target point types as well as on the output scalar of the transformation matrix (i.e., float or double). Default: float.
Author
Radu B. Rusu

Definition at line 68 of file transformation_validation.h.

Member Typedef Documentation

◆ ConstPtr

template<typename PointSource , typename PointTarget , typename Scalar = float>
using pcl::registration::TransformationValidation< PointSource, PointTarget, Scalar >::ConstPtr = shared_ptr<const TransformationValidation<PointSource, PointTarget, Scalar> >

Definition at line 72 of file transformation_validation.h.

◆ Matrix4

template<typename PointSource , typename PointTarget , typename Scalar = float>
using pcl::registration::TransformationValidation< PointSource, PointTarget, Scalar >::Matrix4 = Eigen::Matrix<Scalar, 4, 4>

Definition at line 70 of file transformation_validation.h.

◆ PointCloudSource

template<typename PointSource , typename PointTarget , typename Scalar = float>
using pcl::registration::TransformationValidation< PointSource, PointTarget, Scalar >::PointCloudSource = pcl::PointCloud<PointSource>

Definition at line 75 of file transformation_validation.h.

◆ PointCloudSourceConstPtr

template<typename PointSource , typename PointTarget , typename Scalar = float>
using pcl::registration::TransformationValidation< PointSource, PointTarget, Scalar >::PointCloudSourceConstPtr = typename PointCloudSource::ConstPtr

Definition at line 77 of file transformation_validation.h.

◆ PointCloudSourcePtr

template<typename PointSource , typename PointTarget , typename Scalar = float>
using pcl::registration::TransformationValidation< PointSource, PointTarget, Scalar >::PointCloudSourcePtr = typename PointCloudSource::Ptr

Definition at line 76 of file transformation_validation.h.

◆ PointCloudTarget

template<typename PointSource , typename PointTarget , typename Scalar = float>
using pcl::registration::TransformationValidation< PointSource, PointTarget, Scalar >::PointCloudTarget = pcl::PointCloud<PointTarget>

Definition at line 79 of file transformation_validation.h.

◆ PointCloudTargetConstPtr

template<typename PointSource , typename PointTarget , typename Scalar = float>
using pcl::registration::TransformationValidation< PointSource, PointTarget, Scalar >::PointCloudTargetConstPtr = typename PointCloudTarget::ConstPtr

Definition at line 81 of file transformation_validation.h.

◆ PointCloudTargetPtr

template<typename PointSource , typename PointTarget , typename Scalar = float>
using pcl::registration::TransformationValidation< PointSource, PointTarget, Scalar >::PointCloudTargetPtr = typename PointCloudTarget::Ptr

Definition at line 80 of file transformation_validation.h.

◆ Ptr

template<typename PointSource , typename PointTarget , typename Scalar = float>
using pcl::registration::TransformationValidation< PointSource, PointTarget, Scalar >::Ptr = shared_ptr<TransformationValidation<PointSource, PointTarget, Scalar> >

Definition at line 71 of file transformation_validation.h.

Constructor & Destructor Documentation

◆ TransformationValidation()

template<typename PointSource , typename PointTarget , typename Scalar = float>
pcl::registration::TransformationValidation< PointSource, PointTarget, Scalar >::TransformationValidation ( )
default

◆ ~TransformationValidation()

template<typename PointSource , typename PointTarget , typename Scalar = float>
virtual pcl::registration::TransformationValidation< PointSource, PointTarget, Scalar >::~TransformationValidation ( )
virtualdefault

Member Function Documentation

◆ isValid()

template<typename PointSource , typename PointTarget , typename Scalar = float>
virtual bool pcl::registration::TransformationValidation< PointSource, PointTarget, Scalar >::isValid ( const PointCloudSourceConstPtr cloud_src,
const PointCloudTargetConstPtr cloud_tgt,
const Matrix4 transformation_matrix 
) const
pure virtual

Check if the score is valid for a specific transformation.

Pure virtual.

Parameters
[in]cloud_srcthe source point cloud dataset
[in]cloud_tgtthe target point cloud dataset
[out]transformation_matrixthe transformation matrix
Returns
true if the transformation is valid, false otherwise.

◆ operator()()

template<typename PointSource , typename PointTarget , typename Scalar = float>
virtual bool pcl::registration::TransformationValidation< PointSource, PointTarget, Scalar >::operator() ( const double &  score1,
const double &  score2 
) const
pure virtual

Comparator function for deciding which score is better after running the validation on multiple transforms.

Pure virtual.

Note
For example, for Euclidean distances smaller is better, for inliers the opposite.
Parameters
[in]score1the first value
[in]score2the second value
Returns
true if score1 is better than score2

◆ validateTransformation()

template<typename PointSource , typename PointTarget , typename Scalar = float>
virtual double pcl::registration::TransformationValidation< PointSource, PointTarget, Scalar >::validateTransformation ( const PointCloudSourceConstPtr cloud_src,
const PointCloudTargetConstPtr cloud_tgt,
const Matrix4 transformation_matrix 
) const
pure virtual

Validate the given transformation with respect to the input cloud data, and return a score.

Pure virtual.

Parameters
[in]cloud_srcthe source point cloud dataset
[in]cloud_tgtthe target point cloud dataset
[out]transformation_matrixthe transformation matrix
Returns
the score or confidence measure for the given transformation_matrix with respect to the input data

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