SortList 列表排序
SortList 算子用于列表排序,该算子按 Weight_x * x + weight_y * y + weight_z * z 计算结果从小到大排序。适用于 Pose 、Cube 、PointCloud 。
type | 功能 |
---|---|
Pose | pose 列表排序。 |
Cube | 立方体列表排序。根据立方体中心点 pose 进行排序。 |
PointCloud | 点云列表排序。根据点云质心 pose 进行排序。 |
-
模式/mode
:排序后列表输出模式。默认值:LinearSort。-
LinearSort:将输入数据列表按照权重排序输出。
-
ByDistance:根据参考点将坐标列表由近到远进行排序,输出排序后的坐标列表和对应的索引列表。
-
ReverseIndex:将输入数据列表倒序输出。
-
Pose
将 SortList 算子的 类型
属性选择
Pose ,用于 pose 列表排序。
算子参数
-
X权重/weight_x
:x 轴 pose 权重。 -
Y权重/weight_y
: y 轴 pose 权重。 -
Z权重/weight_z
: z 轴 pose 权重。 -
坐标列表/pose_list
:设置排序后 pose 列表在 3D 视图中的可视化属性。-
打开排序后 pose 列表可视化。
-
关闭排序后 pose 列表可视化。
-
设置排序后 pose 列表的尺寸大小。取值范围:[0.001,10] 。默认值:0.1 。
-
-
索引列表/index_list
:设置排序后 pose 索引的曝光属性。可与交互面板中输出工具“表格”进行绑定。-
打开曝光。
-
关闭曝光。
-
数据信号输入输出
-
poselist
:-
数据类型:PoseList
-
输入内容: pose 列表数据
-
输出:
-
poselist
:-
数据类型:PoseList
-
输出内容:排序 pose 列表数据
-
-
index_list
:-
数据类型:String
-
输出内容:排序后索引列表
-
功能演示
使用 SortList 算子中 Pose 对加载的多个 pose 进行不同方式的排序。
假设: 1号坐标:(1,1,5)
2号坐标:(2,1,5)
…
5号坐标: (1,2,5)
…
12号坐标:(3,4,5)
步骤1:算子准备
添加 Trigger 、Load 、SortList 算子至算子图。
步骤2:设置算子参数
-
设置 Load 算子参数:
-
类型 → pose
-
文件 → → 选择 pose 文件名( example_data/pose/poselist.txt )(文件内容如下)
-
-
设置 SortList 算子参数:
-
类型 → pose
-
坐标 → 可视
-
步骤3:连接算子
步骤4:运行与结果
排序1: 按照1 -> 2 -> 3 -> 4 ->……12 排序:
-
参考取值:
-
X权重: 1
-
Y权重 :4
-
Z权重 :0
-
-
双击 3D 视图中的 pose ,打开 POSELIST 面板。点击“坐标列表”按钮,显示排序后所有坐标参数。
排序2: 按照 1 -> 4 -> 7 -> 10 -> 2……12 排序
-
参考取值:
-
X权重:4
-
Y权重:1
-
Z权重 :0
-
-
双击 3D 视图中的 pose ,打开 POSELIST 面板。点击“坐标列表”按钮,显示排序后所有坐标参数。
排序3: 按照 12 - > 11 -> 10- > 9……1 排序
-
参考取值:
-
X权重:-1
-
Y权重 :-4
-
Z权重 :0
-
-
双击 3D 视图中的 pose ,打开 POSELIST 面板。点击“坐标列表”按钮,显示排序后所有坐标参数。
排序4:按照 12 ->9 -> 6 -> 3 -> 11……1排序
-
参考取值:
-
X权重:-4
-
Y权重 : -1
-
Z权重 :0
-
-
双击 3D 视图中的 pose ,打开 POSELIST 面板。点击“坐标列表”按钮,显示排序后所有坐标参数。
Cube
将 SortList 算子的 类型
属性选择
Cube ,用于立方体列表排序。根据立方体中心点坐标进行排序。
算子参数
-
X权重/weight_x
:x 轴坐标权重。 -
Y权重/weight_y
: y 轴坐标权重。 -
Z权重/weight_z
: z 轴坐标权重。 -
立方体列表/cube_list
:设置排序后立方体列表在 3D 视图中的可视化属性。-
打开立方体列表可视化。
-
关闭立方体列表可视化。
-
设置立方体列表的颜色。取值范围:[-2,360] 。默认值:-1 。
-
设置立方体列表的透明度。取值范围:[0,1] 。默认值:0.5 。
-
-
索引列表/index_list
:设置排序后索引的曝光属性。可与交互面板中输出工具“表格”进行绑定。-
打开曝光。
-
关闭曝光。
-
数据信号输入输出
-
cubelist
:-
数据类型:CubeList
-
输入内容:立方体列表数据
-
输出:
-
cubelist
:-
数据类型:CubeList
-
输出内容:排序后立方体列表数据
-
-
index_list
:-
数据类型:String
-
输出内容:排序后索引列表
-
功能演示
使用 SortList 算子中 Cube 对加载的多个立方体进行不同方式的排序。
步骤1:算子准备
添加 Trigger 、Load 、SortList 算子至算子图。
步骤2:设置算子参数
-
设置 Load 算子参数:
-
类型 → Cube
-
目录 → → 选择 cube 文件目录名( example_data/cubelist )
-
-
设置 SortList 算子参数:
-
类型 → Cube
-
立方体列表 → 可视
-
步骤3:连接算子
步骤4:运行
1. 将立方体按照 X 轴负方向排序
-
参考取值:
-
X权重:-1
-
Y权重:0
-
Z权重:0
-
-
双击 3D 视图中立方体,打开 CUBE_LIST 面板,点击按钮“ Cube 列表”,显示 Cube 索引 。当点击按钮“下一个”,索引会同步进行变换。
2. 将立方体 X 轴正方向排序
-
参考取值:
-
X权重:1
-
Y权重:0
-
Z权重:0
-
-
双击3D视图中立方体,打开CUBE_LIST面板,点击按钮“ Cube 列表”,显示 Cube 索引 。当点击按钮“下一个”,索引会同步进行变换。
PointCloud
将 SortList 算子的 类型
属性选择
PointCloud,用于点云列表排序。根据点云中心点坐标进行排序。
算子参数
-
X权重/weight_x
:x 轴坐标权重。 -
Y权重/weight_y
: y 轴坐标权重。 -
Z权重/weight_z
: z 轴坐标权重。 -
点云列表/cloud_list
:设置排序后点云在 3D 视图中的可视化属性。-
打开过滤后点云可视化。
-
关闭过滤后点云可视化。
-
设置 3D 视图中点云的颜色。取值范围:[-2,360] 。默认值:-1 。
-
设置点云中点的尺寸。取值范围:[1,50] 。默认值:1 。
-
-
索引列表/index_list
:设置排序后索引的曝光属性。可与交互面板中输出工具“表格”进行绑定。-
打开曝光。
-
关闭曝光。
-
数据信号输入输出
输入:
-
cloud_list
:-
数据类型:PointCloudList
-
输入内容:点云列表数据
-
输出:
-
cloud_list
:-
数据类型:PointCloudList
-
输出内容:排序后点云列表数据
-
-
index_list
:-
数据类型:String
-
输出内容:排序后索引列表
-
功能演示
使用 SortList 算子中 PointCloud 对加载的多个点云按照 X 轴正方向排序。
步骤1:算子准备
添加 Trigger 、Load 、SortList、CloudProcess (2 个)算子至算子图。
步骤2:设置算子参数
-
设置 Load 算子参数:
-
类型 → pointcloud
-
目录 → → 选择点云文件目录名( example_data/pointcloud/pointclouds )
-
-
设置 SortList 算子参数:
-
类型 → PointCloud
-
X权重:1
-
Y权重:0
-
Z权重:0
-
点云列表 → 可视
-
-
设置 CloudProcess/CloudProcess_1 算子参数:
-
类型 → CloudCentroid
-
坐标列表 → 曝光
说明:CloudProcess 算子用于输出点云的中心点 pose,便于查看排序后点云中心点坐标位置。
-
步骤3:连接算子
步骤4:运行
-
在交互面板中拖入 2 个输入工具——“标签”,分别输入文字:排序前/排序后。
-
再拖入 2 个 输出工具 ——”表格“,分别与CloudProcess/CloudProcess_1 的 pose_list 属性进行绑定。
-
点击 RVS 运行按钮,触发 Trigger 算子。
运行结果
-
结果如下图所示,在 3D 视图中显示 SortList 算子 cloud_list 可视化结果。
-
在交互面板中查看排序前后点云中心点 pose 对比。