<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 醫(yī)療電子 > 設(shè)計(jì)應(yīng)用 > 基于Nios II的MRI脊柱圖像分割系統(tǒng)

          基于Nios II的MRI脊柱圖像分割系統(tǒng)

          ——
          作者:北京交通大學(xué)計(jì)算機(jī)學(xué)院信息科學(xué)研究所 李偉明 史睿瓊 李波 時(shí)間:2008-05-28 來源:電子技術(shù)應(yīng)用 收藏
          4. 網(wǎng)絡(luò)接口

            DE1上沒有網(wǎng)絡(luò)接口的功能,為了增強(qiáng)系統(tǒng)的可擴(kuò)展性,我們自行設(shè)計(jì)了網(wǎng)絡(luò)接口板,通過DE1的擴(kuò)展口連接接起來,這樣就使得開發(fā)板就有網(wǎng)絡(luò)功能??紤]到擴(kuò)展口IO口有限,我們還需要使用IO連接LCD顯示屏,一次選用IO口數(shù)量相對較少的網(wǎng)絡(luò)芯片dm9000a。在發(fā)數(shù)據(jù)上,我們是開發(fā)板以定時(shí)的方式發(fā)數(shù)據(jù),在PC機(jī)上以查詢方式收數(shù)據(jù)。網(wǎng)絡(luò)使用上,發(fā)數(shù)據(jù)是借助ucosII 的驅(qū)動(dòng)程序?qū)崿F(xiàn)的,收數(shù)據(jù)是在網(wǎng)絡(luò)第二層以中斷方式實(shí)現(xiàn)的。

          本文引用地址:http://www.ex-cimer.com/article/83229.htm

            5. 圖象處理算法實(shí)現(xiàn):

            典型的人體脊椎有24塊骶骨前(pre-sacral)椎骨,將其結(jié)構(gòu)劃分,頸部的椎骨(Cervical)7塊, 胸部的椎骨(Thoracic)12塊,腰部的椎骨(Lumbar)5塊。所以在我們的脊椎矢狀圖中,相應(yīng)的典型的圖像中可見的椎間盤有23塊,分別是C2-3、C3-4、C4-5、C5-6、C6-7、C7-T1、T1-2、T2-3、T3-4、T4-5、T5-6、T6-7、T7-8、T8-9、T9-10、T10-11、T11-12、T12-L1、L1-2、L2-3、L3-4、L4-5、L5-S1。

            本算法的目標(biāo)是將可見的椎間盤進(jìn)行量化標(biāo)志,并且對不清晰的椎間盤進(jìn)行預(yù)測估計(jì),也將其標(biāo)出。算法采用基于uc/osII操作系統(tǒng)編寫的c程序?qū)崿F(xiàn),加上我們移植的ucgui和ucfs,實(shí)現(xiàn)了具有良好的人機(jī)交互性的脊椎系統(tǒng),易于系統(tǒng)的推廣應(yīng)用。

            具體算法分為3步:

            (a) 圖像的預(yù)處理(Preprocessing): 由于原始的核磁共振圖像對比度比較低,視覺效果非常不清晰,所以首先要進(jìn)行圖像質(zhì)量的改善,增強(qiáng)椎間盤的可見度。以下兩圖為預(yù)處理前后的對比。

            該步驟中的圖像中值濾波部分比較耗費(fèi)時(shí)間,可喜的是該部分程序非常適合采用c2h工具進(jìn)行算法加速,加速前后的時(shí)間對比如下:

          預(yù)處理前                                      預(yù)處理后

            (b) 脊髓的提?。⊿pinal Cord extraction): 脊髓在脊柱核磁共振圖像中是一個(gè)明顯的典型的部分,可以為椎間盤的定位提供方向性的信息,應(yīng)用統(tǒng)計(jì)模式識(shí)別的模式匹配的方法,進(jìn)行脊髓的提取。這里我們僅進(jìn)行上半身的脊髓的提取,是因?yàn)樯习肷淼募顾枨€因人而異的變化比較復(fù)雜,而下半身的則可以根據(jù)上半身進(jìn)行預(yù)測。

            左下圖中的紅線是提取出來的上半身的脊髓。這部分的算法相對于其他部分來說比較耗時(shí),但是從目前的算法結(jié)構(gòu)上看并不適合使用C2H 進(jìn)行加速,考慮到我們的算法會(huì)進(jìn)一步優(yōu)化,因此沒有采用其他的方式進(jìn)行算法加速,我們將在今后的工作中從算法結(jié)構(gòu)和加速實(shí)現(xiàn)方式上完善本系統(tǒng)的功能。

          脊髓提取圖像                  椎間盤定位圖像

          (c) 椎間盤的探測(Disks Detection): 對每個(gè)椎間盤進(jìn)行定位,并將其標(biāo)注。見右上圖,紅點(diǎn)代表定位的椎間盤,由黃線引出進(jìn)行標(biāo)注。

           

            我們運(yùn)用SOPC的設(shè)計(jì)理念,成功的完成了本系統(tǒng)的設(shè)計(jì)任務(wù),基本完成了預(yù)先設(shè)置功能。在系統(tǒng)設(shè)計(jì)過程中,SOPC概念在以下幾個(gè)方面得到了體現(xiàn):

            甲、 系統(tǒng)的可重構(gòu)性

            由于是軟核處理器,具有可裁剪的特性。因此對于我們設(shè)計(jì)的系統(tǒng)具有廣闊的升級(jí)空間,比如,因?yàn)闀r(shí)間的原因,一些適合FPGA硬件實(shí)現(xiàn)的算法我們采用的c程序?qū)崿F(xiàn),速度受到限制,在后續(xù)的工作中我們可以在不更改硬件平臺(tái)的情況下升級(jí)我們;還有就是目前的顯示屏像素值不夠,編寫不同的LCD控制器便能夠兼容同類型的LCD顯示,這些都是SOPC給我們帶來的系統(tǒng)可重構(gòu)優(yōu)點(diǎn)。

            乙、 系統(tǒng)設(shè)計(jì)模塊化

            系統(tǒng)設(shè)計(jì)過程是個(gè)團(tuán)隊(duì)密切協(xié)作分工合作的過程。普通的嵌入式處理器平臺(tái)設(shè)計(jì)必須針對特定的處理器進(jìn)行設(shè)計(jì),硬件工作完成后才能夠進(jìn)行軟件調(diào)試。但是Nios就不同了,只要是能夠支持Nios 的 的 FPGA芯片,在其他 FPGA平臺(tái)上進(jìn)行調(diào)試是沒有任何區(qū)別的。這樣能夠使得設(shè)計(jì)過程的軟硬件工作同步進(jìn)行,在實(shí)際產(chǎn)品的設(shè)計(jì)過程中,就可以將市場拓展和產(chǎn)品研發(fā)同時(shí)啟動(dòng),縮短了整個(gè)產(chǎn)品的面世周期,這對企業(yè)無疑具有無可估量的意義。

            丙、 實(shí)現(xiàn)方式多樣化

            利用SOPC概念進(jìn)行系統(tǒng)設(shè)計(jì)的時(shí)候,系統(tǒng)實(shí)現(xiàn)方式是多種多樣的,比如要實(shí)現(xiàn)一個(gè)算法的加速你可以采用自定義用戶指令、自定義用戶外設(shè)或者C2H 的方式實(shí)現(xiàn),通過比較找到最佳的實(shí)現(xiàn)方式。

            六. 設(shè)計(jì)特點(diǎn)

            基于脊柱系統(tǒng)具有運(yùn)算速度快,體積小,操作簡單,易于同原有的設(shè)備共建形成一個(gè)新的完整的系統(tǒng),且便于醫(yī)生們使用分割后的圖像進(jìn)行集體會(huì)診。

            1. 基于處理器的ucosII操作系統(tǒng)的引入,ucosII在世界范圍內(nèi)得到廣泛的應(yīng)用、包括諸多領(lǐng)域,如手機(jī),路由器,集線器、飛行器、 醫(yī)療設(shè)備等等。uC/OS適合小型控制系統(tǒng),具有執(zhí)行效率高、占用空間小、實(shí)時(shí)性能優(yōu)良和可擴(kuò)展性強(qiáng)等特點(diǎn)。Nios II的開發(fā)環(huán)境IDE下已經(jīng)集成了該操作系統(tǒng),免去了移植工作,非常方便,在使用過程中發(fā)現(xiàn),在Nios II運(yùn)行基于ucosII及任務(wù)時(shí)非常穩(wěn)定。本系統(tǒng)的軟件開發(fā)均在Nios II集成的μc/os-II操作系統(tǒng)上面完成。

            2. 系統(tǒng)引入了ucGUI,系統(tǒng)具有了非常好的人機(jī)交互性,只需要使用鼠標(biāo)就能操作實(shí)現(xiàn)該系統(tǒng)所有的功能。這對于本系統(tǒng)的推廣有著很大的幫助。

            3. 系統(tǒng)設(shè)計(jì)時(shí)考慮到大量MRI圖像存儲(chǔ)的問題,采用大容量的SD卡就解決了這方面的問題,得益于Nios 軟核處理器的優(yōu)勢,我們非常方便了加入了四線制的sd卡控制器,提高了sd卡讀取速度。同時(shí)我們移植了對應(yīng)于sd卡ucFS文件系統(tǒng),大大方便了對文件訪問操作。

            4. 基于ucosII 操作系統(tǒng)的網(wǎng)絡(luò)接口,使得我們的系統(tǒng)具有了很強(qiáng)的可擴(kuò)展性。同時(shí)網(wǎng)絡(luò)的支持也可以使得我們保持圖像的更新和對遠(yuǎn)程醫(yī)療的良好支持。

            5. Nios II提供一系列的處理器成員,用戶可以針對本身系統(tǒng)的需求,創(chuàng)建一個(gè)在處理器、外設(shè)、存儲(chǔ)器和I/O接口方面的完美的方案,這樣,既能提供合理的性能組合,另一方面也節(jié)省了系統(tǒng)開發(fā)的成本,增強(qiáng)了系統(tǒng)在成本上的競爭力。

            6. NiosⅡ提供的C2H編譯器能夠?qū)π阅芤筝^高的C語言程序自動(dòng)轉(zhuǎn)換為硬件加速器,集成到基于FPGA的NiosⅡ子系統(tǒng)中,對我們提高系統(tǒng)運(yùn)行速度提供了有利的支持。

            七. 總結(jié)

            我們本次大賽的設(shè)計(jì)作品“基于Nios II的MRI脊柱系統(tǒng)”按照預(yù)定計(jì)劃完成了設(shè)計(jì)的全部任務(wù),實(shí)現(xiàn)了系統(tǒng)的功能,在一些細(xì)節(jié)上我們還需要努力改進(jìn)。大賽過程中我們學(xué)到了很多新的有關(guān)Nios II處理器的支持,首次嘗試了醫(yī)學(xué)圖像方面算法在Nios II嵌入式處理器實(shí)現(xiàn)的方式,體現(xiàn)了Nios II處理器強(qiáng)大處理功能和可靠的運(yùn)行特性。積累了在Nios II上使用uc/osII、ucGUI、ucFS的使用經(jīng)驗(yàn)。調(diào)試過程中,出現(xiàn)了的不少問題在團(tuán)隊(duì)協(xié)作的力量下,我們一一將它們克服。

            Nios Ⅱ軟核系統(tǒng)的性能是可以根據(jù)應(yīng)用來進(jìn)行裁減的,定制用戶自己的系統(tǒng),與固定的處理器相比,具有很強(qiáng)的優(yōu)勢。Nios II的用戶邏輯功能和用戶指令突現(xiàn)Nios II處理器的技術(shù)亮點(diǎn),提供了系統(tǒng)實(shí)現(xiàn)的多樣化特點(diǎn)。對于學(xué)生來說,SOPC設(shè)計(jì)理念帶來的就是創(chuàng)新的設(shè)計(jì)思想。有利于激發(fā)我們的創(chuàng)新性。

            感謝公司為我們提供了非常好的理論與實(shí)現(xiàn)相結(jié)合的時(shí)間機(jī)會(huì),通過大賽,驗(yàn)證了我們設(shè)計(jì)的算法硬件實(shí)現(xiàn)可行性!對于我們的理論研究也具有相當(dāng)?shù)拇龠M(jìn)作用。


          上一頁 1 2 3 下一頁

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();