40 #ifndef PCL_REGISTRATION_TRANSFORMATION_VALIDATION_H_
41 #define PCL_REGISTRATION_TRANSFORMATION_VALIDATION_H_
43 #include <pcl/correspondence.h>
44 #include <pcl/features/feature.h>
45 #include <pcl/common/transforms.h>
46 #include <pcl/registration/correspondence_types.h>
50 namespace registration
67 template <
typename Po
intSource,
typename Po
intTarget,
typename Scalar =
float>
71 typedef Eigen::Matrix<Scalar, 4, 4>
Matrix4;
72 typedef boost::shared_ptr<TransformationValidation<PointSource, PointTarget, Scalar> >
Ptr;
73 typedef boost::shared_ptr<const TransformationValidation<PointSource, PointTarget, Scalar> >
ConstPtr;
99 const Matrix4 &transformation_matrix)
const = 0;
112 operator() (
const double &score1,
const double &score2)
const = 0;
126 const Matrix4 &transformation_matrix)
const = 0;
131 #endif // PCL_REGISTRATION_TRANSFORMATION_VALIDATION_H_
boost::shared_ptr< const TransformationValidation< PointSource, PointTarget, Scalar > > ConstPtr
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 trans...
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.
PointCloudSource::ConstPtr PointCloudSourceConstPtr
pcl::PointCloud< PointSource > PointCloudSource
PointCloudTarget::ConstPtr PointCloudTargetConstPtr
virtual ~TransformationValidation()
Eigen::Matrix< Scalar, 4, 4 > Matrix4
PointCloudSource::Ptr PointCloudSourcePtr
TransformationValidation()
TransformationValidation represents the base class for methods that validate the correctness of a tra...
boost::shared_ptr< TransformationValidation< PointSource, PointTarget, Scalar > > Ptr
boost::shared_ptr< PointCloud< PointT > > Ptr
pcl::PointCloud< PointTarget > PointCloudTarget
boost::shared_ptr< const PointCloud< PointT > > ConstPtr
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...
PointCloudTarget::Ptr PointCloudTargetPtr