亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于圖像分割的網(wǎng)絡(luò)API設(shè)計(jì)與實(shí)現(xiàn)

        2016-12-23 11:18:52馮春雨
        電子設(shè)計(jì)工程 2016年24期
        關(guān)鍵詞:程序

        馮春雨,趙 建,趙 耀

        (1.河北省科學(xué)院應(yīng)用數(shù)學(xué)研究所 河北 石家莊050081;2.河北師范大學(xué) 河北 石家莊050024;3.中國(guó)人民銀行石家莊中心支行 河北 石家莊050000)

        基于圖像分割的網(wǎng)絡(luò)API設(shè)計(jì)與實(shí)現(xiàn)

        馮春雨1,趙 建2,趙 耀3

        (1.河北省科學(xué)院應(yīng)用數(shù)學(xué)研究所 河北 石家莊050081;2.河北師范大學(xué) 河北 石家莊050024;3.中國(guó)人民銀行石家莊中心支行 河北 石家莊050000)

        通過(guò)圖像分割算法在腦圖像中自動(dòng)分割出腦室并計(jì)算腦室面積,可以彌補(bǔ)人工診斷的主觀性和局限性,為臨床診療提供了更加客觀、全面的決策支持。另外,通過(guò)網(wǎng)絡(luò)API的形式提供服務(wù),復(fù)雜的算法運(yùn)算在服務(wù)器端完成,使用者只需在瀏覽器中進(jìn)行簡(jiǎn)單的操作就可獲得想要的結(jié)果。此方法不僅方便快捷,同時(shí)還大大降低對(duì)硬件資源的要求。

        圖像分割;網(wǎng)絡(luò)API;輔助診斷;JAVA本地接口

        近年來(lái),腦部疾病以其高發(fā)病率、高死亡率、高致殘率、高復(fù)發(fā)率及多并發(fā)癥等特點(diǎn)成為威脅人類健康的重要因素。據(jù)報(bào)道,我國(guó)每年有超過(guò)200多萬(wàn)人發(fā)生腦疾,其中我國(guó)每年死于腦疾病患者約有100萬(wàn)以上,腦疾病病死率約為45%。因而,如何借助于醫(yī)學(xué)影像檢查,定性和定量地分析腦組織,進(jìn)而分析與腦疾病的關(guān)系已經(jīng)成為當(dāng)前的研究熱點(diǎn)。

        核磁共振成像(MRI)是對(duì)腦部疾病進(jìn)行診斷的重要手段[1]。由于大腦結(jié)構(gòu)的復(fù)雜性和個(gè)體差異性,準(zhǔn)確地在MRI顱腦圖像中測(cè)量感興趣的腦組織是一項(xiàng)極為復(fù)雜和困難的任務(wù)。過(guò)去,定量化的測(cè)量腦組織尚不精確,病情診斷方面往往依賴醫(yī)生的經(jīng)驗(yàn)。隨著計(jì)算機(jī)的應(yīng)用與發(fā)展,醫(yī)院管理信息化和智能化水平的不斷提高,醫(yī)院信息系統(tǒng)在醫(yī)學(xué)圖像的管理、分析和輔助醫(yī)生診斷中發(fā)揮著不可替代的作用[2]。

        本論文中通過(guò)前期改良的圖像分割算法在腦圖像中自動(dòng)分割出腦室并計(jì)算腦室面積,可以彌補(bǔ)人工診斷的主觀性和局限性,為臨床診療提供了更加客觀、全面的決策支持。另外,通過(guò)網(wǎng)絡(luò)API的形式提供服務(wù),復(fù)雜的算法運(yùn)算在服務(wù)器端完成,使用者只需在瀏覽器中進(jìn)行簡(jiǎn)單的操作就可獲得想要的結(jié)果。此方法不僅方便快捷,同時(shí)還大大降低對(duì)硬件資源的要求。

        1 總體設(shè)計(jì)思路

        因圖像分割算法涉及許多復(fù)雜的數(shù)學(xué)運(yùn)算[3-7],如果采用常用的編程語(yǔ)言(C/C++、Java等)實(shí)現(xiàn)的話編程工作量將非常巨大。Matlab是面向科學(xué)計(jì)算的常用軟件,具有高效的數(shù)值計(jì)算及符號(hào)計(jì)算功能,且語(yǔ)法特征與C++語(yǔ)言極為相似,簡(jiǎn)單易用[8]。使用Matlab可以輕松完成一些繁雜的數(shù)學(xué)運(yùn)算,因此對(duì)于一些復(fù)雜的算法可以先通過(guò)Matlab實(shí)現(xiàn),然后被其它編程語(yǔ)言調(diào)用。在C程序中調(diào)用Matlab程序有兩種方式[9-10]。第一種是C程序直接調(diào)用Matlab引擎,第二種是將Matlab程序打包成動(dòng)態(tài)鏈接庫(kù)文件(DLL)在C語(yǔ)言環(huán)境下調(diào)用。兩種方式各有優(yōu)缺點(diǎn),本文中采用第二種方式。首先利用Matlab實(shí)現(xiàn)圖像分割算法[11-12],然后將Matlab程序編譯成C可調(diào)用的Dll,編寫(xiě)C接口及數(shù)據(jù)轉(zhuǎn)換程序并打包成DLL,最后通過(guò)JNI調(diào)用C編譯生成的DLL完成網(wǎng)絡(luò)API的設(shè)計(jì)[13]。

        2 前期準(zhǔn)備

        文中實(shí)驗(yàn)中使用的計(jì)算機(jī)主要配置為 intel i7-3770 CPU,內(nèi)存大小4G,硬盤(pán)空間500G。操作系統(tǒng)為Window XP,C編譯器使用VC++6.0,Matlab使用 Matlab9.0 32位版本,Java環(huán)境使用 JDK 1.7.0_67版本,Web應(yīng)用服務(wù)器使用Tomcat 7.0.61版本。C編譯器和Matlab選取時(shí)只要在Matlab中能夠找到C編譯器就行,一般來(lái)說(shuō)只要C編譯器的版本不高于 Matlab版本就能達(dá)到此要求。如 Matlab2012b和VS2010/VS2012,Matlab2014和 VS2010/2012等等。 利用Matlab編寫(xiě)改進(jìn)后的圖像分割算法,文中算法主程序?yàn)镈emo_LGD.m文件。

        3 Matlab編譯器設(shè)置

        1)在Matlab的command window里面輸入mex–setup,Matlab詢問(wèn)是否定位計(jì)算機(jī)上安裝的編譯器,輸入y,Matlab會(huì)列出所有電腦上所有的編譯器,這里選擇2,即VC++6.0,如圖1所示。

        圖1 選擇編譯器

        2)選擇build工具。完成以上步驟后,輸入mbuild-setup,選擇build工具,過(guò)程跟上一步類似,結(jié)果見(jiàn)圖2。

        圖2 選擇build工具

        4 M文件編譯

        在Matlab的command window里面敲入命令:mcc-W cpplib:LGD-T link:lib Demo_LGD,其中,mcc是Matlab提供的編譯命令,-W是控制編譯之后的封裝格式,cpplib是指編譯成C++的lib,cpplib冒號(hào)后面指定編譯后庫(kù)的名字,-T表示目標(biāo),link:lib表示要連接到一個(gè)庫(kù)文件的目標(biāo),目標(biāo)的名字是后面的Demo_LGD,即你寫(xiě)的m函數(shù)的名字。詳細(xì)說(shuō)明可在Matlab命令窗口敲入help mcc或mcc-?查看幫助。

        Matlab完成指令運(yùn)行后,在Matlab工程目錄下面會(huì)出現(xiàn)多個(gè)文件,其中對(duì)我們來(lái)說(shuō)有用的是LGD.cpp,LGD.dll,LGD.h和LGD.lib這4個(gè)文件。LGD.dll是編譯好的動(dòng)態(tài)鏈接庫(kù),實(shí)現(xiàn)圖像分割的函數(shù)封裝在個(gè)文件里面,LGD.h是對(duì)應(yīng)的頭文件,在C里面調(diào)用這個(gè)函數(shù)的時(shí)候,需要include這個(gè)頭文件,在這個(gè)頭文件的最后,你可以看到下面的內(nèi)容:

        這就是Demo_LGD的C函數(shù)的聲明。nargout表示輸出變量的個(gè)數(shù)area1,area2,infile,outfile,X,Y,InforDef,Compress對(duì)應(yīng)m函數(shù)的幾個(gè)變量。注意,除nargout外其它變量的類型都是mwArray。mwArray是一個(gè)類,是Matlab提供的一個(gè)特殊的變量類型。C程序調(diào)用Matlab程序時(shí)需進(jìn)行數(shù)據(jù)類型轉(zhuǎn)換,這些內(nèi)容會(huì)在第6節(jié)中提到。

        5 VC環(huán)境設(shè)置

        為了在C程序能夠調(diào)用上一節(jié)生成的dll和lib文件,支持Java編譯(JNI用到),需對(duì)VC環(huán)境進(jìn)行設(shè)置,具體步驟如下:

        1)打開(kāi)VC程序并建立一個(gè)動(dòng)態(tài)鏈接庫(kù)工程,這里起名為MRISegment,將上面生成的LGD.cpp,LGD.dll,LGD.h和LGD.lib 4個(gè)文件拷貝到工程目錄下。

        2)在tool-option-directory里面設(shè)置include頭文件和lib的路徑。首先是include中添加Matlab和JAVA頭文件的路徑,如圖3最下面3行所示,根據(jù)具體情況選擇Matlab和JDK軟件的安裝目錄。

        圖3 添加頭文件路徑

        然后添加lib的位置,不僅需要添加Matlab靜態(tài)庫(kù)的位置,而且也要把剛編譯生成的lib位置添加進(jìn)來(lái),如圖4最后兩行所示。

        圖4 添加鏈接庫(kù)文件路徑

        3)添加所需lib文件。路徑設(shè)置好后,在project Settinglink-Object/library modules里面加入 mclmcrrt.lib、libmx.lib、libmat.lib、mclmcr.lib和LGD.lib 4個(gè)文件,文件名之間用空格隔開(kāi),如圖5所示。

        圖5 添加鏈接庫(kù)文件

        6 JNI及C接口程序編寫(xiě)

        如果網(wǎng)站管理后臺(tái)采用C語(yǔ)言編寫(xiě),可以直接調(diào)用Matlab打包生成的DLL。如果使用Java語(yǔ)言編寫(xiě),則無(wú)法直接調(diào)用Matlab打包生成的DLL,可以采用JNI(Java Native Interface)形式快速有效的完成程序間的調(diào)用[14-15]。本節(jié)簡(jiǎn)單介紹通過(guò)JNI調(diào)用算法DLL的流程。

        1)新建一個(gè)txt文件,起名為MRISegment,將后綴名改為java,該文件主要定義一個(gè)java類實(shí)現(xiàn)對(duì)調(diào)用函數(shù)的封裝。內(nèi)容如下:

        2)生成class文件。調(diào)出命令行程序,將路徑設(shè)置為上面所建java文件所在路徑(或者下一步j(luò)avac命令中文件帶有絕對(duì)路徑)[16],輸入javac MRISegment.java,生成MRISegment. class文件。

        3)生成h文件。將路徑設(shè)置為MRISegment.class文件所在路徑(或者下一步j(luò)avah命令中文件帶有絕對(duì)路徑),輸入javah-jni MRISegment,生成MRISegment.h文件,并將該文件拷貝到MRISegment工程目錄下。

        4)編譯生成C動(dòng)態(tài)鏈接庫(kù)。首先在MRISegment工程中新建cpp文件。該cpp主要實(shí)現(xiàn)Java和C之間、C和Matlab之間數(shù)據(jù)格式的轉(zhuǎn)換以及MRISegment.h文件中定義的函數(shù)[17]。編譯工程生成MRISegment.dll。

        7 API調(diào)用頁(yè)面顯示

        前臺(tái)頁(yè)面主要負(fù)責(zé)圖像的顯示以及坐標(biāo)點(diǎn)、參數(shù)的輸入以及處理后圖像的呈現(xiàn),數(shù)據(jù)提交到后臺(tái)調(diào)用第六節(jié)中生成的MRISegment.dll。圖像處理完畢后將結(jié)果返回給前臺(tái)頁(yè)面。圖6~8為實(shí)現(xiàn)過(guò)程的頁(yè)面截圖。

        圖6 加載圖像

        圖7 選擇目標(biāo)區(qū)域

        圖8 結(jié)果顯示

        8 結(jié) 論

        文中通過(guò)計(jì)算機(jī)自動(dòng)分割出腦室并計(jì)算腦室面積,一定程度上彌補(bǔ)了人工診斷的主觀性和局限性。另外,以網(wǎng)絡(luò)API的形式為醫(yī)務(wù)人員提供服務(wù),使用人員不需購(gòu)置昂貴的設(shè)備,可以通過(guò)任何一個(gè)帶有網(wǎng)絡(luò)的普通PC或者移動(dòng)設(shè)備隨時(shí)隨地獲取服務(wù),既方便快捷又大大節(jié)省了使用方的費(fèi)用。因此,該方式具有較高的商業(yè)價(jià)值,可在縣級(jí)以上醫(yī)療機(jī)構(gòu)大面積推廣,產(chǎn)生較好的經(jīng)濟(jì)效益。

        [1]陳武凡,康立麗.MRI原理與技術(shù)[M].北京:科學(xué)出版社,2012.

        [2]章毓晉.圖像工程[M].第2版.北京:清華大學(xué)出版社,2007.

        [3]Song Z,Tustison N,Avants B,et al.Integrated graph cuts for brain MRI segmentation.Proceedings of Medical Image[J]. Computing and Computer Aided Intervention,2006:831-838.

        [4]Kapur T,Grimson W E,Wells W M,et al.Segmentation of brain tissue from magnetic resonance images [J].Medical Image Analysis,1996,1(2):109-127.

        [5]Piovano J,Rousson M,Papadopoula T.Efficient segmentation of piecewise smooth image[J].SSVM,2007:709-720.

        [6]Shi F,F(xiàn)an Y,Tang S,et al.Neonatal brain image segmentation in longitudinal MRl studies[J].Neurvlmage,2010,49(1):391-400.

        [7]陳志彬,邱天爽,Ruan S,一種基于FCM和Level Set的MRI醫(yī)學(xué)圖像分割方法[J].電子學(xué)報(bào),2008,36(9):1733-1736.

        [8]楊丹,趙海濱,龍哲.MATLAB圖像處理實(shí)例詳解 [M].北京:清華大學(xué)出版社,2013.

        [9]劉維.精通Matlab與C/C++混合程序設(shè)計(jì)[M].第4版.北京:北京航空航天大學(xué)出版社,2015.

        [10]明日科技.Visual C++從入門(mén)到精通[M].第3版.北京:清華大學(xué)出版社,2012.

        [11]Wang L,Li C,Sun Q,et al,Active contours driven by local and global intensity fitting energy with application to brain MR images segmentation[J].Computerized Medical Imaging and Graphics,October 2009,33(7):520-531.

        [12]Wang L,Chen Y,Pan X,et al.Level set segmentation of brain magnetic resonance images based on local Gaussian distribution fitting energy [J].Journal of Neuroscience Methods,2010,188(2):316-325.

        [13]霍斯特曼,科內(nèi)爾.Java核心技術(shù) 卷II高級(jí)特性[M].陳昊鵬,譯.北京:機(jī)械工業(yè)出版社,2014.

        [14]李東博.HTML5+CSS3從入門(mén)到精通[M].北京:清華大學(xué)出版社,2013.

        [15]李寧,劉巖,張國(guó)平.Java Web編程實(shí)戰(zhàn)寶典:JSP+Servlet +Struts 2+Hibernate+Spring+Ajax[M].北京:清華大學(xué)出版社,2014.

        [16]王坤.基于SVPWM的STATCOM設(shè)計(jì)及實(shí)現(xiàn)[J].陜西電力,2011(1):11-15.

        [17]朱向東,呼延霄,劉軼,等.基于Matlab/dSPACE的無(wú)刷直流電機(jī)雙閉環(huán)控制實(shí)時(shí)仿真[J].火箭推進(jìn),2015(1):117.

        Design and implementation of network API based on image segmentation

        FENG Chun-yu1,ZHAO Jian2,ZHAO Yao3
        (1.Applied Mathematics Research Institute of Hebei Academy of Science,Shijiazhuang 050081,China;2.Hebei Normal University,Shijiazhuang 050024,China;3.The People’s Bank of China Shijiazhuang Central Sub-Branch,Shijiazhuang 050000,China)

        Auto-segment of ventricle through image segmentation algorithm and calculating its area,which can make up the subjectivity and limitation of artificial diagnosis and provide move objective and comprehensive decision support for clinic treatment.Besides,through network API,the complicate algorithm can be run on server,and the user can get what they want by simple operation in web browser.So,this way is not only convenient and efficient,but also low hardware resource requirement.

        image segmentation;network API;auxiliary diagnosis;JNI

        TN919.8

        A

        1674-6236(2016)24-0169-04

        2015-11-16 稿件編號(hào):201512179

        馮春雨(1982—),男,河北邢臺(tái)人,碩士,助理研究員。研究方向:機(jī)器學(xué)習(xí),信息安全及圖像處理。

        猜你喜歡
        程序
        給Windows添加程序快速切換欄
        試論我國(guó)未決羈押程序的立法完善
        失能的信仰——走向衰亡的民事訴訟程序
        “程序猿”的生活什么樣
        英國(guó)與歐盟正式啟動(dòng)“離婚”程序程序
        基于VMM的程序行為異常檢測(cè)
        偵查實(shí)驗(yàn)批準(zhǔn)程序初探
        我國(guó)刑事速裁程序的構(gòu)建
        創(chuàng)衛(wèi)暗訪程序有待改進(jìn)
        恐怖犯罪刑事訴訟程序的完善
        成人免费播放片高清在线观看| 久久中文精品无码中文字幕 | 亚洲黄色官网在线观看| 成人国产精品三上悠亚久久| 精品午夜中文字幕熟女| 久久精品视频日本免费| 成人区人妻精品一区二区三区| ā片在线观看免费观看| 免费无遮挡无码视频在线观看| 中文字幕久久精品波多野结百度 | 亚洲av无码国产精品久久| 免费a级毛片永久免费| 国产偷国产偷亚洲欧美高清| 亚洲福利网站在线一区不卡| 久久久久av综合网成人| 国产涩涩视频在线观看| 亚洲Va中文字幕久久无码一区| 久久久久久久久久91精品日韩午夜福利| 国产青青草自拍视频在线播放 | 亚洲精华国产精华液的福利| 国产高清在线精品免费| 精品亚洲人伦一区二区三区| 91亚洲国产成人精品一区.| 白丝兔女郎m开腿sm调教室| 欧美jizzhd精品欧美| 色欲AV无码久久精品有码| 91精品亚洲熟妇少妇| 国产v片在线播放免费无码 | 中文字幕久久久久人妻无码| 中文字幕日韩精品中文字幕| 精品粉嫩av一区二区三区| 亚洲精品天堂成人片av在线播放| 亚洲第一看片| 91桃色在线播放国产| 小雪好紧好滑好湿好爽视频| 亚洲国产成人久久一区www| 国产成人拍精品免费视频| 免费人成网站在线播放| 亚洲av不卡无码国产| 性欧美牲交xxxxx视频欧美 | 视频在线观看国产自拍|