張 坤 張俊然 蔣小梅 陳富琴
(四川大學(xué)電氣信息學(xué)院醫(yī)學(xué)信息工程系 成都 四川 610065)
?
基于混合調(diào)用的MRI圖像預(yù)處理程序及其應(yīng)用
張坤張俊然*蔣小梅陳富琴
(四川大學(xué)電氣信息學(xué)院醫(yī)學(xué)信息工程系成都 四川 610065)
由于目前存在的MRI圖像預(yù)處理操作過于繁瑣或者過多依賴編譯環(huán)境,從而嚴(yán)重影響了工作效率和處理時耗。針對上述情況,介紹兩種基于C++和MATLAB平臺混合調(diào)用的MRI神經(jīng)影像圖片預(yù)處理的算法及其應(yīng)用。通過在MATLAB中調(diào)用bet.exe(VC++編譯)提高了影像數(shù)據(jù)處理平臺(SPM,MATLAB)的可擴(kuò)展性,方便影像處理流程在同一個平臺下完成,提升了工作效率。而通過在VC++中調(diào)用m子程序,將be_ls核心算法、fig程序等編譯成獨(dú)立于編程環(huán)境的可執(zhí)行程序。單獨(dú)的可執(zhí)行exe可以在未安裝MATLAB平臺的計算機(jī)上運(yùn)行,這種不過多依賴于程序環(huán)境的Standalone方式為許多專業(yè)軟件所采用,但還未見應(yīng)用于MRI圖像處理領(lǐng)域的報道。實驗結(jié)果表明,通過VC++和MATLAB的混合調(diào)用,不僅可以有效地實現(xiàn)頭骨剝離,而且很大程度上節(jié)省了操作的周期,從而提高了工作效率。這對于推動該領(lǐng)域軟件編譯技術(shù)的發(fā)展具有積極的借鑒與現(xiàn)實意義。
MATALBBET水平集方法混合編程頭骨剝離
磁共振成像MRI的神經(jīng)影像圖片預(yù)處理過程一般包括:頭動校正、配準(zhǔn)融合、圖像標(biāo)準(zhǔn)化、平滑等[1],其中針對神經(jīng)影像中結(jié)構(gòu)圖像,一般還包括去頭骨(頭骨剝離)這項預(yù)處理步驟。頭骨剝離是將腦部組織從非腦組織中分離出來,去除圖像中腦外組織。一般來說,圖像分割尤其是精細(xì)化分割都要求去除和分割無關(guān)的組織,所以頭骨剝離是腦組織分割中的一個關(guān)鍵步驟[2,3],只有精確地去除非腦組織才可確保腦白質(zhì)、腦灰質(zhì)和腦脊液的精確分割。而基于完整頭骨剝離的腦組織精確分割對診斷、治療、病理研究 、放療計劃的制定、手術(shù)導(dǎo)航、計算機(jī)輔助診斷等均有極其重要的意義。目前因為核磁共振成像的高分辨率、高信噪比、無放射性危害、軟組織成像效果好等優(yōu)點(diǎn)而被廣泛應(yīng)用于臨床檢查,因此針對MRI圖像的頭骨剝離對其臨床應(yīng)用有著重要的意義和價值。
進(jìn)行頭骨剝離的程序大多是用一種特定的語言編寫的,其中VC++編寫的bet.exe程序[4,8]是運(yùn)行在Dos環(huán)境下的人腦影像頭骨剝離程序,每次運(yùn)行都需要在命令行下輸入一定的命令,對于初學(xué)者較難掌握,也較為影響工作效率。而使用MATLAB編寫的基于水平集方法的活動輪廓模型程序[9,12]是專門針對動物腦影像的頭骨剝離程序。它由兩個GUI編寫的fig程序和子程序組成,其中包括水平集方法的核心算法[9];需要先安裝MATLAB工具包,且每次運(yùn)行都需要在MATLAB中先打開fig文件;這個過程繁瑣,且增加了實驗室的成本。
本文針對以上兩種典型的去頭骨程序通過MATLAB和VC++的混合調(diào)用來提高操作效率、易用性和降低實驗成本。首先通過MATLAB調(diào)用bet.exe,然后在MATLAB中通過簡單的命令就可以實現(xiàn)快速的人腦頭骨剝離。而針對進(jìn)行動物頭骨剝離的水平集活動輪廓程序通過VC++和MATLAB的混合編程,將相應(yīng)的核心算法和fig文件并編譯成exe應(yīng)用程序。生成的exe應(yīng)用程序可以單獨(dú)運(yùn)行并且可以移植到其他Windows平臺的計算機(jī)上。這樣不僅提高了操作效率,而且減少了安裝MATLAB的冗雜和所需要的存儲空間。 圖1是基于混合調(diào)用的MRI圖像與處理算法流程圖。
圖1 神經(jīng)影像預(yù)處理圖
1.1Brain Extraction Tool(BET)介紹
BET算法[4,8]的主要思想是采用可變點(diǎn)陣模型,該模型由一系列離散的點(diǎn)組成。首先粗略的初始化一個腦組織表面,然后通過u1,u2,u3,這3種相互作用的力將輪廓點(diǎn)推到腦組織的邊緣。其中u1是平行于輪廓切線方向的力,其主要作用是將各個輪廓點(diǎn)之間保持一定的距離;u2是垂直于輪廓切線方向的平滑力,其主要作用是保持輪廓的平滑;而u3是與切線方向垂直的擴(kuò)張力,其主要作用是決定輪廓向內(nèi)還是向外演化??勺凕c(diǎn)陣模型在這三個力的作用下不斷進(jìn)行自我調(diào)整,最終將所有的輪廓點(diǎn)全部收斂于腦組織表面,最終得到相應(yīng)的腦組織[7]。BET工作流程見圖2所示。
圖2 BET算法流程
(1) 圖像基本參數(shù)估計
BET算法首先要粗略地估計一些參數(shù),用于初始化可變點(diǎn)矩陣模型。
首先通過觀察圖像的直方圖,找到該直方圖的最大和最小灰度值。并且簡單地估計一個腦組織和非腦組織之間的灰度閾值;然后根據(jù)估計的閾值可以粗略地估計出腦組織部分的重心COG(Centre Of Gravity);最后很粗略地估計一個大腦的半徑r0。
(2) 表面模型初始化
表面模型初始化就是以腦部的重心作為圓心,r0為半徑做一個圓。然后將圓分成N等份,每個等份點(diǎn)就是可變點(diǎn)陣模型的頂點(diǎn)。
(3) 輪廓演化過程
BET的主要思想[8]是通過u1,u2,u3三個相互作用的力將頂點(diǎn)推送到腦組織的邊緣。各個頂點(diǎn)在u1,u2,u3作用下不斷地更新位置,最后達(dá)到平衡狀態(tài)。這個過程就是輪廓不斷演化的過程。
圖3 輪廓頂點(diǎn)示意圖
取三個相鄰的頂點(diǎn)A0,A1,A2。如圖 3 所示:o為估計的圓心,連接A1A2。Ac為其連線的中點(diǎn),則S為底邊的中線。A0At垂直A1A2,At為底邊的垂足。 那么Sn即是垂線向量。將S分解為和St和Sn,其中,St=S-Sn,R是半徑,eSn為Sn的單位向量。
①u1:使表面內(nèi)各個頂點(diǎn)之間保持一定的間距(間距不能太大也不能太小)。保持所有頂點(diǎn)之間都等間距的分布在腦組織邊緣上。因此,u1直接與St相關(guān)。此處設(shè):
u1=St/2
(1)
②u2:輪廓表面平滑力。u2作用于當(dāng)前頂點(diǎn)A0,使其與相鄰頂點(diǎn)之間保持一定的平滑度。因此,u2和Sn有關(guān)。此處一個簡單規(guī)則是賦予Sn一個與曲率有關(guān)常數(shù)分量:
u2=[1+tanh(F×(1/r-E))/2]Sn
(2)
其中r是曲線在頂點(diǎn)A0處的曲率k的倒數(shù),其中F=6(kmax-kmin),E=(kmax+kmin)/2,此處取kmax=1/33,k=1/100。
③u3:輪廓演化選擇力。u3同u2方向一致,也平行于Sn,可以與圖像直接相互作用。它決定著圖像表面輪廓演化的方向。首先,找到灰度的最小值和最大值。其中Imin是以A0為起點(diǎn),沿著R的方向Nd個采樣點(diǎn)中灰度的最小值。而Imax則是找到灰度的最大值。
u3=2[(lmin-t1)/(lmax-t2)]×eSn
(3)
t1=(lmin-t2)×bt+t2
(4)
一般來說,bt是位于 0 到 1 之間的一個常數(shù)值,默認(rèn)值為 0.5,t2是區(qū)別背景和MRI圖像的閾值。
合力表達(dá)式為:
u=u1+u2+0.05lu3
(5)
結(jié)合圖3,清晰地看到u1是將頂點(diǎn)A0往中點(diǎn)Ac方向拉,是相鄰的頂點(diǎn)之間都保持一點(diǎn)的間距。u2將凹出的A0向外拉,將凸出的A0向內(nèi)拉,保持A0與相鄰A1A2之間的平滑。u3是將A0點(diǎn)推向腦組織邊緣閾值的點(diǎn),最終三個力達(dá)到平衡。
BET算法的優(yōu)點(diǎn)是:從式(5),可以看出,這3個力的計算非常簡單,故BET算法速度很快,由于u1 和u2 的作用,,輪廓點(diǎn)之間的分布很均勻,得到的輪廓曲線很平滑。
(4) 實驗與應(yīng)用環(huán)境
本研究中圖4采用SIMENS Trio 3.0T MR全身成像系統(tǒng)。并用最新的8通道頭線圈以提高信噪比。所有納入者的3D T1圖像通過3D擾相梯度回波序列(SPGR)獲得,掃描參數(shù)如下:TR 1.9 s,TE 2.26 ms,反轉(zhuǎn)角 9°,層厚1 mm,單次激勵,視野(FOV)24 cm×24 cm,矩陣256×256,體素(voxel)大小1.00 mm×1.00 mm×1.00 mm。全腦共采用156層軸面圖像。
圖5采用GE 3.0 T MR全身成像系統(tǒng)(Excite,General Electric,Milwaukee,USA),并用最新的8通道頭線圈以提高信噪比。所有納入者的3D T1圖像通過3D擾相梯度回波序列(SPGR)獲得,掃描參數(shù)如下:TR 8.5 ms,TE 3.4 ms,反轉(zhuǎn)角 12°,層厚1 mm,單次激勵,視野(FOV)24 cm×24 cm,矩陣256×256,體素(voxel)大小0.47 mm ×0.47 mm ×1.00 mm。全腦共采用156層軸面圖像。
1.2MATLAB調(diào)用Win32程序
bet.exe是用VC++編寫的針對Win32系統(tǒng)的圖像分割程序,能在Dos下面通過相應(yīng)的命令實現(xiàn)快速的MRI圖像腦組織的提取;但是實際中大家并不習(xí)慣直接在Dos下寫命令,而是喜歡用簡單的指令完成相應(yīng)的功能。所以通過MATLAB調(diào)用bet.exe是一個很便捷的方式。在MATLAB中通過簡單的命令就能提取出腦組織。MATLAB中通過語法:
unix(sprintf(′bet %s%c%s %s%c%s%s -f %0.2f′,...
pn,filesep,fn,pn,filesep,...
prefix,fn,num));
調(diào)用bet.exe。
MATLAB調(diào)用bet后的處理結(jié)果詳見圖4和圖5所示,(a)是待處理的原始圖片,(b) 是程序處理過的腦組織圖片。
(a) 原始圖片 (b) 去除頭骨后的腦組織圖片圖4 BET算法處理的SIEMENS圖像
(a)原始圖片 (b) 去除頭骨后的腦組織圖片圖5 BET算法處理的GE圖像
從上面的分割圖片能夠看到分割后腦組織的真實性很好。并且對于來自不用儀器,不同大小和分辨率的MRI圖像。BET算法都可以實現(xiàn)有效的分割。
2.1水平集輪廓模型
從人類到靈長類-哺乳類-靈長類-嚙齒類,不同的生物大腦結(jié)構(gòu)有很大的差異;其頭骨剝離算法也有較大的差異。這是由于它們各自的特殊解剖學(xué)特性,這些特性包括與頭骨組織相似的信號強(qiáng)度以及外圍與頭骨之間非常狹窄的腦脊髓液成分、比例[9]。這些特性的相似之處在于可以使用圖像強(qiáng)度和圖像梯度來提取腦組織結(jié)構(gòu),而這些信號強(qiáng)度的分布和梯度在不同的生物種類之間有著較大的差異,故專門針對人腦的腦組織提取方法對這些生物種類都基本不適用。
基于老鼠大腦的這些特性,一種半自動的腦組織提取方法—水平集活動輪廓模型在2010年被美國內(nèi)布拉斯加醫(yī)學(xué)中心研發(fā)出來[9,12]。該活動輪廓模型是使用約束水平集(CLS)算法提取腦組織。如圖6是主動輪廓模型的算法流程圖。
圖6 活動輪廓模型流程圖
(1) 水平集方法
水平集的思想是用一個4維方程(m=φ(w,y,z)或者φ(w,y,z,m)來隱形地表示一個3D的頭皮表面C。因此φ是x,y,z,m的方程。而頭皮表面C就可以表示為C={(x,y,z)|φ(t,x,y,z)=0}。其中φ被稱為水平集函數(shù),而C則稱為零水平表面。水平集方法首先是定義一個初始水平集表面,然后通過不斷的迭代讓零水平表面的邊緣不斷的逼近初始水平集表面。零水平表面(C(t)={(x,y,z)|φ(t,x,y,z)=0})的不斷迭代使水平集函數(shù)φ不斷演變。φ的演變過程可以用式(6)來表示:
(6)
式(6)也稱為水平集等式。其中F是速度函數(shù)。與圖相梯度和水平集函數(shù)φ有關(guān)。根據(jù)文獻(xiàn)[12],這個等式又可以表示為:
(7)
(2) 通過先驗知識獲取水平集權(quán)重因子和初始化水平集表面
使用者首先應(yīng)該了解腦組織解剖學(xué)方面的知識,這樣才能根據(jù)先驗知識更容易和更快速地定義腦組織的初始化水平集表面。在這我們需要定義的是小鼠MRI圖像的軸狀面和矢狀面的腦組織輪廓,如圖7所示,分別定義完成的矢狀面和軸狀面的輪廓。它由使用者定義的點(diǎn)連成線段,然后進(jìn)一步組成一個封閉的圈。軸狀面和矢狀面的腦組織總體就構(gòu)成一個正交的腦組織輪廓。而這個輪廓的位置和形狀完全取決于使用者是否可以準(zhǔn)確和有效地區(qū)分腦組織和非腦組織。然后在定義好的輪廓中提取出約束點(diǎn)。如圖8所示,其中豎直方向的兩個點(diǎn)表示圖7(1)定義的矢狀面輪廓,水平方向的兩個的點(diǎn)表示的是圖7(2)定義的軸狀面輪廓。
(1) 矢狀面活動輪廓模型圖 (2) 軸狀面活動輪廓模型圖7 矢狀面和軸狀面定義輪廓
通過先驗知識定義初始化水平集表面和約束點(diǎn)。約束點(diǎn)首先用來定義初始化水平集表面,同時約束了零水平表面的演化范圍。為了在水平集方法中包含約束點(diǎn),等式(7)中的權(quán)重因子也需要不斷變化。而約束點(diǎn)的變化則是通過不斷增加μ,減小λ和改變ν的符號來實現(xiàn)(其中μ是內(nèi)力,λ和ν都是外力)。
(1) 定義的主動輪廓模型 (2) 導(dǎo)入主動輪廓模型的圖像圖8 定義的活動輪廓模型
(3) 基于水平集的活動輪廓模型程序
用MATLAB編寫的該程序主要包括定義輪廓(defineContours)和提取腦組織(be_ls)兩個主程序,defineContours的作用是首先定義初始化水平集表面。而be_ls程序通過調(diào)用defineContours定義的初始化水平集表面模進(jìn)行腦組織的提取。并且通過GUI圖形界面分別設(shè)計相應(yīng)的fig文件。
圖9是水平集活動輪廓處理效果圖,(1)是待處理的原始圖片,(2) 是程序處理過的腦組織圖片。
(1) 原始圖片 (2) 程序處理后的圖片圖9 水平集活動輪廓處理效果圖
(4) 實驗與應(yīng)用環(huán)境
RI數(shù)據(jù)來源:Bruker 7.0T磁共振成像系統(tǒng),TR 1 s,TE11 ms,層厚1 mm,視野(FOV) 3.5 cm × 3.5 cm,矩陣128×128,分辨率 0.02 mm×0.02 mm×0.02 mm。
2.2VC++調(diào)用MATLAB
(1) MATLAB編譯器(mcc)
mcc是MATLAB中經(jīng)過優(yōu)化的編譯器。使用mcc,用戶可以將MATLAB數(shù)學(xué)庫、圖形庫和界面的MATLAB程序編譯成為獨(dú)立于MATLAB的exe應(yīng)用程序和DLL動態(tài)連接庫[11,15]。在VC++中設(shè)置用戶界面并且調(diào)用exe應(yīng)用程序,就可以脫離MATLAB平臺而獨(dú)立運(yùn)行,值得注意的是:此時計算機(jī)也需要安裝相應(yīng)的MCRInstaller.exe來配置上述exe程序運(yùn)行所需要的環(huán)境。此種方式極大地方便使用者,無須安裝整個MATLAB平臺就可以實現(xiàn)相同的功能。
(2) MATLAB編譯環(huán)境設(shè)置
首先在MATLAB命令提示符下輸入mbuild-setup 命令,選擇編譯器[11]。(需要注意的是必須確保計算機(jī)上已經(jīng)安裝了某個版本的VC++,并且VC++6.0是32位的,所以32位的MATLAB才能識別出VC++6.0。本文選擇visual C++6.0和32位的MATLAB 7.1。)
(3) mcc 編譯exe應(yīng)用程序
連接MATLAB和VC++成功后,在MATLAB中分別輸入 mcc-e be_ls.fig 和mcc-e defineContours.fig ,將相應(yīng)的MATLAB中運(yùn)行的fig文件編譯成相應(yīng)的exe。此時的exe文件可以移植到未安裝MATLAB的電腦上運(yùn)行。同時需要安裝的文件還包含MCRInstaller.exe用以配置獨(dú)立運(yùn)行所需要的類MATLAB環(huán)境。
(4) VC++編譯獨(dú)立運(yùn)行exe
此時生成的exe應(yīng)用程序包含be_ls.exe 和defineContours.exe,實際的使用過程中比較繁瑣,所以我們在VC++ 中設(shè)置一個用戶界面。建立一個MFC程序,加入兩個按鈕并給按鈕添加WinExec函數(shù)調(diào)用相應(yīng)的exe。
MFC中通過
WinExec("be_ls.exe",NULL)
調(diào)用be_ls.exe。
完成以后只需要在電腦上提前安裝MCRInstaller.exe,就可以將exe應(yīng)用程序移植到該電腦。減少了安裝MATLAB的冗雜和所需要的內(nèi)存空間。
表1 改進(jìn)結(jié)果分析
表1中列出了程序改進(jìn)前后的效果分析??梢悦黠@地得出BET程序改進(jìn)后不僅節(jié)省了輸入復(fù)雜命令的時間。并且MRI圖像分割質(zhì)量也沒有改變。由于MATLAB具有圖像處理方面獨(dú)特的優(yōu)勢,所以經(jīng)過分割的MRI圖像不需要換環(huán)境,就可以在MATLAB中實現(xiàn)后續(xù)的處理。對于提升整個預(yù)處理流程的周期也有明顯的提升。而從水平集程序列出了改進(jìn)前后的效果。容易得出:改進(jìn)后的活動輪廓模型可以在未安裝MALTAB的PC機(jī)上運(yùn)行,不僅節(jié)省了正版軟件的經(jīng)濟(jì)支出和安裝MATLAB的冗雜,而且還縮短了整個分割的周期。這種Standalone方式對于臨床有積極的作用。
針對BET算法,本文中對比了來自不同設(shè)備(SIMENS和GE)、不同大小和不同分辨率MRI圖像對分割的影響。效果如圖4和圖5。通過簡單的觀察,可以看到BET算法可以有效實現(xiàn)分割。BET算法和水平集算法在醫(yī)學(xué)臨床和圖像處理方面已經(jīng)被廣泛使用,并且針對不同生理參數(shù)也提出了不同的改進(jìn)(如參考文獻(xiàn)[18-20])。文獻(xiàn)[4]對BET算法的效果進(jìn)行了詳細(xì)的分析,通過與其他分割方法的比較,BET算法可以有效地實現(xiàn)腦組織和非腦組織的分割;文獻(xiàn)[9]對水平集算法的活動輪廓模型進(jìn)行了量化分析,結(jié)果顯示基于水平集的活動輪廓模型能有效實現(xiàn)分割效果。
本文中基于PC上運(yùn)行的bet.exe和MATLAB上運(yùn)行的be_ls.m程序分別提出了在MATLAB和VC++中混合調(diào)用的方法。增加了程序的使用環(huán)境。方便了不同的用戶對程序的需求。同時也減少了程序本身的操作周期,一定程度上提高了工作的效率。
實驗和分析結(jié)果表明,基于BET算法的頭骨剝離程序和活動輪廓模型的頭骨剝離程序可以有效地實現(xiàn)腦部區(qū)域和非腦部區(qū)域的自動分割。并且通過VC++和MATLAB混合調(diào)用極大地改善了特定語言編寫的程序在運(yùn)行模式上的不足。其中通過MATLAB調(diào)用VC++編寫的bet.exe簡化了操作的復(fù)雜性,提高了工作效率。而通過VC++調(diào)用MATLAB編寫的fig程序,將依賴于MATLAB的fig程序編譯成單獨(dú)的exe應(yīng)用程序,減少了費(fèi)用和安裝軟件所需的空間。正是因為混合調(diào)用彌補(bǔ)了不同程序需要在不同平臺編程的不足,所以混合調(diào)用給使用者帶來了很大的便利。目前混合調(diào)用的方式在醫(yī)學(xué)圖像處理領(lǐng)域還少見報道,不依賴于編譯環(huán)境的Standalone方式將提升這一領(lǐng)域的工作效率,推動新的軟件運(yùn)行模式/環(huán)境在此領(lǐng)域的廣闊應(yīng)用。
[1] 陳華.基于 fMRI 數(shù)據(jù)分析的外關(guān)穴特異性研究[D].南方醫(yī)科大學(xué),2011.
[2] 裴曉敏,田秀華.MRI 腦部圖像頭骨剝離方法研究[J].計算機(jī)仿真,2009 (3): 205-207.
[3] 張海燕,李海云.核磁共振圖像腦組織自動提取方法[J].Computer Engineering and Applications,2014,50(16):168-172.
[4] Smith SM.BET: brain extraction tool,FMRIB technical report TR00SMS2b [R].Oxford Centre for Functional Magnetic Resonance Imaging of the Brain, 2002.http://www.fmrib.ox.ac.uk/fsl/bet2/.
[5] Fagiolo G,Waldman A,& Hajnal J V.A simple procedure to improve FMRIb software library brain extraction tool performance[J].The British Journal of Radiology,2008,81(963):250-251.
[6] Wang Y,Nie J,Yap P T,et al.Knowledge-guided robust MRI brain extraction for diverse large-scale neuroimaging studies on humans and non-human primates[J].PloS one,2014,9(1): e77810.
[7] 張偉瑞.基于 graph-cuts 的腦組織自動提取方法[D].南昌航空大學(xué),2013.
[8] 江少鋒,王文輝,馮前進(jìn),等.基于改進(jìn) BET 算法的 MR 顱腦圖像腦組織自動提取[J].中國圖象圖形學(xué)報,2009 (10): 2029-2034.
[9] Uberti M G,Boska M D,Liu Y.A semi-automatic image segmentation method for extraction of brain volume from in vivo mouse head magnetic resonance imaging using constraint level sets[J].Journal of neuroscience methods,2009,179(2): 338-344.
[10] Wang H,Huang T Z,Xu Z,et al.An active contour model and its algorithms with local and global Gaussian distribution fitting energies[J].Information Sciences,2014,263: 43-59.
[11] Zheng Q,Dong E,Cao Z,et al.Active contour model driven by linear speed function for local segmentation with robust initialization and applications in MR brain images[J].Signal Processing,2014,97: 117-133.
[12] Li C,Xu C,Gui C,et al.Level set evolution without re-initialization: a new variational formulation[C]//Computer Vision and Pattern Recognition,2005.CVPR 2005.IEEE Computer Society Conference on.IEEE,2005,1: 430-436.
[13] 張沛露,王建軍.VC++ 與 MATLAB 混合編程方法[J].吉林建筑工程學(xué)院學(xué)報,2014(6):57-60.
[14] 穆以東,趙嶺.VC++ 與 MATLAB 混合編程方法研究[J].測控技術(shù),2013,32(9): 111-114.
[15] 甘禹,陳煒,楊秀萍,等.VC 與 MATLAB 的混合編程研究及其應(yīng)用[J].天津理工大學(xué)學(xué)報,2014,30(3):5-8.
[16] 付慧琳,劉芳,鄧友燕.C++ 與 MATLAB 混合編程模式的研究與實現(xiàn)[J].電子科技,2014,27(11): 73-75.
[17] 魯曉東.Visual C++ 與 MATLAB 的界面混合編程[J].實驗室研究與探索,2011,30(7): 76-78.
[18] 江少鋒,王文輝,馮前進(jìn),等.基于改進(jìn) BET 算法的 MR 顱腦圖像腦組織自動提取[J].中國圖象圖形學(xué)報,2009 (10): 2029-2034.
[19] 敖謙,朱燕平,江少鋒.基于混合水平集的腦組織自動提取方法[J].計算機(jī)應(yīng)用,2013,33(7): 2014-2017.
[20] 鄭罡,王惠南.基于水平集的多相活動輪廓圖像分割模型 (英文)[J].南京航空航天大學(xué)學(xué)報: 英文版,2006 (2): 132-137.
MRI IMAGE PREPROCESSOR BASED ON MIXED CALLING AND ITS APPLICATION
Zhang KunZhang Junran*Jiang XiaomeiChen Fuqin
(DepartmentofMedicalInformationEngineering,CollegeofElectricalEngineeringandInformationSichuanUniversity,Chengdu610065,Sichuan,China)
Since existing operations of MRI image preprocessing are too complicated or excessively rely upon the compiler environment,it seriously affects the processing efficiency and time-consuming.In view of this,the paper introduces two MRI neuroimaging picture preprocessing algorithms,both are based on mixed C ++ and MATLAB platform calling,and their applications.By calling bet.exe (VC++ compiler) in MATLAB the algorithm improves the scalability of image data processing platform (SPM,MATLAB),facilitates the completion of image processing flow on same platform,and enhances work efficiency.And by calling m subprogram in VC ++,the algorithm compiles be_ls core algorithm and fig procedures into an executable program that is independent of the programming environment.The single and executable exe can be run on a computer without installing MATLAB platform.The way of Standalone,which is not much rely on compiler environment,has been used by many professional software,but the reports about its application in MRI image processing have not yet been found.Experimental results show that through mixed calling of CV++ and MATLAB,it can not only achieve skull stripping effectively,but can also greatly shortens the cycle of operation,so that improves the work efficiency.It has a positive reference and practical significance to promoting the development of the software compiler technology in the field.
MATLABBETLevel set methodMixed callingSkull stripping
2015-03-16。國家自然科學(xué)基金項目(81000605);廣東省自然科學(xué)基金重點(diǎn)項目(S20120200-10867);四川省科技計劃項目(2015HH0036)。張坤,本科生,主研領(lǐng)域:圖像處理,信息處理。張俊然,副教授。蔣小梅,碩士生,陳富琴,碩士生。
TP391
A
10.3969/j.issn.1000-386x.2016.08.044