基于Eclipse RCP技术的0.5T磁共振成像仪控制和数据处理软件系统开发
2015-06-01陈东山陈志伟
陈东山,陈志伟
厦门大学 电子科学系 福建省等离子体与磁共振研究重点实验室,福建 厦门 361005
基于Eclipse RCP技术的0.5T磁共振成像仪控制和数据处理软件系统开发
陈东山,陈志伟
厦门大学 电子科学系 福建省等离子体与磁共振研究重点实验室,福建 厦门 361005
磁共振成像仪是临床医学最重要的诊断工具之一。本文介绍了基于Eclipse RCP技术开发的、可用于我国自主研制的0.5T磁共振成像仪的控制和数据处理的软件系统的研制过程。该系统采用Java语言编写,实现了对磁共振成像仪的控制,支持图形界面的脉冲序列设计,并提供了基本的DICOM图像处理功能,具有良好的用户体验和极强的可扩展性。
MRI;Eclipse RCP;DICOM;图像处理;脉冲序列设计
0 前言
1 Eclipse RCP技术简介
磁共振成像(Magnetic Resonance Imaging,MRI)技术是临床医学最重要的诊断工具之一。除此之外,它还在物理、化学、生物等多个学科显示出了广阔的应用前景[1]。近几年来,我国的磁共振设备进口量有所下降,然而在低场磁共振成像仪的市场上,国产产品大多数还是依靠国外技术,存在成像时间较长、图像质量较差等问题,与国外同类产品具有一定差距[2]。在软件方面,国产产品也普遍存在界面不友好、用户体验差、可扩展性差等问题。
Eclipse RCP技术作为Java桌面应用程序开发的优秀代表,近年来越来越受到业界的青睐。本研究承担了中科院装备研制项目“0.5T磁共振关节成像仪的研制”的部分工作,负责开发与成像仪配套的控制和图像处理软件系统。
基于开放服务网关规范(Open Services Gateway Initiative,OSGi)构建的Eclipse RCP技术近年来得到了十分广泛的应用。其插件体系内置更新机制与标准化组件模型,可扩展性强,使得通过Java开发桌面程序变得高效快捷。
1.1 Eclipse插件体系结构
Eclipse插件是为系统提供功能的代码或数据的结构化包,可以以代码库(带有公共应用程序接口的Java类)、平台扩展甚至文档的形式来提供功能[2]。Eclipse平台自身就是基于插件体系的。每一个插件都可以使用其他插件提供的服务,也能够为其他插件提供服务。
在Eclipse中是以插件的方式来添加需要的功能,需要尽量减少插件之间的依赖关系,Eclipse平台提供了扩展点机制来实现这个目标。当开发者需要扩展当前插件的功能时,并不需要了解当前插件的内部实现方式,只需按照扩展点声明的约定进行一些简单的配置即可实现功能上的扩展,通过扩展点将功能的定义与具体实现分离开来,在设计上变得更加的松耦合。
1.2 OSGi技术介绍
OSGi即开放服务网关协议,是基于Java的服务平台规范。其本质是将Java面向对象的开发转化为面向组件和服务的开发,OSGi技术允许应用程序提供更小的、可重复使用的和可协作的组件进行构建[3-4]。这些组件能够组装到应用程序中,并动态地进行安装、激活、取消激活、更新和卸载。
Eclipse实现了一个OSGi开源框架,即Equinox[4]。Equinox利用OSGi框架提供的对应用动态扩展的支持[5],实现了通过插件的添加来进行动态扩展,通过插件的删除来移除不需要的功能,以及通过更新插件来动态改变已有的部分功能。
由于采用OSGi框架,Eclipse平台在启动时,并不加载所有的插件,而仅启动主程序,采用惰性加载的策略,仅保存安装到平台中的插件的引用信息,以实现按需有效的加载[5]。
2 软件设计
2.1 软件需求分析
软件系统需实现如下功能:控制成像仪进行采集图像的操作;提供成像仪当前的状态信息;自定义脉冲序列并将设计结果保存下来;对采集到的数据进行处理并显示;提供用户操作权限的认证和管理,确保系统的安全运行;按各模块要求完成插件化,实现即插即用的功能,并具有良好的可扩展性。
2.2 软件设计方案
根据跨平台、可扩展性、安全性、易用性、插件化的设计原则,软件采用Eclipse RCP技术来开发,使用H2数据库来存储相关的信息。H2是一个用Java开发的嵌入式数据库,可随应用程序一起打包发布,应用非常方便。
在开发RCP应用系统时,可以将一组业务功能相关的视图放置在同一个透视图下,透视图定义了工作台中一组视图和编辑区的初始布局,是为了完成一个特定的任务而组合在一起的多个视图和编辑区[6]。根据这个思想,将整个软件分为脉冲序列设计、仪器控制和数据处理3个透视图,分别对应脉冲序列设计模块、仪器模块和数据处理与显示模块。整个软件系统的组成框图,见图1。其中,基本应用模块是整个软件系统的主程序,负责系统内模块的交互及系统外其他模块之间的交互。其他几个模块采用插件的形式,做到真正的即插即用、即拔即移。
基本应用模块提供整个软件系统的基本框架,是整个软件的主程序入口。仪器的当前状态信息在应用程序下方的状态栏中显示,显示的信息包括当前登录账号名称、当前磁体温度、软件是否与成像仪已建立连接、当前成像仪是否可用等。用户管理模块负责用户权限的认证和管理,从该模块输入的登录信息需发送给基本应用模块。仪器模块负责控制成像仪进行图像采集操作,并将采集到的图像数据发送给基本应用模块,由数据处理与显示模块进行数据处理。脉冲序列设计模块负责完成脉冲序列设计,并将结果以XML格式保存下来,供仪器模块调用。数据处理与显示模块负责对DICOM图像进行显示,对图像进行亮暗对比度调节、平移变换、放大缩小、旋转、镜像等操作[7],还可将图像以DICOM、JPEG、PNG、BMP、GIF等格式保存。
图1 软件系统整体组成框图
(1)仪器模块。仪器模块的工作流程是:读取设计好的脉冲序列文件并解析出对应的节点信息,转换成需要发送的时序模板;提供面板供用户配置时序参数,在用户选择好参数之后,按照一定规则将时序模板发送给仪器;接收仪器采集到的原始数据,使用相应的图像重建算法将数据转换成标准的DICOM图像,并将其发送给数据处理与显示模块。
(2)脉冲序列设计模块。所有的MRI实验都是通过一系列的指令来完成的,这些指令就叫做脉冲序列。脉冲序列有着十分重要的作用,它控制着脉冲发射的时刻、持续时间、脉冲的频率、相邻脉冲的时间间隔等重要信息。脉冲序列设计的好坏直接影响着实验结果,脉冲序列模块应具有界面简洁、可提供图形化的编辑功能、操作简单、对用户友好等特点。
脉冲序列设计模块需要实现图形化的编辑,故采用图形化的模型框架(Graphical Modeling Framework,GMF)技术来实现。GMF是一个Eclipse建模项目的子项目,它结合了Eclipse建模框架和图形编辑框架,为基于模型的可视化图形化编辑器的开发提供了一个功能强大的框架[8]。
(3)数据处理与显示模块。成像仪采集到的图像以标准DICOM格式保存,DICOM是美国放射学会和美国电器制造商协会组织制定的用于医学图像存储与通信的国际标准[9]。
数据处理与显示模块负责处理从成像仪采集到或从别处导入的DICOM图像,并提供图像显示的功能;同时为了方便用户查看图像,还提供了放大缩小、亮暗对比度调节、平移变换、旋转、镜像等基本图像后处理功能;另外,该模块采用开源工具包dcm4che来实现对DICOM数据的读取[10],采用Draw2D技术来绘制图像。
(4)用户管理模块。用户管理模块负责为软件系统提供一个良好的用户权限认证和管理机制。该模块主要由用户登录、用户管理和退出登录3部分组成。用户登录部分提供登录对话框供用户输入账户信息,查询数据库获得用户对应的权限等级,将信息发送给基本应用模块进行动态加载用户对应权限的功能等;用户管理部分提供管理软件系统的功能,包括添加用户、修改密码以及删除用户等;退出登录部分供用户退出登录。
3 软件测试
3.1 采样操作
在自主研制的0.5T成像仪上进行图像采集实验,采样界面图,见图2。实验模型是水模,采样面是横断面。
图2 采样界面图
3.2 脉冲序列设计
设计的脉冲序列的图形化界面图,见图3。软件提供了脉冲序列编辑面板、脉冲元素面板、元素属性视图3部分,用户可据此来设计所需的脉冲序列。此外,系统中有一些常用的脉冲序列文件,用户可以选择其中的任一文件来直接读取数据进行实验;也可以在此序列的基础上,对原有序列进行修改,以设计出各种想要的脉冲序列。
图3 脉冲序列的图形化界面图
3.3 数据显示与处理
软件能够导入标准的DICOM图像,读取并显示其中的病人信息,可以对DICOM图像进行亮暗对比度调节、平移变换、缩放、旋转、镜像等操作。支持将图像以DICOM、JPEG、PNG、BMP、GIF格式保存。DICOM图像处理界面图,见图4。
图4 DICOM图像处理界面图
4 结论
磁共振成像仪中,与其配套的软件是很重要的部分,软件对用户不够友好或界面不美观,会极大地影响整体产品的效果。本研究基于Eclipse RCP技术开发了与0.5T磁共振成像仪配套的控制和数据处理软件系统。测试验证结果表明,该系统工作稳定,达到了预期的控制仪器进行图像采集操作的目的。此外,该系统还针对不同用户建立了相应的权限控制,确保软件的安全性;具备较强大的数据处理功能,能够对标准DICOM图像数据进行读写与存储操作,并能正确地读取与显示DICOM图像;便于维护,具有良好的可扩展性,有待进一步开发并向临床推广。
[1]曲音.核磁共振行业发展简析[J].中国医疗器械信息,2014,(1):36-39.
[2]谷钰,杨艳斌,王泽生.Eclipse插件体系结构的研究[J].电脑知识与技术,2009,5(31):8706-8708.
[3]王晓鹏,王纯.基于OSGi和RCP的融合通信客户端的设计与实现[J].电信科学,2010,26(8):35-41.
[4]McAffer J,VanderLei P,Archer S.OSGi与Equinox:创建高度模块化的Java系统[M].北京:人民邮电出版社,2014.
[5]赵军.基于OSGi的轻量级动态化系统研究[J].现代计算机(专业版),2009,(12):115-119.
[6]陆阳.Eclipse RCP与Spring OSGi技术详解与最佳实践[M].北京:机械工业出版社,2012.
[7]朱启标,陈素华,黑亚莉.基于Delphi的DICOM图像显示系统的设计与实现[J].中国医疗设备,2012,27(7):33-35.
[8]贺建军,雷金辉.一种基于GMF技术的工作流图编辑器[J].计算机时代,2008,(12):1-2.
[9]方勇,刘向峰,罗玉文.基于DICOM3.0标准构建放射治疗数字系统[J].中国医疗设备,2011,26(7):51-52.
[10]范宏伟.医学影像DICOM格式测试方法探讨[J].健康必读(中旬刊),2013,12(3):112.
Development of a 0.5T MRI Scanner Control and Data Processing Software Based on Eclipse RCP
CHEN Dong-shan, CHEN Zhi-wei
Department of Electronic Science, Fujian Key Laboratory of Plasma and Magnetic Resonance, Xiamen University, Xiamen Fujian 361005, China
MRI(Magnetic Resonance Imaging)technology is currently one of the most important tool for clinical diagnosis.In this paper, a 0.5T MRI scanner control and data processing software was developed based on Eclipse RCP.Written in Java, the software provides a good user experience and has strong expandability.It implements the control of the MRI instruments, supports the design of pulse sequence based on GUI and also provides powerful data processing functions.
magnetic resonance imaging;eclipse RCP;DICOM;imaging processing;pulse sequence design
R445;TP391.7
A
10.3969/j.issn.1674-1633.2015.07.010
1674-1633(2015)07-0030-03
2015-04-01
国家自然科学基金项目资助(81101037)。
陈志伟,副教授。
通讯作者邮箱:chenzhiwei@xmu.edu.cn