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

基于几何一致性的对应关系排序器 / Geometric consistency-based correspondence sorter More...

#include <geometric_consistency_sorter.hpp>

Inheritance diagram for toolbox::pcl::geometric_consistency_sorter_t< DataType >:

Public Types

using base_type = base_correspondence_sorter_t< geometric_consistency_sorter_t< DataType >, DataType >
 
- Public Types inherited from toolbox::pcl::base_correspondence_sorter_t< geometric_consistency_sorter_t< DataType >, DataType >
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 quality_scores_t = std::vector< DataType >
 
using sorted_indices_t = std::vector< std::size_t >
 

Public Member Functions

 geometric_consistency_sorter_t ()=default
 
 ~geometric_consistency_sorter_t ()=default
 
void set_neighborhood_size (std::size_t size)
 设置用于评估的邻域大小 / Set neighborhood size for evaluation
 
std::size_t get_neighborhood_size () const
 获取邻域大小 / Get neighborhood size
 
void set_distance_ratio_threshold (DataType threshold)
 设置距离比率阈值 / Set distance ratio threshold
 
DataType get_distance_ratio_threshold () const
 获取距离比率阈值 / Get distance ratio threshold
 
void set_random_sampling (bool random)
 设置采样策略 / Set sampling strategy
 
bool get_random_sampling () const
 获取是否使用随机采样 / Get whether to use random sampling
 
- Public Member Functions inherited from toolbox::pcl::base_correspondence_sorter_t< geometric_consistency_sorter_t< DataType >, DataType >
 base_correspondence_sorter_t ()=default
 
 base_correspondence_sorter_t (const base_correspondence_sorter_t &)=delete
 
 base_correspondence_sorter_t (base_correspondence_sorter_t &&)=default
 
virtual ~base_correspondence_sorter_t ()=default
 
base_correspondence_sorter_toperator= (const base_correspondence_sorter_t &)=delete
 
base_correspondence_sorter_toperator= (base_correspondence_sorter_t &&)=default
 
void set_point_clouds (const point_cloud_ptr &source, const point_cloud_ptr &target)
 设置源点云和目标点云 / Set source and target point clouds
 
void set_correspondences (const correspondences_ptr &correspondences)
 设置对应关系 / Set correspondences
 
sorted_indices_t compute_sorted_indices (quality_scores_t &scores)
 计算质量分数并返回排序后的索引 / Compute quality scores and return sorted indices
 
quality_scores_t compute_quality_scores ()
 仅计算质量分数,不排序 / Compute quality scores only, without sorting
 
std::string get_sorter_name () const
 获取排序器名称 / Get sorter name
 
void clear_cache ()
 清除缓存 / Clear cache
 
void enable_parallel (bool enable=true)
 启用/禁用并行计算 / Enable/disable parallel computation
 
bool is_parallel_enabled () const
 获取并行计算状态 / Get parallel computation status
 

Protected Member Functions

bool validate_input_impl () const
 验证输入数据的实现 / Implementation of input validation
 
void compute_quality_scores_impl (quality_scores_t &scores)
 计算质量分数的实现 / Implementation of quality score computation
 
std::string get_sorter_name_impl () const
 获取排序器名称实现 / Get sorter name implementation
 
- Protected Member Functions inherited from toolbox::pcl::base_correspondence_sorter_t< geometric_consistency_sorter_t< DataType >, DataType >
bool validate_input () const
 验证输入数据 / Validate input data
 
bool validate_input_impl () const
 派生类可选的额外验证 / Optional additional validation for derived class
 
std::string get_sorter_name_impl () const
 派生类必须实现的排序器名称获取方法 / Sorter name getter that derived class must implement
 
const point_cloud_ptrget_source_cloud () const
 获取受保护的成员变量访问 / Get access to protected members
 
const point_cloud_ptrget_target_cloud () const
 
const correspondences_ptrget_correspondences () const
 

Friends

class base_correspondence_sorter_t< geometric_consistency_sorter_t< DataType >, DataType >
 

Additional Inherited Members

- Protected Attributes inherited from toolbox::pcl::base_correspondence_sorter_t< geometric_consistency_sorter_t< DataType >, DataType >
point_cloud_ptr m_source_cloud
 
point_cloud_ptr m_target_cloud
 
correspondences_ptr m_correspondences
 
bool m_cached
 
quality_scores_t m_cached_scores
 
sorted_indices_t m_cached_indices
 
bool m_parallel_enabled
 

Detailed Description

template<typename DataType>
class toolbox::pcl::geometric_consistency_sorter_t< DataType >

基于几何一致性的对应关系排序器 / Geometric consistency-based correspondence sorter

该排序器通过检查对应关系之间的几何关系保持程度来评估质量。 如果源点云中两点之间的距离与目标点云中对应两点之间的距离相似, 则认为这些对应关系具有高几何一致性。 This sorter evaluates quality by checking how well geometric relationships are preserved between correspondences. If the distance between two points in the source cloud is similar to the distance between the corresponding two points in the target cloud, these correspondences are considered to have high geometric consistency.

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

Member Typedef Documentation

◆ base_type

template<typename DataType >
using toolbox::pcl::geometric_consistency_sorter_t< DataType >::base_type = base_correspondence_sorter_t<geometric_consistency_sorter_t<DataType>, DataType>

Constructor & Destructor Documentation

◆ geometric_consistency_sorter_t()

template<typename DataType >
toolbox::pcl::geometric_consistency_sorter_t< DataType >::geometric_consistency_sorter_t ( )
default

◆ ~geometric_consistency_sorter_t()

template<typename DataType >
toolbox::pcl::geometric_consistency_sorter_t< DataType >::~geometric_consistency_sorter_t ( )
default

Member Function Documentation

◆ compute_quality_scores_impl()

template<typename DataType >
void toolbox::pcl::geometric_consistency_sorter_t< DataType >::compute_quality_scores_impl ( quality_scores_t scores)
inlineprotected

计算质量分数的实现 / Implementation of quality score computation

Parameters
scores[out] 质量分数 / Quality scores

◆ get_distance_ratio_threshold()

template<typename DataType >
DataType toolbox::pcl::geometric_consistency_sorter_t< DataType >::get_distance_ratio_threshold ( ) const
inline

获取距离比率阈值 / Get distance ratio threshold

Returns
距离比率阈值 / Distance ratio threshold

◆ get_neighborhood_size()

template<typename DataType >
std::size_t toolbox::pcl::geometric_consistency_sorter_t< DataType >::get_neighborhood_size ( ) const
inline

获取邻域大小 / Get neighborhood size

Returns
邻域大小 / Neighborhood size

◆ get_random_sampling()

template<typename DataType >
bool toolbox::pcl::geometric_consistency_sorter_t< DataType >::get_random_sampling ( ) const
inline

获取是否使用随机采样 / Get whether to use random sampling

Returns
是否随机采样 / Whether to use random sampling

◆ get_sorter_name_impl()

template<typename DataType >
std::string toolbox::pcl::geometric_consistency_sorter_t< DataType >::get_sorter_name_impl ( ) const
inlineprotected

获取排序器名称实现 / Get sorter name implementation

Returns
排序器名称 / Sorter name

◆ set_distance_ratio_threshold()

template<typename DataType >
void toolbox::pcl::geometric_consistency_sorter_t< DataType >::set_distance_ratio_threshold ( DataType  threshold)
inline

设置距离比率阈值 / Set distance ratio threshold

Parameters
threshold阈值(例如0.2表示20的距离变化容忍度) / Threshold (e.g., 0.2 means 20% distance variation tolerance)

◆ set_neighborhood_size()

template<typename DataType >
void toolbox::pcl::geometric_consistency_sorter_t< DataType >::set_neighborhood_size ( std::size_t  size)
inline

设置用于评估的邻域大小 / Set neighborhood size for evaluation

Parameters
size邻域大小(要检查的其他对应关系数量) / Neighborhood size (number of other correspondences to check)

◆ set_random_sampling()

template<typename DataType >
void toolbox::pcl::geometric_consistency_sorter_t< DataType >::set_random_sampling ( bool  random)
inline

设置采样策略 / Set sampling strategy

Parameters
randomtrue使用随机采样,false使用最近的邻域 / true for random sampling, false for nearest neighbors

◆ validate_input_impl()

template<typename DataType >
bool toolbox::pcl::geometric_consistency_sorter_t< DataType >::validate_input_impl ( ) const
inlineprotected

验证输入数据的实现 / Implementation of input validation

Returns
是否有效 / Whether valid

Friends And Related Symbol Documentation

◆ base_correspondence_sorter_t< geometric_consistency_sorter_t< DataType >, DataType >

template<typename DataType >
friend class base_correspondence_sorter_t< geometric_consistency_sorter_t< DataType >, DataType >
friend

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