基于Eclipse插件体系的磁共振成像仪控制软件的开发

封多芬,李淇越,陈志伟

厦门大学 电子科学系 福建省等离子体与核磁共振研究重点实验室,福建厦门 361005

[摘 要]为了提升磁共振成像仪控制软件系统的国产化水平,本文介绍了控制软件系统的开发过程,并且展示了软件系统与0.5T磁共振成像仪相连获取的实验结果。系统基于Eclipse插件体系,采用Java语言编写,分为仪器控制、实验和通用3大模块,负责通信、设备、配置和实验等功能,具有插件化、多适配、跨平台等特点,已能够适配3种国产磁共振成像仪。

[关键词]磁共振成像;仪器控制软件;软件开发;Eclipse插件体系

0 引言

磁共振成像(Magnetic Resonance Imaging,MRI)是现代临床诊断中较为先进的医学影像技术之一。与传统诊断方法相比,磁共振成像具有无损伤、软组织对比度高、可任意方向断层成像等特点[1]。国外MRI技术起点早、发展快、系统功能完善、性能可靠,但售价昂贵、维护成本较高,国内市场长期依赖进口。近年来,国内企业的MRI技术虽有长足进步,但与国外相比仍有一定差距。随着中国经济的快速发展,国内市场对MRI控制软件的需求正在快速增长[2]

Eclipse作为当今最流行的集成开发环境和软件平台,其插件体系结构正是Eclipse平台实现的核心,几乎所有的功能都是以插件形式提供的,而这种插件技术也慢慢受到业界的关注和青睐[3]

为了提升MRI系统国产化水平,本文基于“0.5T磁共振关节成像仪的研制”项目,实现了一套具有插件化、多适配、跨平台等特点的MRI控制软件系统,现已能够适配3种国产磁共振成像仪,报道如下。

1 软件需求分析

MRI系统的组成,见图1,主要包括软件系统、主控制台、发射模块、接收模块、梯度模块、匀场模块和主磁体等。

图1 MRI系统框图

MRI系统工作流程:首先建立软件系统与硬件系统间的通信,配置各设备仪器参数,然后根据实验要求配置实验参数,将脉冲序列发送到主控制台,主控制台根据脉冲序列各通道的时序控制发射模块、梯度模块与接收模块,同时主控制台将接收模块中采集的数据传给软件系统,软件系统接收、预处理原始数据并按照此脉冲序列对应方式填充数据矩阵,当实验结束后,软件系统将数据矩阵以图像形式显示出来。

基于以上原理,需求情况如下:① 软硬件系统的通信;② 各硬件设备的参数配置和状态监测;③ 实验参数配置,脉冲序列发送和实验控制;④ 数据预处理,K空间矩阵填充和图像显示等。此外,不同的MRI系统,发射机和接收机数目、通信协议以及硬件系统的设备组成情况均可能不同,所以还需满足功能插件化,实现即插即用的功能,具有良好的扩展性。

2 软件设计

以插件化作为软件设计的核心思想,本系统采用Eclipse插件技术开发。其扩展点机制减少了插件之间的依赖关系,将功能的定义与具体实现分离开来,在设计上变得更加的松耦合,达到系统模块化、插件化[4]。其懒加载机制(只有在真正用到插件时才加载相应代码)减少了操作所需的时间和内存,大大改善了程序性能[5]。插件既可以实现其他插件定义的扩展点来增加已有插件的功能,也可以定义自己的扩展点供其他插件扩展,每个插件均可单独添加、替换或卸载以改变程序的功能[6]

基于软件需求将系统划分为3大基础插件:仪器插件、实验插件和通用插件。软件系统框架,见图2。

图2 软件系统框架图

配置管理预先配置通信参数、仪器参数等;配置完成后,通信管理与下位机建立连接,与此同时,启动设备管理监控下位机各设备状态;之后,实验管理设置实验参数,发送脉冲序列并采集数据,通过通信管理与下位机交换数据,将得到的数据返回到数据管理;数据管理将数据预处理,根据用户需求,送至显示管理显示或储存,此为仪器控制机制。另外,设备管理会实时监控下位机各硬件设备状态,保证实验安全和数据正常,如果状态异常,将会通知实验管理停止实验,减少实验伤害和数据出错。

得益于以上框架,系统有诸多特点:① 插件化。普通的软件在编译发布之后,就不允许更改或扩充,如果要扩充某个功能,就必须修改代码重新编译发布,而Eclipse插件技术可很好地解决此问题,利用扩展点机制实现相应功能插件并安装即可,不需要涉及原有代码,延伸软件生命周期,而且容易维护;② 多适配。将核心接口与具体实现分开,各个硬件系统互不影响,但是核心接口共享,不仅提高代码复用率,而且实现起来更加灵活;③ 跨平台。由于软件采用Java语言编写,根据Java平台无关的优势,软件只需一次开发,就能够在多个平台运行,避免因为平台的原因限制软件系统的发展[7]。下面就根据软件系统框架图深入说明各大功能插件的设计与实现。

2.1 仪器插件

仪器插件为设备插件的基础插件,所有设备插件均需依赖此插件来获取通信管理、设备管理和配置管理的相关接口和扩展点,只有实现相关接口,才具有相应的功能。根据多机适配的需求,目前已实现的扩展插件包括控制台、接收机、发射机、梯度、匀场、温控和调谐设备。需注意的是,不同设备所需实现的接口与扩展点不一致。

2.1.1 通信管理

根据下位机制定的通信协议,为适配下位机各种可能的通讯协议,仪器插件抽象出一套适用于MRI仪器控制的通信管理接口,设备插件根据自身需求选择是否实现此功能。以接收机设备为例,如果MRI系统中接收机是与软件系统直接交换数据,则需实现相应接口;如果接收机是与主控制台交换数据,则不需要实现此功能。

上位机软件系统与下位机硬件系统通信原理,见图3。软件系统与硬件系统都具有网络通信客户端和服务端,分别发送与接收数据,它们之间的数据交互依据通信协议采用TCP/IP技术实现[8]

图3 软硬件系统通信框架图

较完整的通信协议组成,见图4。底层为通信的流程与数据包的结构,上层分为十大命令,每个命令下又有各自的子命令集,各个命令按照数据包结构组合成目标命令包,依据通信流程发送给对方,在通信过程中,算法校验加密。

2.1.2 设备管理

设备管理主要完成下位机各设备状态的监控与显示,包括网络连接状态与设备运行状态。网络连接状态监控是利用心跳包的机制[9],有规律地发送心跳包给下位机各设备,如果失败,则将此设备标记为失联且不可用状态;设备运行状态监控依据既定的通信协议,如果下位机状态异常,改变特殊状态字信息,软件系统监控到状态字改变,将此设备标记为已连接但不可用状态。

根据用户需求,可以调出设备管理页面实时查看下位机所有设备状态,精准定位下位机故障点。视图窗口的实现,依据Eclipse扩展点机制,扩展Eclipse已存在的扩展点org.eclipse.ui.views即可。

图4 通信协议组成框图

2.1.3 配置管理

配置管理主要完成通信参数、仪器参数以及部分图像参数的配置。通信参数为下位机各设备的地址、端口和超时等参数,由通信协议规定;仪器参数为下位机各设备的配置参数与版本信息;图像参数为用户信息与设备安装信息等,用于生成到DICOM必需字段。

以发射机设备为例,有的MRI系统存在多个发射机设备,所以可能需配置多个发射机接口。发射机参数一般情况下需要配置发射频率、功率等,因为这些参数并不经常变动,为了优化实验操作,提升用户体验,所以通过偏好页面的形式展现。如果发射机设备存在与软件系统直接交互数据,则还需配置通信参数。其他设备类似于此,按照自身需求实现接口和扩展。

配置管理功能的实现,利用Eclipse已存在的扩展点,页面视图基于org.eclipse.ui.preferencePages,页面视图的参数初始化基于org.eclipse.core.runtime.preferences即可,十分快捷高效。

2.2 实验插件

实验插件为软件系统的核心,负责实验管理,主要完成实验参数设置、脉冲序列发送和实验控制等工作。

因为实验的最终目的是为了得到DICOM图像,而不仅仅是浮点型图像数据,所以必须管理除图像数据外更多的DICOM字段信息,根据DICOM的数据模型[10],将实验管理由上至下分为以下几个控制部分:① 被试管理器,负责实验被试者的添加、删除、编辑以及被试者的信息管理;② 检查管理器,负责实验队列的管理,包括前后移动、克隆、清除等操作,实验的开始、停止等功能;③ 扫描序列管理器,负责脉冲序列添加、编辑、删除等操作,参数配置与管理;④ 扫描管理器,负责采样管理,包括具体的采样逻辑与状态反馈。

具体的实验控制流程,见图5。首先配置合法的通信参数与仪器参数,也可使用默认配置,之后添加实验被试者信息与实验队列信息,依据实验要求选择所需脉冲序列开始实验。在采样过程中,发送脉冲序列与接收数据相互独立,待数据采集完毕,自动停止当前采样并将数据送入通用插件处理和显示,即为一次采样实验。

图5 实验控制流程

2.3 通用插件

通用插件主要为其他插件提供数据处理与图像显示接口,负责数据管理与显示管理。通用插件的组成,见图6。其中,数据模型基于DICOM图像标准,由上至下分别为被试、检查、系列、DICOM对象、像素数据,各部分包含对应的参数子集,由实验插件提供,其中图像数据位于像素数据中。

关于图像数据,不同的成像仪对原始数据的预处理略有差异,但多数都包括数据点数对齐、傅里叶变换、相位变换等操作,然后根据脉冲序列对应的规则填充K空间矩阵。

关于数据存储,根据用户需求,可选择二进制和文本形式的数据格式保存,用于用户后续MATLAB等软件高级处理。

关于数据显示,普通用户模式下,为标准的二维DICOM图像显示,包括定位照显示和快照显示;工程师模式下,可以一维实时曲线显示,包括回波和谱图显示,主要用于工程师对脉冲序列高级参数调节,提高调试效率。

图6 通用插件组成框图

3 软件测试

目前,此软件系统已成功适配3种国产成像仪,分别为厦门大学自制的0.5T四通道成像仪、上海寰彤科教设备有限公司生产的0.5T和1.2T单通道成像仪。这3种成像仪均自带通信协议,通信方式大致相同,但是具体的通信命令、数据包结构、加密算法和通信流程均不相同。除主控台、发射机、接收机和梯度等主要设备外,前者具有调谐和温控模块但不具有匀场模块,后两者具有匀场和温控模块但不具有调谐模块;前者为4个发射机和4个接收机,后两者为单个发射机和单个接收机。虽然三者在硬件系统组成上区别很大,但此软件均能与通信协议和系统组成不同的成像仪进行通信、参数配置、实验控制、数据采集、图像显示等一系列操作。

本研究在厦门大学自制的0.5T四通道成像仪上进行了图像采集实验,实验模型为3D打印的镂空水模。首先在配置管理中选择当前成像仪,配置IP地址与端口信息并建立通信,其次检查成像仪各设备网络状态和运行状态,最后开始实验操作,选择自旋回波脉冲序列,设置重复时间200 ms,图像大小为512×512像素,采样面为横断面。采样结果,见图7。实验结果表明软件系统可成功控制成像仪,并完成了图像采集的任务。

图7 采样界面图

4 结论

MRI产品中,软件系统是产品好坏的最直接表现,也是用户体验产品的媒介。本研究基于Eclipse插件体系开发了一套具有插件化、多适配和跨平台等特点的MRI控制软件系统,测试结果表明该系统工作稳定,达到了预期的仪器控制采集图像的目的。

[参考文献]

[1] 谢海滨,李建奇,杨光,等.基于NMR谱仪的医学MRI软件系统[J].波谱学杂志,2007,24(4):454-461.

[2] 曲音.核磁共振行业发展简析[J].中国医疗器械信息,2014, (1):36-39.

[3] 陈东山,陈志伟.基于Eclipse RCP技术的0.5T磁共振成像仪控制和数据处理软件系统开发[J].中国医疗设备,2015,30(7):30-32.

[4] Vogel L,Milinkovich M.Eclipse Rich Client Platform[M].3rd ed.Hamburg:Lars Vogel,2015.

[5] McAffer J,Lemieux JM,Aniszczyk C.Eclipse Rich Client Platform[M].Boston:Addison-Wesley Professional,2010.

[6] Blewitt A.Mastering Eclipse Plug-in Development[M]. Birmingham:Packt Publishing Ltd,2014.

[7] 董正言.Java跨平台特性的实现原理[J].科技资讯,2014,12 (18):20-21.

[8] Calvert K L,Donahoo MJ.Java TCP/IP Socket编程[M].第2版.北京:机械工业出版社,2009.

[9] 鄢锋,桂卫华,胡志坤,等.一种网络节点通信控制的心跳模型[J].信息与控制,2008,37(5):524-528.

[10] Pianykh,Oleg S.Digital imaging and communications in medicine (DICOM):A practical introduction and survival guide[M]. Berlin:Springer Science & Business Media,2009.

Development of an MRI Instrument Control Software Based on Eclipse Plug-in Architecture

FENG Duo-fen, LI Qi-yue, CHEN Zhi-wei
Department of Electronic Science, Fujian Key Laboratory of Plasma and Magnetic Resonance, Xiamen University, Xiamen Fujian 361005, China

Abstract:An MRI (Magnetic Resonance Imaging) instrument control software system was introduced in this paper, which was intended to improve the domestic manufacturing level of the system. It also displayed the experimental results obtained through connection of the system with 0.5T MRI instrument. The system was based on Eclipse plug-in architecture and written in Java, and mainly included three modules: the instrument control, experiment and general plug-ins, which were used for multiple functions such as the communication, devices, configuration and experiment. The system was featured with modularity, multiple adaptation and cross-platform and had been adapted for three types of domestic MRI systems.

Key words:magnetic resonance imaging; instrument control software; software development; Eclipse plug-in

[中图分类号]R445.2;TP311.5

[文献标志码]A

doi:10.3969/j.issn.1674-1633.2016.08.007

[文章编号]1674-1633(2016)08-0030-04

收稿日期:2016-03-11

修回日期:2016-03-24

基金项目:国家自然科学基金项目(81101037)。

通讯作者:陈志伟,副教授,主要研究方向为核磁共振波谱学和磁共振成像。