cpp-toolbox  0.0.1
A toolbox library for C++
Loading...
Searching...
No Matches
toolbox::pcl::base_coarse_registration_t< Derived, DataType > Class Template Reference

粗配准算法的基类(CRTP模式) / Base class for coarse registration algorithms (CRTP pattern) More...

#include <base_coarse_registration.hpp>

Public Types

using point_cloud = toolbox::types::point_cloud_t< DataType >
 
using point_cloud_ptr = std::shared_ptr< point_cloud >
 
using correspondences_ptr = std::shared_ptr< std::vector< correspondence_t > >
 
using result_type = registration_result_t< DataType >
 

Public Member Functions

 base_coarse_registration_t ()=default
 
virtual ~base_coarse_registration_t ()=default
 
 base_coarse_registration_t (const base_coarse_registration_t &)=delete
 
base_coarse_registration_toperator= (const base_coarse_registration_t &)=delete
 
 base_coarse_registration_t (base_coarse_registration_t &&)=default
 
base_coarse_registration_toperator= (base_coarse_registration_t &&)=default
 
void set_source (const point_cloud_ptr &source)
 设置源点云 / Set source point cloud
 
void set_target (const point_cloud_ptr &target)
 设置目标点云 / Set target point cloud
 
void set_correspondences (const correspondences_ptr &correspondences)
 设置初始对应关系(可选,主要用于RANSAC类算法) / Set initial correspondences (optional, mainly for RANSAC-like algorithms)
 
void set_max_iterations (std::size_t max_iterations)
 设置最大迭代次数 / Set maximum iterations
 
void set_inlier_threshold (DataType threshold)
 设置内点距离阈值 / Set inlier distance threshold
 
void set_convergence_threshold (DataType threshold)
 设置收敛阈值 / Set convergence threshold
 
void set_min_inliers (std::size_t min_inliers)
 设置最小内点数量 / Set minimum number of inliers
 
bool align (result_type &result)
 执行配准 / Perform registration
 
std::string get_algorithm_name () const
 获取算法名称 / Get algorithm name
 
void enable_parallel (bool enable=true)
 启用/禁用并行计算 / Enable/disable parallel computation
 
bool is_parallel_enabled () const
 获取并行计算状态 / Get parallel computation status
 
void set_random_seed (unsigned int seed)
 设置随机种子 / Set random seed
 

Protected Member Functions

void set_source_impl (const point_cloud_ptr &)
 派生类可选实现的钩子函数 / Optional hook functions for derived classes
 
void set_target_impl (const point_cloud_ptr &)
 
void set_correspondences_impl (const correspondences_ptr &)
 
void set_max_iterations_impl (std::size_t)
 
void set_inlier_threshold_impl (DataType)
 
void set_convergence_threshold_impl (DataType)
 
void set_min_inliers_impl (std::size_t)
 
bool validate_input () const
 验证输入数据 / Validate input data
 
bool validate_input_impl () const
 派生类的额外输入验证(可选) / Additional input validation for derived class (optional)
 
DataType compute_fitness_score (const Eigen::Matrix< DataType, 4, 4 > &transformation, const std::vector< std::size_t > &inliers) const
 计算配准质量评分 / Compute registration fitness score
 
const point_cloud_ptrget_source_cloud () const
 获取受保护的成员变量访问 / Get access to protected members
 
const point_cloud_ptrget_target_cloud () const
 
const correspondences_ptrget_correspondences () const
 
std::size_t get_max_iterations () const
 
DataType get_inlier_threshold () const
 
DataType get_convergence_threshold () const
 
std::size_t get_min_inliers () const
 
unsigned int get_random_seed () const
 

Detailed Description

template<typename Derived, typename DataType>
class toolbox::pcl::base_coarse_registration_t< Derived, DataType >

粗配准算法的基类(CRTP模式) / Base class for coarse registration algorithms (CRTP pattern)

Template Parameters
Derived派生类类型 / Derived class type
DataType数据类型(如float或double) / Data type (e.g., float or double)

Member Typedef Documentation

◆ correspondences_ptr

template<typename Derived , typename DataType >
using toolbox::pcl::base_coarse_registration_t< Derived, DataType >::correspondences_ptr = std::shared_ptr<std::vector<correspondence_t> >

◆ point_cloud

template<typename Derived , typename DataType >
using toolbox::pcl::base_coarse_registration_t< Derived, DataType >::point_cloud = toolbox::types::point_cloud_t<DataType>

◆ point_cloud_ptr

template<typename Derived , typename DataType >
using toolbox::pcl::base_coarse_registration_t< Derived, DataType >::point_cloud_ptr = std::shared_ptr<point_cloud>

◆ result_type

template<typename Derived , typename DataType >
using toolbox::pcl::base_coarse_registration_t< Derived, DataType >::result_type = registration_result_t<DataType>

Constructor & Destructor Documentation

◆ base_coarse_registration_t() [1/3]

template<typename Derived , typename DataType >
toolbox::pcl::base_coarse_registration_t< Derived, DataType >::base_coarse_registration_t ( )
default

◆ ~base_coarse_registration_t()

template<typename Derived , typename DataType >
virtual toolbox::pcl::base_coarse_registration_t< Derived, DataType >::~base_coarse_registration_t ( )
virtualdefault

◆ base_coarse_registration_t() [2/3]

template<typename Derived , typename DataType >
toolbox::pcl::base_coarse_registration_t< Derived, DataType >::base_coarse_registration_t ( const base_coarse_registration_t< Derived, DataType > &  )
delete

◆ base_coarse_registration_t() [3/3]

template<typename Derived , typename DataType >
toolbox::pcl::base_coarse_registration_t< Derived, DataType >::base_coarse_registration_t ( base_coarse_registration_t< Derived, DataType > &&  )
default

Member Function Documentation

◆ align()

template<typename Derived , typename DataType >
bool toolbox::pcl::base_coarse_registration_t< Derived, DataType >::align ( result_type result)
inline

执行配准 / Perform registration

Parameters
result[out] 配准结果 / Registration result
Returns
是否成功 / Whether successful

◆ compute_fitness_score()

template<typename Derived , typename DataType >
DataType toolbox::pcl::base_coarse_registration_t< Derived, DataType >::compute_fitness_score ( const Eigen::Matrix< DataType, 4, 4 > &  transformation,
const std::vector< std::size_t > &  inliers 
) const
inlineprotected

计算配准质量评分 / Compute registration fitness score

◆ enable_parallel()

template<typename Derived , typename DataType >
void toolbox::pcl::base_coarse_registration_t< Derived, DataType >::enable_parallel ( bool  enable = true)
inline

启用/禁用并行计算 / Enable/disable parallel computation

Parameters
enabletrue启用,false禁用(默认启用) / true to enable, false to disable (default enabled)

◆ get_algorithm_name()

template<typename Derived , typename DataType >
std::string toolbox::pcl::base_coarse_registration_t< Derived, DataType >::get_algorithm_name ( ) const
inline

获取算法名称 / Get algorithm name

◆ get_convergence_threshold()

template<typename Derived , typename DataType >
DataType toolbox::pcl::base_coarse_registration_t< Derived, DataType >::get_convergence_threshold ( ) const
inlineprotected

◆ get_correspondences()

template<typename Derived , typename DataType >
const correspondences_ptr & toolbox::pcl::base_coarse_registration_t< Derived, DataType >::get_correspondences ( ) const
inlineprotected

◆ get_inlier_threshold()

template<typename Derived , typename DataType >
DataType toolbox::pcl::base_coarse_registration_t< Derived, DataType >::get_inlier_threshold ( ) const
inlineprotected

◆ get_max_iterations()

template<typename Derived , typename DataType >
std::size_t toolbox::pcl::base_coarse_registration_t< Derived, DataType >::get_max_iterations ( ) const
inlineprotected

◆ get_min_inliers()

template<typename Derived , typename DataType >
std::size_t toolbox::pcl::base_coarse_registration_t< Derived, DataType >::get_min_inliers ( ) const
inlineprotected

◆ get_random_seed()

template<typename Derived , typename DataType >
unsigned int toolbox::pcl::base_coarse_registration_t< Derived, DataType >::get_random_seed ( ) const
inlineprotected

◆ get_source_cloud()

template<typename Derived , typename DataType >
const point_cloud_ptr & toolbox::pcl::base_coarse_registration_t< Derived, DataType >::get_source_cloud ( ) const
inlineprotected

获取受保护的成员变量访问 / Get access to protected members

◆ get_target_cloud()

template<typename Derived , typename DataType >
const point_cloud_ptr & toolbox::pcl::base_coarse_registration_t< Derived, DataType >::get_target_cloud ( ) const
inlineprotected

◆ is_parallel_enabled()

template<typename Derived , typename DataType >
bool toolbox::pcl::base_coarse_registration_t< Derived, DataType >::is_parallel_enabled ( ) const
inline

获取并行计算状态 / Get parallel computation status

Returns
是否启用并行 / Whether parallel is enabled

◆ operator=() [1/2]

template<typename Derived , typename DataType >
base_coarse_registration_t & toolbox::pcl::base_coarse_registration_t< Derived, DataType >::operator= ( base_coarse_registration_t< Derived, DataType > &&  )
default

◆ operator=() [2/2]

template<typename Derived , typename DataType >
base_coarse_registration_t & toolbox::pcl::base_coarse_registration_t< Derived, DataType >::operator= ( const base_coarse_registration_t< Derived, DataType > &  )
delete

◆ set_convergence_threshold()

template<typename Derived , typename DataType >
void toolbox::pcl::base_coarse_registration_t< Derived, DataType >::set_convergence_threshold ( DataType  threshold)
inline

设置收敛阈值 / Set convergence threshold

◆ set_convergence_threshold_impl()

template<typename Derived , typename DataType >
void toolbox::pcl::base_coarse_registration_t< Derived, DataType >::set_convergence_threshold_impl ( DataType  )
inlineprotected

◆ set_correspondences()

template<typename Derived , typename DataType >
void toolbox::pcl::base_coarse_registration_t< Derived, DataType >::set_correspondences ( const correspondences_ptr correspondences)
inline

设置初始对应关系(可选,主要用于RANSAC类算法) / Set initial correspondences (optional, mainly for RANSAC-like algorithms)

◆ set_correspondences_impl()

template<typename Derived , typename DataType >
void toolbox::pcl::base_coarse_registration_t< Derived, DataType >::set_correspondences_impl ( const correspondences_ptr )
inlineprotected

◆ set_inlier_threshold()

template<typename Derived , typename DataType >
void toolbox::pcl::base_coarse_registration_t< Derived, DataType >::set_inlier_threshold ( DataType  threshold)
inline

设置内点距离阈值 / Set inlier distance threshold

◆ set_inlier_threshold_impl()

template<typename Derived , typename DataType >
void toolbox::pcl::base_coarse_registration_t< Derived, DataType >::set_inlier_threshold_impl ( DataType  )
inlineprotected

◆ set_max_iterations()

template<typename Derived , typename DataType >
void toolbox::pcl::base_coarse_registration_t< Derived, DataType >::set_max_iterations ( std::size_t  max_iterations)
inline

设置最大迭代次数 / Set maximum iterations

◆ set_max_iterations_impl()

template<typename Derived , typename DataType >
void toolbox::pcl::base_coarse_registration_t< Derived, DataType >::set_max_iterations_impl ( std::size_t  )
inlineprotected

◆ set_min_inliers()

template<typename Derived , typename DataType >
void toolbox::pcl::base_coarse_registration_t< Derived, DataType >::set_min_inliers ( std::size_t  min_inliers)
inline

设置最小内点数量 / Set minimum number of inliers

◆ set_min_inliers_impl()

template<typename Derived , typename DataType >
void toolbox::pcl::base_coarse_registration_t< Derived, DataType >::set_min_inliers_impl ( std::size_t  )
inlineprotected

◆ set_random_seed()

template<typename Derived , typename DataType >
void toolbox::pcl::base_coarse_registration_t< Derived, DataType >::set_random_seed ( unsigned int  seed)
inline

设置随机种子 / Set random seed

Parameters
seed随机种子值 / Random seed value

◆ set_source()

template<typename Derived , typename DataType >
void toolbox::pcl::base_coarse_registration_t< Derived, DataType >::set_source ( const point_cloud_ptr source)
inline

设置源点云 / Set source point cloud

◆ set_source_impl()

template<typename Derived , typename DataType >
void toolbox::pcl::base_coarse_registration_t< Derived, DataType >::set_source_impl ( const point_cloud_ptr )
inlineprotected

派生类可选实现的钩子函数 / Optional hook functions for derived classes

◆ set_target()

template<typename Derived , typename DataType >
void toolbox::pcl::base_coarse_registration_t< Derived, DataType >::set_target ( const point_cloud_ptr target)
inline

设置目标点云 / Set target point cloud

◆ set_target_impl()

template<typename Derived , typename DataType >
void toolbox::pcl::base_coarse_registration_t< Derived, DataType >::set_target_impl ( const point_cloud_ptr )
inlineprotected

◆ validate_input()

template<typename Derived , typename DataType >
bool toolbox::pcl::base_coarse_registration_t< Derived, DataType >::validate_input ( ) const
inlineprotected

验证输入数据 / Validate input data

◆ validate_input_impl()

template<typename Derived , typename DataType >
bool toolbox::pcl::base_coarse_registration_t< Derived, DataType >::validate_input_impl ( ) const
inlineprotected

派生类的额外输入验证(可选) / Additional input validation for derived class (optional)


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