基于Nios II的MRI脊柱圖像分割系統
一. 設計概述
本文引用地址:http://www.j9360.com/article/83229.htm1. 設計意圖
迅速發展的醫學影像技術不斷的推動現代醫學進步,CT、MRI、PET廣泛地應用與臨床診斷分析,其作用已經從人體組織器官解剖結構的非侵入檢查和可視化,發展成一種用于手術計劃和仿真、手術導航、放療計劃和跟蹤病灶變化的基本工具,從醫學圖象中分割出解剖結構并構造出形狀地集合表達。
MR脊柱圖像分割的研究對于醫學圖象的計算機輔助識別及神經病理學的臨床研究有著至關重要的作用。如果不能將脊椎準確而清晰從圖像中分割和識別出來的話,那么計算機技術對于醫學臨床研究的價值是非常有限的,然而,僅僅依靠人工的方法完成這項工作也是遠遠不夠的。傳統的對椎骨骨折的評估是手動的對每塊椎骨標注6個點(四個角和上下邊沿的中點),然后測量前面、中間、后面的椎骨的高度。但是這個過程是相當的耗時。文獻記載,對于用鼠標定位一位病人1塊椎骨要花費大于15分鐘,對于整個脊椎的定位的耗時將讓人很難接受。因此醫學臨床上迫切的需要一種方法能夠自動完成MR脊柱圖像的分割,計算機自動定位椎骨和椎間盤對于輔助診斷具有重要的臨床應用價值。
本作品的設計意圖即在Nios. II處理器的平臺上實現我們研究提出的一種可行的,魯棒性高的算法,即利用我們實驗室研究的關于MRI Spine圖像分割算法實現了脊椎核磁共振矢狀圖(Sagittal Views)自動的椎間盤定位以及量化的標注,充分利用Altera FPGA/Nios II資源,使系統小型化、便攜化。該算法的應用,可以改善對骨質疏松引起的椎骨骨折進行自動的評估,對椎間盤進行量化分析,有助于與其他成像圖像(如CT)進行圖像的配準,以及圖像引導的椎骨外科手術。
2. 適用范圍及針對用戶群
本作品主要適用于各擁有核磁共振儀器的醫療機構。由于本作品是基于Nios II處理器,具有使用方便的特點,因此也適合普通的老百姓,他們可以以此來了解病人的病情,提醒病人在生活上注意預防各種脊椎病情。并且本作品有網絡傳輸功能,方便醫生進行遠程會診。
3. 本設計采用Nios II 處理器的優勢
(1)Nios II處理器提供的創新的SOPC設計理念。
Nios II軟核系統的性能是可以根據應用來進行裁減的,定制用戶自己的系統,與固定的處理器相比,在較低的時鐘速率下具備更高的性能。具有豐富的IP核庫,方便用戶設計,有效的提高系統的運算能力。Nios II的用戶邏輯功能和用戶指令突現NiosII 處理器的技術亮點,提供了運算優化、加速的一個有效途徑,將處理速度提高到一個相當的層次,易于實現算法的商用化。
(2)Nios II IDE開發環境集成了已經移植到Nios II 處理器的RTOS ucosII操作系統,方便我們直接利用該操作系統完成系統的功能設計及功能行擴展。
(3)Dsp Builder豐富的功能模塊和IP核。
有了在DSP Builder,使得我們能在Simulink下進行算法級的系統開發。并且可以將算法設計成自定義用戶指令,利用SoPC Builder和Quartus. II軟件集成至Nios II嵌入式系統處理器中,通過軟件調用該自定義指令完成DSP算法。
(4)C2H對設計的有力支持。
Nios II提供的C2H編譯器能夠將對性能要求較高的C語言程序自動轉換為硬件加速器,集成到基于FPGA的Nios II子系統中。這樣,分擔了Nios II處理器的數據計算和存儲器訪問功能,使處理器能夠更好的處理其他任務。由于Avalon互聯架構并沒有限制主機和從機的數量,因此,Nios II C2H編譯器可以根據轉換目標代碼的要求,產生多個存儲器自治硬件加速器。幫助嵌入式系統開發人員提高效率,實現成功的設計。
二. 功能描述
MRI脊柱圖像分割的研究是利用磁共振成像設備對人體組織進行定性或定量分析所必不可少的關鍵步驟。引入計算機輔助MRI脊柱圖像分割技術將使得醫生的臨床診斷更加準確及時,降低醫療費用,減輕醫生的工作壓力,具有良好的應用前景。
本設計硬件板塊主要包括DE1開發平臺、MRI圖像LCD顯示板、與MR設備及PC機網絡接口板構成。系統的功能模塊主要分成以下六個:MRI圖像預處理模塊、脊髓提取模塊、脊椎檢測分割模塊,LCD圖像顯示及人機交互模塊,MRI圖像數據存取模塊,網絡傳輸模塊。
1. MRI圖像預處理模塊、脊髓提取模塊、脊椎檢測分割模塊是本設計的算法部分,也是本作品的功能核心所在。我們利用 Nios II處理器強大的運算能力,將大部分的算法使用C程序實現,得益于C2H工具的加速功能,我們將算法中最耗時間的部分使用該工具進行加速,縮短了開發周期。
2. LCD圖像顯示及人機交互模塊:我們采用LCD屏及鼠標來實現圖像的顯示和人機交互的功能。鼠標和lcd通過自己編寫的IP核,以Avalon從設備的方式連接到 Nios II處理器。
設計時我們使用了IED開發環境下的UCOSII實時操作系統來完成系統的任務管理及算法調度,移植對應于我們采用的LCD控制器芯片TCB8000C的UCGUI圖形操作界面,使系統具有良好的人機交互性。
3. MRI圖像數據存取模塊:直接從成像設備中獲取的圖像一般符合標準的醫學圖像格式,即dicom格式,這種格式的圖像對于普通的用戶是不常見的,要用專門的軟件或醫學設備讀取,所以為了使得圖像在任何情況下,在大多數環境下可以方便的讀取,我們在處理前經過由dicom格式向bmp格式的轉換,通過網絡下載到硬件平臺的存儲設備上的圖像是已經進行過格式轉換的bmp格式圖像,處理后仍然以bmp格式的圖像上傳到PC機。在這種情況下,就需要比較大的存儲空間,因此采用sd卡作為數據存儲區,并且移植對應于sd卡的UCFS文件系統,增強了系統的擴展性和系統的數據管理能力。
4. 網絡傳輸模塊:采用以太網方式,實現數據的交互。以太網口方便系統從MR設備上獲取圖像。利用DE1的擴展接口,以DM9000A芯片為核心,自行開發了網絡接口板,由于以太網的引入使得系統具有更好的擴展性。
Nios II處理器的特點和sopc的設計理念使我們的設計過程變得不那么枯燥,這是一個不斷優化算法,完善設計,使系統速度運行速度更快的一個過程。我們將設計分成一下兩個步驟進行:1)搭建Nios II系統,將算法用純軟件的方式在Nios II上運行起來,并初步實現系統的功能。2)利用自定義指令和自定義外設,加速算法的運行。
三. 性能參數
系統性能參數:
脊柱核磁共振圖像對于診斷脊骨的疾病方面扮演著非常重要的角色,例如對于退化椎間盤的描述比其他形式的圖像有更好的效果,并且能夠對脊椎外科手術的治療進行評估。對脊椎核磁共振圖像進行分析處理可以輔助診斷更加精確,節省時間和花費。因此對于本系統來說,最重要的就是要將脊椎準確而清晰從圖像中分割和識別出來,在保證圖像分割的準確性的同時,通過優化代碼、使用C2H工具及自定義用戶外設等方法加塊運算速度。
下圖是系統工程編譯之后各種資源的占用情況:
算法各個步驟運行時間如下:(以下是經過代碼優化后的運行時間)
- 圖像預處理:4128.77ms ms
- 脊髓的提取(Spinal Cord extraction): 24208.14ms
- 椎間盤的探測(Disks Detection): 6.03ms
- 圖像存入sd卡時間:15881.59 ms
- 圖像從sd卡讀入時間:5730.02ms
算法分割的準確性從系統運行后生成的最終處理圖像可以看出,系統能夠比較準確的將脊椎標注出來,并且在平臺上將各個脊椎按照編號標注出來。醫療儀器的具體性能還需要長期的臨床實驗來得到驗證,并通過這些數據改善我們的算法。
下圖是直接拍攝作品顯示的處理效果,在后面章節顯示的圖片是系統通過網絡將圖片傳輸到計算機上得到的。
四. 設計結構
基于Nios II的MRI脊柱圖像分割系統硬件結構圖
軟件流程如下:
評論