一种可视化编程系统、方法、介质及设备

专利2025-07-31  7


本发明涉及神经科学数据分析工具,尤其涉及一种可视化编程系统、方法、介质及设备。


背景技术:

1、神经科学领域有众多进行数据分析的工具平台,分别提供图像可视化、数据分析等特化功能,随着策略算法和数据平台的发展,神经科学家们越来越重视可定制插件功能的使用,但现有编程技术受限于文本编辑形式,对受过专业训练的开发者友好,本身开发门槛较高,需求抽象逻辑分析能力。可视化编程语言的出现和发现一定程序解决了前述问题,目前主流的可视化编程形式分别面向块和面向流,面向块是指以类似拼图的块状区域代表某项功能,通过拖拽方式放置于编辑区域,以交错图形块表示代码概念组成函数功能;面向流是指以流程图或拓扑图的形式表示状态、逻辑或数据的变化,以单个图中的节点表示界面操作和属性编辑,汇总成特定功能需求。

2、现有的可视化编程方法或者平台是面向非常狭隘和高专业化的领域,不具备通用性。


技术实现思路

1、本发明提供一种可视化编程系统、方法、介质及设备,用以解决或者至少部分解决现有技术的方法存在的开发门槛高和开发效率较低的技术问题。

2、为了解决上述技术问题,本发明采用的技术方案如下:

3、第一方面公开了一种可视化编程系统,包括:

4、显示层,为一个容器,对外显示为图形化界面,包括所有节点、端口、连接边,用于对数据进行显示;

5、交互层,用于对数据进行监督和组织,并将模型层与显示层进行联系,实现双向数据绑定与交互;

6、模型层,用于对数据进行定义,并对业务逻辑进行封装,对层间通信使用的json文件,根据控件的类别和所携带的属性解释成qt工程代码,并提供编译成库集成到vaa3d的功能。

7、在一种实施方式中,显示层包括qt控件、元对象树和运行态数据捆绑者,其中,qt控件用于创建界面元素,元对象树用于对控件的属性编辑、构造与解析进行管理与约束,运行态数据捆绑者用于启用管道通信实现控件在运行状态时的数据传递。

8、在一种实施方式中,交互层包括观察者、观察实体、生产工厂和信息组织者,其中,观察者用于监听界面控件的属性变动,发生变动后通知观察实体,如果是创建行为,观察实体启动生产工厂完成组件的组装生成,如果是运行行为,观察实体向信息组织者中配合管道登记实例信息,信息组织者负责与模型层进行交互,实现数据的绑定与更新。

9、在一种实施方式中,模型层包括解码器、解析器、编码器和插件生成器,其中,解码器用于监听界面端的信号,并接收界面端发送的json文本;解析器用于解析接收的json文件,具体包括使用分发器根据id分段的形式生成拟代码目录结构,并启动封装器进行混合编程,完成混合编程后包括两个操作,一是完成封装后回调给界面测封装状态,以供界面进行交互处理;二是启动编码器;编码器用于根据组织好的结构调用插件生成器录入代码文本,并调用构建脚本执行编译链接生成动态库;插件生成器用于使程序在vaa3d中运行。

10、基于同样的发明构思,本发明第二方面提供了一种基于第一方面所述的可视化编程系统的可视化编程方法,包括:

11、基于qt针对python的封装库pyside6实现模块的交互界面、可交互的编辑区以及承载用户逻辑功能的节点,端口和连接边;

12、使用mvvm架构分离交互界面和模型控制,使用工厂模式实现结合创建功能自定义逻辑节点;

13、使用观察者模式监控交互节点的创建与编辑、动态登记数据信息,通过结合拓扑排序和深度遍历搜索算法将一个图中的节点顺序整合成界面json信息,通过解码器编码器的组合转为qt工程,以编译生成插件动态库。

14、在一种实施方式中,所述方法还包括:将端口分为数据类端口与执行类端口。

15、在一种实施方式中,所述方法还包括,当用户需要自定义端口时,根据自定义的端口信息对节点进行动态调整。

16、基于同样的发明构思,本发明第三方面提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面所述的可视化编程方法。

17、基于同样的发明构思,本发明第四方面提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面所述的可视化编程。

18、相对于现有技术,本发明的优点和有益的技术效果如下:

19、本申请结合可视化技术,提供了新型的可视化编程方法及系统,可视化编程系统显示层(view层)、交互层(viewmodel层)以及模型层(model层),其中,view层负责显示数据,model层负责定义数据和业务逻辑,viewmodel层负责将view和model层联系,双向数据绑定和交互,通过本发明的系统与方法既可使得非编程专业人士以符合自身逻辑需求的方式完成开发,又可以形象化的方式展示逻辑过程。同时本申请是对vaa3d的插件体系的整合和扩展,在平台中可以集成化的节点表示已有插件功能,方便不同插件的组合,又可在此基础上使用代码逻辑节点扩展原有功能,丰富了开发多样性。



技术特征:

1.一种可视化编程系统,其特征在于,包括:

2.如权利要求1所述的可视化编程系统,其特征在于,显示层包括qt控件、元对象树和运行态数据捆绑者,其中,qt控件用于创建界面元素,元对象树用于对控件的属性编辑、构造与解析进行管理与约束,运行态数据捆绑者用于启用管道通信实现控件在运行状态时的数据传递。

3.如权利要求1所述的可视化编程系统,其特征在于,交互层包括观察者、观察实体、生产工厂和信息组织者,其中,观察者用于监听界面控件的属性变动,发生变动后通知观察实体,如果是创建行为,观察实体启动生产工厂完成组件的组装生成,如果是运行行为,观察实体向信息组织者中配合管道登记实例信息,信息组织者负责与模型层进行交互,实现数据的绑定与更新。

4.如权利要求1所述的可视化编程系统,其特征在于,模型层包括解码器、解析器、编码器和插件生成器,其中,解码器用于监听界面端的信号,并接收界面端发送的json文本;解析器用于解析接收的json文件,具体包括使用分发器根据id分段的形式生成拟代码目录结构,并启动封装器进行混合编程,完成混合编程后包括两个操作,一是完成封装后回调给界面测封装状态,以供界面进行交互处理;二是启动编码器;编码器用于根据组织好的结构调用插件生成器录入代码文本,并调用构建脚本执行编译链接生成动态库;插件生成器用于使程序在vaa3d中运行。

5.一种基于权利要求1至4任一项权利要求所述的可视化编程系统的可视化编程方法,其特征在于,包括:

6.如权利要求5所述的可视化编程方法,其特征在于,所述方法还包括:将端口分为数据类端口与执行类端口。

7.如权利要求1所述的可视化编程方法,其特征在于,所述方法还包括,当用户需要自定义端口时,根据自定义的端口信息对节点进行动态调整。

8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求5至7中任一项权利要求所述的可视化编程方法。

9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求5至7中任一项权利要求所述的可视化编程方法。


技术总结
本发明提出了一种可视化编程系统、方法、介质及设备,提供了基于Vaa3D及其插件系统的可视化编程模块应用,具备易于开发,可以插件动态库形式嵌入神经科学分析平台软件使用,包括:应用Pyside6/Qt6开发库,在Vaa3D插件上设计并实现了可视化编程模块,提供了基本的交互界面和图形化组件。提出了连接描述逻辑过程的静态和动态两种类型的边缘交互,在动态注册端口对象的同时实现以数据模型为中心的图形组织,并输出可嵌入插件。为便于后续开发,提出了一种基于MVVM框架的端口通信机制,将视图和控制器分离,将图形组件的编辑信息组织为带数据链路流的拓扑结构,生成具有业务空间编解码的插件,还提出了基于工厂模式动态创建节点的实践方法,为后续的功能扩展提供接口。

技术研发人员:彭汉川,张玲丽,邓箓宸
受保护的技术使用者:东南大学
技术研发日:
技术公布日:2024/6/26
转载请注明原文地址:https://doc.8miu.com/read-1823303.html

最新回复(0)