基于Qt的瘢痕疙瘩二维放疗计划快速设计平台的构建

2019-08-20 01:57赖佳路钟仁明
中国医疗设备 2019年8期
关键词:疙瘩瘢痕科室

赖佳路,钟仁明

四川大学华西医院 放疗科,四川 成都 610041

引言

瘢痕疙瘩是由成纤维细胞异常增殖和胶原蛋白过度沉积且超过原来正常范围的一种纤维增生性疾病[1-2]。该病治疗方法较多[3-5],研究发现术后即时联合电子线放疗是治疗瘢痕疙瘩最有效、复发率最低的治疗方案,治愈率高达80%以上[6-7]。瘢痕疙瘩术后24 h 内病变处成纤维细胞占多数且对射线最敏感,是放疗干预瘢痕疙瘩的最佳时期[8],最近的一些回顾性研究发现也表明,瘢痕疙瘩切除后7 h甚至更短时间进行放疗复发率更低[9-10]。

根据我院放疗科情况,瘢痕病人术后在行放疗之前医生需要对瘢痕病人进行简单定位。医生会根据瘢痕疙瘩大小设定照射野参数,之后将填写有照射野大小、照射野能量等信息的放疗申请单交由物理师进行二维计划设计。目前,我科室瘢痕二维计划设计均在商用计划系统Pinnacle 9.2(飞利浦)上设计,该计划系统价格昂贵,由于科室资源紧缺无法随时随地提供Pinnacle 供物理师进行二维计划设计。有时瘢痕病人手术较晚,物理师不能当天对瘢痕病人的二维计划进行处理,这让瘢痕病人错过了最佳治疗时间。根据我科室瘢痕二维计划设计经验,所有二维计划计算均是基于一个大小为50 cm×50 cm×50 cm 的水模体,且瘢痕二维计划设计过程中很多参数都是固定不变的,如处方剂量为2000 cGy/4 次,源皮距SSD 为100 cm,能量为6 Mev 电子线,床角度、机架角度、准直器角度都为0°,处方归一到剂量最大点Dmax。每个瘢痕病人计划设计过程中唯一不同的是限光筒大小以及用电子挡铅形成的射野大小。因此我们可以编写一款程序,将事先通过Pinnacle 商用计划系统计算好的数据录入我们软件中。这样便能在瘢痕病人定位阶段根据照射野大小借助我们编写程序得到机器跳数。等病人定位完后便可以直接进入加速器机房进行治疗。这样极大节省了治疗单送去计划室路上花费的时间同时也避免了物理师计划设计过程中的重复操作。目前在放疗领域,商用的放疗系统常常是封闭系统,对于科研工作的使用多不方便[11],由于商用计划系统价格昂贵,在定位室专门放一台商用计划系统用于瘢痕计划设计也不实际。本文就介绍了一款基于Qt 平台开发专门应用于瘢痕二维放疗计划设计的软件平台。该软件平台解决了瘢痕二维放疗计划设计流程时间过长问题,对于瘢痕病人的即时治疗具有重要的临床意义。

1 资料与方法

1.1 系统要求

该软件平台的开发基于Windows10 64 位操作系统(内存8 G)和Qt creator 4.7.1 集成开发环境,采用C++语言进行开发。

1.2 系统架构

图形用户界面(Graphical User Interface,GUI),又称为图形用户接口,是采用图形方式显示的计算机操作用户界面[12]。目前,人机GUI 界面大多采用微软基础类库(Microsoft Foundation Classes, MFC)制作。但是大量的Windows API 和消息机制使得其较困难理解,而且模板设定了固定结构,不方便进行编程和维护。Qt 最大的不同就在于语法结构简单清晰,面向对象的特征体现比MFC 明显[13]。

Qt 作为跨平台的C++图形用户界面应用程序开发框架,它封装了端到端应用程序开发所需的所有基础结构,为程序员开发多平台应用程序提供了方便[14-16],Qt-Creator是Qt 编程的跨平台开发环境(IDE),作为一款新的轻量级集成开发环境主要包括C++代码编辑器、集成的GUI 外观、图像化调试器等。Qt Creator 极大方便了开发人员利用Qt 这个应用程序框架更加快速、轻易地完成相关开发任务。该文将利用Qt“一处编写,随处编译”的跨平台解决方案[17]实现瘢痕二维计划的快速设计,具体内容将在下文介绍。

2 分模块开发设计

Qt 模块之间相互独立,并为用户提供了良好的封装库[18],使用起来非常方便。为了极大地简化编程工作,减轻维护负担,方便将来扩展,结合瘢痕疙瘩二维计划设计的功能需求,该软件平台采用模块化的编程方式开发(图1)。该软件平台结合二维计划功能需要主要分为4 个模块:① 登录界面模块:对该软件使用者进行身份信息验证,保障病人信息和计划设计的安全性;② 病人数据模块:将病人基本信息登记、存储起来,便于以后查找分析;③ 计划设计模块:根据病人瘢痕大小设置相关参数以便得到最终的机器跳数;④ 计划报告模块:根据计划设计模块所给的相关参数信息计算出达到靶区处方剂量所需要的机器跳数,同时显示射野大小信息,以便再次确认计划的准确性。4 个模块涵盖了二维瘢痕计划设计基本流程,操作过程条理清晰。将来随着软件的功能需求改变和增加,可以扩展出新的模块。

图1 软件平台模块化设计框架

2.1 登录界面模块

登录界面模块的主要功能是帮助操作员可以正确登录到瘢痕二维放疗快速设计软件平台当中。打开软件后系统会自动弹出登录界面,用户输入正确用户名和密码后,即可进入主界面。该模块具有控制用户权限、保护操作安全的作用,用户名或者密码输入错误登录界面会进行提示,如图2 所示。

图2 软件平台登录界面

当用户输入正确的用户名和密码后便能进入软件平台的主界面(图3)。该界面工具栏涉及计划设计流程的主要三要素,即病人数据录入、计划设计、计划报告。信号与槽机制是Qt 的核心机制,用于完成界面操作的响应,是完成任意两个Qt 对象之间的通信机制。信号会在某个特定情况或动作下被触发,槽是等同于接收并处理信号的函数。三个模块之间便是通过信号与槽机制进行切换。为了实现鼠标点击工具栏各个模块能进入响应模块界面,我们需要将信号与槽进行关联。三个模块关联方式如下所示:

connect(Patient_Data,SIGNAL(triggered(bool)),this,SLO T(On_Patient_Data(bool)));

connect(Plan_Design,SIGNAL(triggered(bool)),this,SLO T(On_Plan_Design(bool)));

connect(Plan_Report,SIGNAL(triggered(bool)),this,SLOT(On_Plan_Report(bool)));

图3 软件平台主界面

其中Patient_Data、Plan_Design 和Plan_Report 分别对应工具栏中的病人数据、计划设计、计划报告按键,鼠标点击后会触发triggered 信号,On_Patient_Data(bool)、On_Plan_Design(bool)和On_Plan_Report(bool)为触发相应信号后需要执行的函数。connect 函数的作用就是将发射者对象中的信号与接收者中的槽函数联系起来,从而实现模块之间切换。

2.2 病人数据模块

病人数据模块用于登记病人的基本信息,病人基本信息包括姓名、性别、ID、年龄等。该界面采用Qt 中的表单布局管理器QFormLayout,它是一个方便的布局类,其中的控件以两列的形式被布局在表单中。左列包括标签Qlabel,右列包含输入控件,如QLineEdit、QSpinBox 等。这种布局让界面看上去直观简洁。为了保存病人重要信息,设定前四项为必填项目。同时考虑到医生特殊需求,该模块还提供了信息备注栏以便备注重要信息(图4)。

图4 病人数据模块

2.3 计划设计模块

计划设计模块是该软件平台的核心模块(图5),该模块用于设置二维计划所需要的参数,如射野名称,处方剂量,处方次数,能量等信息。软件平台会根据我们输入的射野大小和选择的限光筒大小信息读取我们事先通过商用计划系统计算好的数据。为了提高二维计划设计速度,可以将该模块一些固定参数预先设置好。

图5 计划设计模块

2.4 计划报告模块

为了便于将来对病人放疗信息进行查看分析。我们在该软件平台设计过程中添加了计划报告模块,如图6 所示。计划报告模块将呈现出瘢痕病人计划设计的基本信息,最重要的是该模块将显示达到所需要的处方剂量需要的机器跳数,如图6 中方框内所示。该模块菜单栏“Print Report”可以对计划设计的结果进行打印便于留底保存。工具栏中的“Show Cone”可以显示出所用的限光筒和射野大小信息。图7 显示的便是采用10×10 的限光筒采用挡铅形成的6×6 的照射野。“Show Cone”功能方便计划设计者再次确认相关射野参数信息。值得说明的是在计划报告模块还会记录二维计划设计者的名字,以及计划设计的时间等信息,这些信息极大方便了将来查看分析。

图6 软件平台制定的一个放疗计划示例

3 软件平台测试

在软件开发过程中测试是极其重要的环节,是软件质量保证的关键,在测试过程中可以发现软件的缺点和不足,及时进行改进和修正从而提高软件的实用性和准确性[19-20]。瘢痕二维放疗软件平台的测试主要为程序可扩展性和计划设计速度两个方面。

3.1 软件可扩展性测试

我们首先测试了该软件平台在不同操作系统的运行情况,结合我科室情况,目前科室电脑主要为Windows 7、Windows 10 两种操作系统。因此我们基于这两种操作系统进行测试。

我们将由Release 版本生成的TPS.exe 执行文件同libgcc_sdw2-1.dll、libstdc++-6.dll、libwinpthread-dll、Qt5Core.dll、Qt5Gui.dll、Qt5Widgets.dll 六个动态衔接库放置于一个文件夹中(大小为21 M)然后拷贝至两种操作系统中。通过测试发现该软件平台均可以在两种操作系统上平稳运行,软件平台各个模块间切换流畅。

3.2 软件启动与计划设计时间测试

我们将自主开发的二维瘢痕计划设计软件平台同科室正在使用的商用计划系统Pinnacle 9.2 (飞利浦)进行比较测试。该软件平台在Windows 7、Windows 10 两种操作系统上启动时间低于3 s、Pinnacle 计划系统启动到计划设计界面需要时间为13 s。分析原因可能是Pinnacle 计划系统存储有大量病人数据,每次启动需要加载信息较多,所以启动时间长于我们开发的软件平台。我们模拟了真实的瘢痕病人计划设计情况,在Pinnacle 商用计划系统进行二维瘢痕计划设计需要的时间为6 min,在我们开发的软件平台计划设计时间为2 min,尽管单个病人计划只节省了4 min,但考虑到我们科室每天瘢痕病人可能超过十个,因此我们开发的软件平台更能提高工作效率。值得说明的是Pinnacle商用计划系统由于价格昂贵,资源紧缺,目前科室并不能保证在每个地方都配置Pinnacle 计划系统供使用,如定位室。定位室距离计划设计室大约有15 min 路程,由于我们开发的瘢痕二维放疗软件平台具有很好的移植性,该软件平台可以直接放置在定位室的电脑上运行,这将进一步节省时间。

4 结论

尽管瘢痕二维计划设计简单,但物理师却要为每个瘢痕病人做很多重复工作,这种工作模式效率低下。本文基于Qt 开发的二维瘢痕快速放疗计划设计软件平台实现了瘢痕疙瘩二维计划设计从病人基本信息的录入,计划设计,计划打印到计划保存的基本功能,该软件平台开发的交互式界面易于操作、可视化程度高。通过测试该软件平台可以在Windows 系统上平稳运行。值得一提的是该软件平台还可以通过修改数据库用于其他直线加速器。不过该软件平台目前还只能应用于瘢痕疙瘩的二维电子线放疗计划设计。将来希望通过功能的完善能够让该平台应用于各种二维计划设计,如光子线的二维计划设计。鉴于该软件平台具有良好的可扩展性,未来很容易通过修改完善该平台的功能。总之,该软件平台实现了功能可扩展和人机交互友好的界面功能,对于实现瘢痕病人的即时放疗,增强瘢痕病人的就医满意度具有重要临床意义。

猜你喜欢
疙瘩瘢痕科室
消毒供应中心与临床科室建立有效沟通的实践与探讨
手指瘢痕挛缩治疗的再认识
科室层级护理质量控制网的实施与探讨
木疙瘩山上的岩
手术联合CO2点阵激光、硅胶瘢痕贴治疗增生性瘢痕的疗效观察
当子宫瘢痕遇上妊娠
小红薯成为金疙瘩
爱紧张的猫大夫
安安琪琪的故事㉑咦?为什么我没有红疙瘩?
新医改形势下的科室文化建设