封多芬,李淇越,陳志偉
廈門大學 電子科學系 福建省等離子體與核磁共振研究重點實驗室,福建廈門 361005
基于Eclipse插件體系的磁共振成像儀控制軟件的開發(fā)
封多芬,李淇越,陳志偉
廈門大學 電子科學系 福建省等離子體與核磁共振研究重點實驗室,福建廈門 361005
為了提升磁共振成像儀控制軟件系統(tǒng)的國產(chǎn)化水平,本文介紹了控制軟件系統(tǒng)的開發(fā)過程,并且展示了軟件系統(tǒng)與0.5T磁共振成像儀相連獲取的實驗結(jié)果。系統(tǒng)基于Eclipse插件體系,采用Java語言編寫,分為儀器控制、實驗和通用3大模塊,負責通信、設(shè)備、配置和實驗等功能,具有插件化、多適配、跨平臺等特點,已能夠適配3種國產(chǎn)磁共振成像儀。
磁共振成像;儀器控制軟件;軟件開發(fā);Eclipse插件體系
磁共振成像(Magnetic Resonance Imaging,MRI)是現(xiàn)代臨床診斷中較為先進的醫(yī)學影像技術(shù)之一。與傳統(tǒng)診斷方法相比,磁共振成像具有無損傷、軟組織對比度高、可任意方向斷層成像等特點[1]。國外MRI技術(shù)起點早、發(fā)展快、系統(tǒng)功能完善、性能可靠,但售價昂貴、維護成本較高,國內(nèi)市場長期依賴進口。近年來,國內(nèi)企業(yè)的MRI技術(shù)雖有長足進步,但與國外相比仍有一定差距。隨著中國經(jīng)濟的快速發(fā)展,國內(nèi)市場對MRI控制軟件的需求正在快速增長[2]。
Eclipse作為當今最流行的集成開發(fā)環(huán)境和軟件平臺,其插件體系結(jié)構(gòu)正是Eclipse平臺實現(xiàn)的核心,幾乎所有的功能都是以插件形式提供的,而這種插件技術(shù)也慢慢受到業(yè)界的關(guān)注和青睞[3]。
為了提升MRI系統(tǒng)國產(chǎn)化水平,本文基于“0.5T磁共振關(guān)節(jié)成像儀的研制”項目,實現(xiàn)了一套具有插件化、多適配、跨平臺等特點的MRI控制軟件系統(tǒng),現(xiàn)已能夠適配3種國產(chǎn)磁共振成像儀,報道如下。
MRI系統(tǒng)的組成,見圖1,主要包括軟件系統(tǒng)、主控制臺、發(fā)射模塊、接收模塊、梯度模塊、勻場模塊和主磁體等。
圖1 MRI系統(tǒng)框圖
MRI系統(tǒng)工作流程:首先建立軟件系統(tǒng)與硬件系統(tǒng)間的通信,配置各設(shè)備儀器參數(shù),然后根據(jù)實驗要求配置實驗參數(shù),將脈沖序列發(fā)送到主控制臺,主控制臺根據(jù)脈沖序列各通道的時序控制發(fā)射模塊、梯度模塊與接收模塊,同時主控制臺將接收模塊中采集的數(shù)據(jù)傳給軟件系統(tǒng),軟件系統(tǒng)接收、預處理原始數(shù)據(jù)并按照此脈沖序列對應(yīng)方式填充數(shù)據(jù)矩陣,當實驗結(jié)束后,軟件系統(tǒng)將數(shù)據(jù)矩陣以圖像形式顯示出來。
基于以上原理,需求情況如下:① 軟硬件系統(tǒng)的通信;② 各硬件設(shè)備的參數(shù)配置和狀態(tài)監(jiān)測;③ 實驗參數(shù)配置,脈沖序列發(fā)送和實驗控制;④ 數(shù)據(jù)預處理,K空間矩陣填充和圖像顯示等。此外,不同的MRI系統(tǒng),發(fā)射機和接收機數(shù)目、通信協(xié)議以及硬件系統(tǒng)的設(shè)備組成情況均可能不同,所以還需滿足功能插件化,實現(xiàn)即插即用的功能,具有良好的擴展性。
以插件化作為軟件設(shè)計的核心思想,本系統(tǒng)采用Eclipse插件技術(shù)開發(fā)。其擴展點機制減少了插件之間的依賴關(guān)系,將功能的定義與具體實現(xiàn)分離開來,在設(shè)計上變得更加的松耦合,達到系統(tǒng)模塊化、插件化[4]。其懶加載機制(只有在真正用到插件時才加載相應(yīng)代碼)減少了操作所需的時間和內(nèi)存,大大改善了程序性能[5]。插件既可以實現(xiàn)其他插件定義的擴展點來增加已有插件的功能,也可以定義自己的擴展點供其他插件擴展,每個插件均可單獨添加、替換或卸載以改變程序的功能[6]。
基于軟件需求將系統(tǒng)劃分為3大基礎(chǔ)插件:儀器插件、實驗插件和通用插件。軟件系統(tǒng)框架,見圖2。
圖2 軟件系統(tǒng)框架圖
配置管理預先配置通信參數(shù)、儀器參數(shù)等;配置完成后,通信管理與下位機建立連接,與此同時,啟動設(shè)備管理監(jiān)控下位機各設(shè)備狀態(tài);之后,實驗管理設(shè)置實驗參數(shù),發(fā)送脈沖序列并采集數(shù)據(jù),通過通信管理與下位機交換數(shù)據(jù),將得到的數(shù)據(jù)返回到數(shù)據(jù)管理;數(shù)據(jù)管理將數(shù)據(jù)預處理,根據(jù)用戶需求,送至顯示管理顯示或儲存,此為儀器控制機制。另外,設(shè)備管理會實時監(jiān)控下位機各硬件設(shè)備狀態(tài),保證實驗安全和數(shù)據(jù)正常,如果狀態(tài)異常,將會通知實驗管理停止實驗,減少實驗傷害和數(shù)據(jù)出錯。
得益于以上框架,系統(tǒng)有諸多特點:① 插件化。普通的軟件在編譯發(fā)布之后,就不允許更改或擴充,如果要擴充某個功能,就必須修改代碼重新編譯發(fā)布,而Eclipse插件技術(shù)可很好地解決此問題,利用擴展點機制實現(xiàn)相應(yīng)功能插件并安裝即可,不需要涉及原有代碼,延伸軟件生命周期,而且容易維護;② 多適配。將核心接口與具體實現(xiàn)分開,各個硬件系統(tǒng)互不影響,但是核心接口共享,不僅提高代碼復用率,而且實現(xiàn)起來更加靈活;③ 跨平臺。由于軟件采用Java語言編寫,根據(jù)Java平臺無關(guān)的優(yōu)勢,軟件只需一次開發(fā),就能夠在多個平臺運行,避免因為平臺的原因限制軟件系統(tǒng)的發(fā)展[7]。下面就根據(jù)軟件系統(tǒng)框架圖深入說明各大功能插件的設(shè)計與實現(xiàn)。
2.1 儀器插件
儀器插件為設(shè)備插件的基礎(chǔ)插件,所有設(shè)備插件均需依賴此插件來獲取通信管理、設(shè)備管理和配置管理的相關(guān)接口和擴展點,只有實現(xiàn)相關(guān)接口,才具有相應(yīng)的功能。根據(jù)多機適配的需求,目前已實現(xiàn)的擴展插件包括控制臺、接收機、發(fā)射機、梯度、勻場、溫控和調(diào)諧設(shè)備。需注意的是,不同設(shè)備所需實現(xiàn)的接口與擴展點不一致。
2.1.1 通信管理
根據(jù)下位機制定的通信協(xié)議,為適配下位機各種可能的通訊協(xié)議,儀器插件抽象出一套適用于MRI儀器控制的通信管理接口,設(shè)備插件根據(jù)自身需求選擇是否實現(xiàn)此功能。以接收機設(shè)備為例,如果MRI系統(tǒng)中接收機是與軟件系統(tǒng)直接交換數(shù)據(jù),則需實現(xiàn)相應(yīng)接口;如果接收機是與主控制臺交換數(shù)據(jù),則不需要實現(xiàn)此功能。
上位機軟件系統(tǒng)與下位機硬件系統(tǒng)通信原理,見圖3。軟件系統(tǒng)與硬件系統(tǒng)都具有網(wǎng)絡(luò)通信客戶端和服務(wù)端,分別發(fā)送與接收數(shù)據(jù),它們之間的數(shù)據(jù)交互依據(jù)通信協(xié)議采用TCP/IP技術(shù)實現(xiàn)[8]。
圖3 軟硬件系統(tǒng)通信框架圖
較完整的通信協(xié)議組成,見圖4。底層為通信的流程與數(shù)據(jù)包的結(jié)構(gòu),上層分為十大命令,每個命令下又有各自的子命令集,各個命令按照數(shù)據(jù)包結(jié)構(gòu)組合成目標命令包,依據(jù)通信流程發(fā)送給對方,在通信過程中,算法校驗加密。
2.1.2 設(shè)備管理
設(shè)備管理主要完成下位機各設(shè)備狀態(tài)的監(jiān)控與顯示,包括網(wǎng)絡(luò)連接狀態(tài)與設(shè)備運行狀態(tài)。網(wǎng)絡(luò)連接狀態(tài)監(jiān)控是利用心跳包的機制[9],有規(guī)律地發(fā)送心跳包給下位機各設(shè)備,如果失敗,則將此設(shè)備標記為失聯(lián)且不可用狀態(tài);設(shè)備運行狀態(tài)監(jiān)控依據(jù)既定的通信協(xié)議,如果下位機狀態(tài)異常,改變特殊狀態(tài)字信息,軟件系統(tǒng)監(jiān)控到狀態(tài)字改變,將此設(shè)備標記為已連接但不可用狀態(tài)。
根據(jù)用戶需求,可以調(diào)出設(shè)備管理頁面實時查看下位機所有設(shè)備狀態(tài),精準定位下位機故障點。視圖窗口的實現(xiàn),依據(jù)Eclipse擴展點機制,擴展Eclipse已存在的擴展點org.eclipse.ui.views即可。
圖4 通信協(xié)議組成框圖
2.1.3 配置管理
配置管理主要完成通信參數(shù)、儀器參數(shù)以及部分圖像參數(shù)的配置。通信參數(shù)為下位機各設(shè)備的地址、端口和超時等參數(shù),由通信協(xié)議規(guī)定;儀器參數(shù)為下位機各設(shè)備的配置參數(shù)與版本信息;圖像參數(shù)為用戶信息與設(shè)備安裝信息等,用于生成到DICOM必需字段。
以發(fā)射機設(shè)備為例,有的MRI系統(tǒng)存在多個發(fā)射機設(shè)備,所以可能需配置多個發(fā)射機接口。發(fā)射機參數(shù)一般情況下需要配置發(fā)射頻率、功率等,因為這些參數(shù)并不經(jīng)常變動,為了優(yōu)化實驗操作,提升用戶體驗,所以通過偏好頁面的形式展現(xiàn)。如果發(fā)射機設(shè)備存在與軟件系統(tǒng)直接交互數(shù)據(jù),則還需配置通信參數(shù)。其他設(shè)備類似于此,按照自身需求實現(xiàn)接口和擴展。
配置管理功能的實現(xiàn),利用Eclipse已存在的擴展點,頁面視圖基于org.eclipse.ui.preferencePages,頁面視圖的參數(shù)初始化基于org.eclipse.core.runtime.preferences即可,十分快捷高效。
2.2 實驗插件
實驗插件為軟件系統(tǒng)的核心,負責實驗管理,主要完成實驗參數(shù)設(shè)置、脈沖序列發(fā)送和實驗控制等工作。
因為實驗的最終目的是為了得到DICOM圖像,而不僅僅是浮點型圖像數(shù)據(jù),所以必須管理除圖像數(shù)據(jù)外更多的DICOM字段信息,根據(jù)DICOM的數(shù)據(jù)模型[10],將實驗管理由上至下分為以下幾個控制部分:① 被試管理器,負責實驗被試者的添加、刪除、編輯以及被試者的信息管理;② 檢查管理器,負責實驗隊列的管理,包括前后移動、克隆、清除等操作,實驗的開始、停止等功能;③ 掃描序列管理器,負責脈沖序列添加、編輯、刪除等操作,參數(shù)配置與管理;④ 掃描管理器,負責采樣管理,包括具體的采樣邏輯與狀態(tài)反饋。
具體的實驗控制流程,見圖5。首先配置合法的通信參數(shù)與儀器參數(shù),也可使用默認配置,之后添加實驗被試者信息與實驗隊列信息,依據(jù)實驗要求選擇所需脈沖序列開始實驗。在采樣過程中,發(fā)送脈沖序列與接收數(shù)據(jù)相互獨立,待數(shù)據(jù)采集完畢,自動停止當前采樣并將數(shù)據(jù)送入通用插件處理和顯示,即為一次采樣實驗。
圖5 實驗控制流程
2.3 通用插件
通用插件主要為其他插件提供數(shù)據(jù)處理與圖像顯示接口,負責數(shù)據(jù)管理與顯示管理。通用插件的組成,見圖6。其中,數(shù)據(jù)模型基于DICOM圖像標準,由上至下分別為被試、檢查、系列、DICOM對象、像素數(shù)據(jù),各部分包含對應(yīng)的參數(shù)子集,由實驗插件提供,其中圖像數(shù)據(jù)位于像素數(shù)據(jù)中。
關(guān)于圖像數(shù)據(jù),不同的成像儀對原始數(shù)據(jù)的預處理略有差異,但多數(shù)都包括數(shù)據(jù)點數(shù)對齊、傅里葉變換、相位變換等操作,然后根據(jù)脈沖序列對應(yīng)的規(guī)則填充K空間矩陣。
關(guān)于數(shù)據(jù)存儲,根據(jù)用戶需求,可選擇二進制和文本形式的數(shù)據(jù)格式保存,用于用戶后續(xù)MATLAB等軟件高級處理。
關(guān)于數(shù)據(jù)顯示,普通用戶模式下,為標準的二維DICOM圖像顯示,包括定位照顯示和快照顯示;工程師模式下,可以一維實時曲線顯示,包括回波和譜圖顯示,主要用于工程師對脈沖序列高級參數(shù)調(diào)節(jié),提高調(diào)試效率。
圖6 通用插件組成框圖
目前,此軟件系統(tǒng)已成功適配3種國產(chǎn)成像儀,分別為廈門大學自制的0.5T四通道成像儀、上海寰彤科教設(shè)備有限公司生產(chǎn)的0.5T和1.2T單通道成像儀。這3種成像儀均自帶通信協(xié)議,通信方式大致相同,但是具體的通信命令、數(shù)據(jù)包結(jié)構(gòu)、加密算法和通信流程均不相同。除主控臺、發(fā)射機、接收機和梯度等主要設(shè)備外,前者具有調(diào)諧和溫控模塊但不具有勻場模塊,后兩者具有勻場和溫控模塊但不具有調(diào)諧模塊;前者為4個發(fā)射機和4個接收機,后兩者為單個發(fā)射機和單個接收機。雖然三者在硬件系統(tǒng)組成上區(qū)別很大,但此軟件均能與通信協(xié)議和系統(tǒng)組成不同的成像儀進行通信、參數(shù)配置、實驗控制、數(shù)據(jù)采集、圖像顯示等一系列操作。
本研究在廈門大學自制的0.5T四通道成像儀上進行了圖像采集實驗,實驗?zāi)P蜑?D打印的鏤空水模。首先在配置管理中選擇當前成像儀,配置IP地址與端口信息并建立通信,其次檢查成像儀各設(shè)備網(wǎng)絡(luò)狀態(tài)和運行狀態(tài),最后開始實驗操作,選擇自旋回波脈沖序列,設(shè)置重復時間200 ms,圖像大小為512×512像素,采樣面為橫斷面。采樣結(jié)果,見圖7。實驗結(jié)果表明軟件系統(tǒng)可成功控制成像儀,并完成了圖像采集的任務(wù)。
圖7 采樣界面圖
MRI產(chǎn)品中,軟件系統(tǒng)是產(chǎn)品好壞的最直接表現(xiàn),也是用戶體驗產(chǎn)品的媒介。本研究基于Eclipse插件體系開發(fā)了一套具有插件化、多適配和跨平臺等特點的MRI控制軟件系統(tǒng),測試結(jié)果表明該系統(tǒng)工作穩(wěn)定,達到了預期的儀器控制采集圖像的目的。
[1] 謝海濱,李建奇,楊光,等.基于NMR譜儀的醫(yī)學MRI軟件系統(tǒng)[J].波譜學雜志,2007,24(4):454-461.
[2] 曲音.核磁共振行業(yè)發(fā)展簡析[J].中國醫(yī)療器械信息,2014, (1):36-39.
[3] 陳東山,陳志偉.基于Eclipse RCP技術(shù)的0.5T磁共振成像儀控制和數(shù)據(jù)處理軟件系統(tǒng)開發(fā)[J].中國醫(yī)療設(shè)備,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跨平臺特性的實現(xiàn)原理[J].科技資訊,2014,12 (18):20-21.
[8] Calvert K L,Donahoo MJ.Java TCP/IP Socket編程[M].第2版.北京:機械工業(yè)出版社,2009.
[9] 鄢鋒,桂衛(wèi)華,胡志坤,等.一種網(wǎng)絡(luò)節(jié)點通信控制的心跳模型[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
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.
magnetic resonance imaging; instrument control software; software development; Eclipse plug-in
R445.2;TP311.5
A
10.3969/j.issn.1674-1633.2016.08.007
1674-1633(2016)08-0030-04
2016-03-11
2016-03-24
國家自然科學基金項目(81101037)。
陳志偉,副教授,主要研究方向為核磁共振波譜學和磁共振成像。
通訊作者郵箱:chenzhiwei@xmu.edu.cn