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

基于描述子距离的对应关系排序器 / Descriptor distance-based correspondence sorter More...

#include <descriptor_distance_sorter.hpp>

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

Public Types

using base_type = base_correspondence_sorter_t< descriptor_distance_sorter_t< DataType >, DataType >
 
- Public Types inherited from toolbox::pcl::base_correspondence_sorter_t< descriptor_distance_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

 descriptor_distance_sorter_t ()=default
 
 ~descriptor_distance_sorter_t ()=default
 
void set_invert_score (bool invert)
 设置是否反转分数(距离越小质量越高) / Set whether to invert score (smaller distance means higher quality)
 
bool get_invert_score () const
 获取是否反转分数 / Get whether to invert score
 
void set_normalize (bool normalize)
 设置归一化方式 / Set normalization method
 
bool get_normalize () const
 获取是否归一化 / Get whether to normalize
 
- Public Member Functions inherited from toolbox::pcl::base_correspondence_sorter_t< descriptor_distance_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

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< descriptor_distance_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< descriptor_distance_sorter_t< DataType >, DataType >
 

Additional Inherited Members

- Protected Attributes inherited from toolbox::pcl::base_correspondence_sorter_t< descriptor_distance_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::descriptor_distance_sorter_t< DataType >

基于描述子距离的对应关系排序器 / Descriptor distance-based correspondence sorter

该排序器使用对应关系中的描述子距离作为质量度量。 可以选择是否反转分数(距离越小质量越高)。 This sorter uses descriptor distance in correspondences as quality measure. Can optionally invert the score (smaller distance means higher quality).

Template Parameters
DataType数据类型(如float或double) / Data type (e.g., float or double)
// 使用示例 / Usage example
sorter.set_invert_score(true); // 距离越小,质量越高 / Smaller distance,
higher quality sorter.set_correspondences(correspondences); auto scores =
quality_scores_t compute_quality_scores()
仅计算质量分数,不排序 / Compute quality scores only, without sorting
Definition base_correspondence_sorter.hpp:144
void set_correspondences(const correspondences_ptr &correspondences)
设置对应关系 / Set correspondences
Definition base_correspondence_sorter.hpp:87
基于描述子距离的对应关系排序器 / Descriptor distance-based correspondence sorter
Definition descriptor_distance_sorter.hpp:36
void set_invert_score(bool invert)
设置是否反转分数(距离越小质量越高) / Set whether to invert score (smaller distance means higher quality)
Definition descriptor_distance_sorter.hpp:52

Member Typedef Documentation

◆ base_type

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

Constructor & Destructor Documentation

◆ descriptor_distance_sorter_t()

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

◆ ~descriptor_distance_sorter_t()

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

Member Function Documentation

◆ compute_quality_scores_impl()

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

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

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

◆ get_invert_score()

template<typename DataType >
bool toolbox::pcl::descriptor_distance_sorter_t< DataType >::get_invert_score ( ) const
inline

获取是否反转分数 / Get whether to invert score

Returns
是否反转 / Whether to invert

◆ get_normalize()

template<typename DataType >
bool toolbox::pcl::descriptor_distance_sorter_t< DataType >::get_normalize ( ) const
inline

获取是否归一化 / Get whether to normalize

Returns
是否归一化 / Whether to normalize

◆ get_sorter_name_impl()

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

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

Returns
排序器名称 / Sorter name

◆ set_invert_score()

template<typename DataType >
void toolbox::pcl::descriptor_distance_sorter_t< DataType >::set_invert_score ( bool  invert)
inline

设置是否反转分数(距离越小质量越高) / Set whether to invert score (smaller distance means higher quality)

Parameters
inverttrue表示反转,false表示不反转 / true to invert, false not to invert

◆ set_normalize()

template<typename DataType >
void toolbox::pcl::descriptor_distance_sorter_t< DataType >::set_normalize ( bool  normalize)
inline

设置归一化方式 / Set normalization method

Parameters
normalizetrue启用归一化,false禁用 / true to enable normalization, false to disable

Friends And Related Symbol Documentation

◆ base_correspondence_sorter_t< descriptor_distance_sorter_t< DataType >, DataType >

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

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