Group使用指南

Group的基本操作

创建Group

Group 创建方法有两种:

A:在“算子图”区域的黑色背景中鼠标右键单击,选中菜单中的在这里创建新 Group,创建后的效果如下图。Group 创建完成后就可以在内部添加算子。另外,也可以在一个已有的 Group 中,鼠标右键单击弹出菜单,创建新的 Group 。

image-20240813133911793

B:鼠标单击选中某个算子(长按 ctrl 可以单击选中多个算子 ),然后单击算子图区域左侧工具栏的m_group(../RVS_Basic_Manual/images/m_group(1).png) Group 选中算子,之后会自动将选中的算子放入新创建的 Group 中。

image-20240813140118687

重命名Group

方法一:选中 Group ,直接按键盘 F2 按钮弹出重新命名算子窗口。点击OK确定,点击Cancel取消。

image-20240813140326314

方法二:选中 Group ,右键 Group 空白处,弹出菜单中选择重新命名算子

image-20240813141434713

方法三:选中 Group,在属性面板->双击算子名称,重命名,回车确认。

image-20240813141858062

拆散Group

步骤一:鼠标单击选中某个需要拆散的 Group,再单击算子图区域中左侧工具栏的m_ungroup UnGroup 选中算子

image-20240813141920654

步骤二:拆散后算子算子图如下。

image-20240813142757562

删除Group

选中 Group ,然后按键盘 Del 键或者鼠标右击,在菜单中选择删除算子。弹出删除窗口,点击Yes 确认操作,点击Cancel取消操作。

image-20240813144105422

锁定Group

在属性面板中勾选 Group 的是否锁定属性为后,双击无法展开 Group。该功能可以防止意外展开 Group 后的误操作。

image-20240813144614009

锁定/解锁方法:

方法一:右击Group,弹出菜单栏中选择锁定/解锁

lock

方法二:

锁定:属性面板中将是否锁定勾选为

解锁:属性面板中将是否锁定取消勾选为

unlock

Group 导出和导入

导出是指将某个 Group 作为一个模块导出成 * .group.xml ,之后可以在其他的 xml 程序中导入该 *.group.xml 文件对该 Group 进行复用。既可以在算子图背景中导入该 Group ,也可以在另一个 Group 内部导入该 Group 。

操作步骤:

导入方法一:右击算子图或 Group 空白处,弹出菜单栏,选择在此导入Group XML,弹出文件夹,选择对应的 *.group.xml 文件即可。

image-20240813150558732

导入方法二:快速导入Group ,可以直接从外部文件夹中直接拖拽 Group 文件至算子图。

image-20240813151226349

导入方法三:在 runtime 目录下创建一个名为 group_xml 的文件夹,将 Group 导出至该文件夹中。导入后,Group XML 模板群组将以灰色图标显示,可直接拖拽使用。

image-20240813152940204

导出:选择 Group 后,弹出菜单栏,选择“导出 Group XML”。在弹出的“导出 Group XML”窗口中,选择路径并重新命名该 Group。点击“Ok”确认操作,点击“Cancel”取消操作。确认操作后,该 Group.xml 文件将保存在指定目录下。

image-20240813155456041

查看Group参数

在使用参数面板前首先需要将 Group 内部至少一个算子的至少一个参数(比如参数 Trigger)曝光,之后选中该 Group ,单击鼠标右击弹出菜单,选中Group 参数面板即可弹出面板对话框,如下图所示。

image-20240813155638884

将参数 a 对应的 “是否输出” 栏 勾选 ,(同时可以在参数 Trigger 对应的Group 参数名称 中更改该参数的名称),即可将参数 Trigger 暴露成 Group 的组参数。此时单击上图右下角的更新按钮并关闭,再次选中该 Group ,即可在属性栏中看到刚才设定的组参数 。利用这种方法,可以更方便的对 Group 内的算子参数进行修改调整。

Group端口的基本操作

添加Group端口

常规 Group 有两类端口区域,上方两侧的 IO 端口区域(包括 start 、finished 和 failed 端口),以及下方两侧的镜像端口区域(包括 MirrorInput 以及 MirrorOutput )。

image-20240813160029351

在 IO 端口区域中添加端口:直接从 Group 任一内部算子的任一端口处,鼠标左键拖出一根线并移动到 IO 端口区域释放鼠标,即可自动创建一个端口,每个端口都有内外两端。

将算子的数据信号或者控制信号连接至 Group 端口,则 Group 端口自动添加同名端口。Group 连接如下。

image-20240813161456762

连接Group端口

IO 端口区域连线规则:同普通的 node 连线规则一致,特殊之处在于 Group 的 IO 端口必须将内外两端全部连接才有意义。

镜像端口区域的功能与连线方法:Group 内部的算子按照控制信号流的先后顺序排列,如果需要将后续算子 B 的某个输出端口连接到前面算子 A 的某个输入端口,直接连线会提示连线报错。

此时可以通过 Group 组的两个镜像端口实现:即先将 B 的输出端口连接到右下角的 MirrorOutput 区,连接完成后左下角的 MirrorInput 区会自动出现同名的端口,再将该端口连接到 A 算子的输入端口。

如下图所示,Group 的作用是遍历目录中的所有文件夹名称,将 EmitString 算子的 finish 端口连接至MirrorOutput 区,将 MirrorInput 区 finish 端口连接至start,可实现自动遍历的效果。

image-20240813161731002

删除Group端口

选择要删除的端口,右击弹出菜单栏,选择删除端口,即删除完成。

注意:两个已有的 finished 端口和 failed 端口 无法删除。

image-20240813164138488

重命名Group端口

步骤一:选择要重命名的端口,右击弹出菜单栏,选择重命名端口,弹出重命名端口窗口。

image-20240813164625388

步骤二:输入新名称,点击OK确认操作,点击Cancel取消操作。

image-20240813165006505

Group的折叠、展开与排版

Group 创建成功后默认是展开状态,此时可以通过鼠标双击 Group 来切换成折叠形态(如下图所示),隐藏内部细节,再次双击即可切换成展开状态。折叠形态配合参数面板,在效果上 Group 可被视作普通算子,大大提升整体界面的简洁度与可读性。

image-20240813165844853

运行Group

若 input 端口有连接,可以在 Group 外部触发运行。若input 端口没有连接,可以在 Group 内连接 Trigger 算子,触发 Trigger 运行Group。

image-20240813165049778