欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

基于點(diǎn)重建的超大規(guī)模醫(yī)學(xué)影像三維可視化方法

文檔序號(hào):6421195閱讀:240來(lái)源:國(guó)知局
專利名稱:基于點(diǎn)重建的超大規(guī)模醫(yī)學(xué)影像三維可視化方法
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算機(jī)圖形學(xué)和模式識(shí)別技術(shù)領(lǐng)域,特別涉及一種利用點(diǎn)的重建來(lái)進(jìn)行超大規(guī)模醫(yī)學(xué)影像三維可視化的方法。
背景技術(shù)
自從X射線發(fā)明以來(lái),CT(計(jì)算機(jī)斷層成像)、MRI(核磁共振成像)、CR(計(jì)算機(jī)X線成像)、B超、電子內(nèi)窺鏡等現(xiàn)代醫(yī)學(xué)影像設(shè)備先后出現(xiàn),使傳統(tǒng)的醫(yī)學(xué)診斷方式發(fā)生了革命性的變化。隨著現(xiàn)代計(jì)算機(jī)科學(xué)技術(shù)的發(fā)展,醫(yī)學(xué)影像處理作為一門新興的交叉學(xué)科也隨之出現(xiàn),給醫(yī)學(xué)診斷帶來(lái)了新的曙光。但是傳統(tǒng)的看片方式都是二維的,需要經(jīng)過(guò)訓(xùn)練的放射科醫(yī)生來(lái)看片并做出判斷,隨著計(jì)算機(jī)可視化技術(shù)的發(fā)展,醫(yī)學(xué)影像的三維可視化也變得可能。醫(yī)生通過(guò)計(jì)算機(jī)的輔助,可以看到人體器官的逼真的三維圖像,從而可以提高診斷的正確率。
目前在醫(yī)學(xué)影像處理領(lǐng)域使用的比較流行的三維可視化方法可以分為兩大類,一類是基于體素的(Voxel-based),另外一類是基于三角面片的(Triangle-based)。
基于體素的方法是最早應(yīng)用于醫(yī)學(xué)影像領(lǐng)域的,它用體素作為最基本的單元。所謂體素,就是以原始數(shù)據(jù)集的每個(gè)網(wǎng)格點(diǎn)為中心的一個(gè)立方體,一個(gè)感興趣的器官的表面可以用一套體素來(lái)表達(dá),在繪制的時(shí)候?qū)⒖梢?jiàn)的體素表面繪制出來(lái)。由于這種方法直接將原始的網(wǎng)格點(diǎn)和待抽取的表面聯(lián)系起來(lái),并且體素的表達(dá)方法很簡(jiǎn)單有效,因此受到了很多研究者的重視。但是基于體素的方法必須使用純軟件實(shí)現(xiàn),這使得它不能用來(lái)實(shí)時(shí)處理超大規(guī)模數(shù)據(jù)集。
基于三角面片的方法是從傳統(tǒng)的圖形學(xué)領(lǐng)域引進(jìn)醫(yī)學(xué)影像領(lǐng)域的,隨著MC(Marching Cubes移動(dòng)立方體)算法的巨大成功,它在醫(yī)學(xué)影像領(lǐng)域也得到了越來(lái)越廣泛的應(yīng)用。但是,原始的MC算法存在三大嚴(yán)重問(wèn)題拓?fù)洳灰恢隆⒂?jì)算效率低以及輸出的三角片太多,很大程度地限制了它在實(shí)際中的使用,并且它也不適應(yīng)于超大規(guī)模數(shù)據(jù)集的實(shí)時(shí)可視化。
隨著醫(yī)學(xué)影像設(shè)備技術(shù)的不斷進(jìn)步,醫(yī)學(xué)影像的空間解析度越來(lái)越高,所得到的切片張數(shù)也越來(lái)越多,給已有的三維可視化算法帶來(lái)了嚴(yán)峻的挑戰(zhàn)。特別是自從虛擬人體項(xiàng)目出現(xiàn)以來(lái),美國(guó)的虛擬人體得到的數(shù)據(jù)量大于36GB,而中國(guó)的虛擬人體得到的數(shù)據(jù)量更是大于100GB,如此海量的數(shù)據(jù)使得三維的實(shí)時(shí)處理和顯示變得更為困難,如果使用傳統(tǒng)的可視化算法的話,將會(huì)得到上千萬(wàn)甚至上億的體素或者三角面片,這在目前的情況下,即使是使用超級(jí)計(jì)算機(jī)也無(wú)法實(shí)時(shí)處理,從而開發(fā)新的能夠高效處理海量、超大規(guī)模的醫(yī)學(xué)影像數(shù)據(jù)集的方法顯得尤為迫切。

發(fā)明內(nèi)容
本發(fā)明的目的是充分利用現(xiàn)有的普通PC(個(gè)人電腦)的硬件能力,開發(fā)一種能夠高效快速地處理超大規(guī)模醫(yī)學(xué)影像數(shù)據(jù)集,從而能夠處理目前越來(lái)越多的海量的醫(yī)學(xué)影像數(shù)據(jù),進(jìn)而從數(shù)據(jù)中更好地得到有用的信息。
為了實(shí)現(xiàn)上述目的,本發(fā)明的技術(shù)解決方案是提供一種基于點(diǎn)重建的超大規(guī)模醫(yī)學(xué)影像三維可視化方法,其包括(1)分割步驟,使用域值分割或者區(qū)域增長(zhǎng)分割方法從醫(yī)學(xué)影像的二維切片中將感興趣的部分分割出來(lái);(2)基于點(diǎn)的重建步驟,又包括兩個(gè)子步驟單層表面跟蹤和生成邊界球分層;
a)單層表面跟蹤步驟,使用單層表面跟蹤的方法,將分割所得的感興趣的表面提取出來(lái),并以點(diǎn)云的形式表達(dá);b)生成邊界球分層步驟,將上一步生成的點(diǎn)云存儲(chǔ)到一棵樹中,樹中每個(gè)節(jié)點(diǎn)記錄這個(gè)點(diǎn)的邊界球信息;(3)三維繪制步驟,對(duì)提取出來(lái)的基于點(diǎn)的三維表面模型,使用基于點(diǎn)的繪制方法來(lái)進(jìn)行交互式地顯示。
在上面所述方法中,第(2)步基于點(diǎn)的重建步驟,以點(diǎn)作為重建的基本單元,且每個(gè)點(diǎn)的半徑是相等的。
在上面所述方法中,第(2)步中a)單層表面跟蹤步驟,在進(jìn)行單層表面跟蹤時(shí),對(duì)x坐標(biāo)進(jìn)行量化、編碼,不對(duì)y、z坐標(biāo)進(jìn)行量化、編碼計(jì)算。
在上面所述方法中,第(2)步中b)生成邊界球分層步驟,在生成邊界球分層時(shí),使用八叉樹組織節(jié)點(diǎn)信息。
在上面所述方法中,八叉樹每個(gè)節(jié)點(diǎn)信息的量化編碼是32位,分為兩組,一組是x坐標(biāo)組,一組是法向量坐標(biāo)組,都為16位。
在上面所述方法中,x坐標(biāo)組分為x坐標(biāo)、樹結(jié)構(gòu)和法向量錐三個(gè)字段。x坐標(biāo)被量化、編碼成10位;在樹結(jié)構(gòu)中,編碼成4位;法向量錐為2位。
在上面所述方法中,樹結(jié)構(gòu)使用3位去記錄每個(gè)節(jié)點(diǎn)的子節(jié)點(diǎn)個(gè)數(shù),使用1位去記錄當(dāng)前節(jié)點(diǎn)是否有子孫節(jié)點(diǎn);法向量錐的2位,用來(lái)記錄當(dāng)前節(jié)點(diǎn)法向量錐的范圍。
鑒于目前個(gè)人電腦(PC)的運(yùn)算能力日益增強(qiáng),并且適用于PC的主流顯卡的繪制速度也在不斷地增加,本發(fā)明的主要目標(biāo)是在配有一塊中檔顯卡(如NVidia GeForce 2 GTS)的普通的PC上(在我國(guó)普及率很高)實(shí)現(xiàn)與虛擬人體數(shù)據(jù)集相當(dāng)規(guī)模的超大規(guī)模數(shù)據(jù)集的快速三維重建與實(shí)時(shí)顯示。使用傳統(tǒng)的重建方法無(wú)法處理如此海量的醫(yī)學(xué)影像數(shù)據(jù)集,或者處理速度非常慢,且要在昂貴的工作站上進(jìn)行。本發(fā)明具有高可信度、可應(yīng)用性和可采納性,并且在醫(yī)學(xué)領(lǐng)域具有重要的應(yīng)用價(jià)值。


圖1是基于點(diǎn)重建的超大規(guī)模醫(yī)學(xué)影像三維可視化方法的構(gòu)成圖;圖2是基于點(diǎn)的重建步驟的方框圖;圖3是表面體素的半徑的選取的示意圖;圖4是使用基于點(diǎn)的單層表面跟蹤算法能正確處理的連接性示意圖;圖5是使用基于點(diǎn)的單層表面跟蹤算法能正確處理的連接性示意圖;圖6是輸出點(diǎn)云的數(shù)據(jù)結(jié)構(gòu)的示意圖;圖7是量化編碼后節(jié)點(diǎn)的32bits的意義解釋及其示意圖;圖8是基于點(diǎn)的三維繪制的流程圖;圖9是本方法的實(shí)驗(yàn)結(jié)果1在虛擬人體數(shù)據(jù)集上重建出來(lái)的骨骼模型;圖10是本方法的實(shí)驗(yàn)結(jié)果2在虛擬人體數(shù)據(jù)集上重建出來(lái)的皮膚模型。
具體實(shí)施例方式
下面詳細(xì)描述本發(fā)明的基于點(diǎn)重建的超大規(guī)模醫(yī)學(xué)影像三維可視化方法。本實(shí)現(xiàn)方案由三個(gè)主要步驟組成,結(jié)構(gòu)圖可以參見(jiàn)圖1。這三個(gè)步驟分別是分割步驟、基于點(diǎn)的重建步驟和三維繪制步驟,下面逐一進(jìn)行介紹。
步驟一分割這一步的目的是為基于點(diǎn)的重建算法做預(yù)處理,將目標(biāo)物體從背景中分割出來(lái),也稱為二值化的過(guò)程。分割對(duì)于高質(zhì)量的三維重建是至關(guān)重要的,因?yàn)樗鼪Q定著最終顯示出來(lái)的物體是否是我們感興趣的器官。
分割方法有很多不同的種類,每一種類都適合于不同的來(lái)源影像。比如閾值分割對(duì)CT(計(jì)算機(jī)斷層成像)比較有效,但是對(duì)于MRI(核磁共振成像)圖像來(lái)講,由于人體內(nèi)部結(jié)構(gòu)復(fù)雜、生物組織的蠕動(dòng)和MRI(核磁共振)成像的特點(diǎn),造成醫(yī)學(xué)圖像中目標(biāo)物體不可避免的受到其它物體甚至是噪聲的干擾,使得物體局部邊緣特征模糊,用閾值分割就難以得到較好的效果。所以最好的方法就是將分割方法和三維重建方法結(jié)合起來(lái),提供盡可能多的分割方法,針對(duì)不同的來(lái)源影像選用不同的分割方法,得到高精確度的分割結(jié)果以后,再應(yīng)用表面重建方法。
在這里我們介紹兩種比較實(shí)用的分割方法域值法和區(qū)域增長(zhǎng)法。閾值法的關(guān)鍵是閾值的選擇,可以由用戶選擇區(qū)分背景與非背景的灰度閾值,也可用自動(dòng)閾值法確定閾值。常見(jiàn)的自動(dòng)閾值法有P-參數(shù)法,狀態(tài)法,微分直方圖法,判別分析法和可變閾值法。針對(duì)醫(yī)學(xué)圖像噪聲多的特點(diǎn),可以采用判別分析法。即在圖像灰度值的直方圖中,求得閾值t把灰度值的集合分成兩組,使得兩組得到最佳分離。最佳分離的標(biāo)準(zhǔn)是兩組的平均值的方差和各組方差的比為最大。該方法在直方圖中有兩個(gè)波峰時(shí),可作為狀態(tài)法起作用;即使不存在波峰時(shí)也可求出閾值。設(shè)給定圖像具有L級(jí)灰度值,閾值為k,k將圖像的像素分成兩組1,2。組1的像素?cái)?shù)設(shè)為ω1(k),平均灰度值為M1(k),方差為σ1(k);組2的像素?cái)?shù)設(shè)為ω2(k),平均灰度值為M2(k),方差為σ2(k)。設(shè)全體像素的平均灰度值定為Mτ。則組內(nèi)的方差σW2=ω1σ12+ω2σ22]]>組間的方差σB2=ω1(M1-Mτ)2+ω2(M2-Mτ)2=ω1ω2(M1-M2)2]]>最佳標(biāo)準(zhǔn) 值為最大,即σB2取最大值。
對(duì)于區(qū)域增長(zhǎng)法,需要用戶選擇皮膚輪廓上的一個(gè)點(diǎn)作為種子點(diǎn)。區(qū)域生長(zhǎng)的基本思想是將具有相似性質(zhì)的象素集合起來(lái)構(gòu)成區(qū)域,該方法需要先選取一個(gè)種子點(diǎn),然后依次將種子象素周圍的相似象素合并到種子象素所在的區(qū)域中。區(qū)域生長(zhǎng)算法的研究重點(diǎn)一是特征度量和區(qū)域增長(zhǎng)規(guī)則的設(shè)計(jì),二是算法的高效性和準(zhǔn)確性。我們使用對(duì)稱區(qū)域增長(zhǎng)算法,可以有效地彌補(bǔ)區(qū)域增長(zhǎng)算法的兩大弱點(diǎn)對(duì)初始種子點(diǎn)的選擇敏感,以及內(nèi)存占用過(guò)多,而且對(duì)3D連接對(duì)象標(biāo)記和刪除空洞的算法效率高。
步驟二基于點(diǎn)的重建基于點(diǎn)的重建是本發(fā)明中最重要的一部分,是考慮到醫(yī)學(xué)影像數(shù)據(jù)集的特點(diǎn),比如均勻采樣,無(wú)需顏色和紋理信息等以后,結(jié)合圖形學(xué)中基于點(diǎn)的繪制算法,提出的一個(gè)新的方法。本方法使用點(diǎn)作為表面重建的基本單元,可以省去傳統(tǒng)的重建算法中非常耗時(shí)的插值運(yùn)算。同時(shí)本發(fā)明的目標(biāo)是在普通的PC(個(gè)人電腦)機(jī)上實(shí)現(xiàn)對(duì)海量數(shù)據(jù)集的快速重建和實(shí)時(shí)繪制,除了提出基于點(diǎn)的重建算法以求在算法層次上提高速度以外,還利用了現(xiàn)代CPU(中央處理單元)提供的多媒體指令集(如MMX和SSE),以及新近的顯卡中的GPU(圖形處理單元)提供的編程能力,來(lái)進(jìn)一步在實(shí)現(xiàn)層次上提高整個(gè)方法的速度。
基于點(diǎn)的重建的方框圖如圖2所示,總共包括兩個(gè)部分單層表面跟蹤和生成邊界球分層。
第一部分單層表面跟蹤在單層表面跟蹤部分,主要的目的是從輸入的分割后的二值圖像中快速地將感興趣的器官的三維表面形狀以點(diǎn)的形式提取出來(lái)。這里使用的方法是首先遍歷整個(gè)數(shù)據(jù)集,找出代提取的表面所經(jīng)過(guò)的體素,這些體素被叫做表面體素,其它的體素被叫做背景體素。每個(gè)表面體素使用它的中心點(diǎn)坐標(biāo)和一個(gè)半徑來(lái)表示,為了避免在繪制時(shí)出現(xiàn)空洞,半徑的大小必須仔細(xì)選擇。這里考慮到醫(yī)學(xué)影像數(shù)據(jù)是在規(guī)則的長(zhǎng)方體網(wǎng)格上采樣的,因此半徑的選擇就可以直接取長(zhǎng)方體網(wǎng)格的外接球的半徑,圖3顯示了一個(gè)兩維的例子,來(lái)說(shuō)明如何選擇表面體素的半徑。圖中深顏色的格子代表表面體素,淺顏色的格子代表背景體素。對(duì)于表面體素,使用它的外接圓的半徑來(lái)作為本體素的半徑,圖中的圓圈代表每個(gè)表面體素的外接圓。
通過(guò)使用點(diǎn)作為重建的基本單元,可以消除掉非常耗時(shí)的線性插值運(yùn)算(如Marching Cubes移動(dòng)立方體算法)或者三線性插值運(yùn)算(如DividingCubes剖分立方體算法),并且因?yàn)橹恍枰?jì)算中心點(diǎn)的坐標(biāo),可以完全使用整數(shù)運(yùn)算來(lái)代替浮點(diǎn)數(shù)運(yùn)算,加上通過(guò)使用CPU(中央處理單元)的多媒體指令集,可以使重建速度得到成倍的提升。
除了運(yùn)算速度以外,為了從海量的數(shù)據(jù)集中快速有效地抽取表面,還有很多的因素需要綜合考慮。第一必須考慮內(nèi)存消耗問(wèn)題,因?yàn)楹A康臄?shù)據(jù)集不可能一次同時(shí)調(diào)入內(nèi)存,所以必須考慮如何最有效地將數(shù)據(jù)集來(lái)分層處理;第二必須考慮數(shù)據(jù)集的遍歷效率問(wèn)題,因?yàn)橛猩蟽|個(gè)體素需要遍歷,其中有一大部分屬于背景體素,如何快速地過(guò)濾掉這些背景體素也是一個(gè)需要認(rèn)真考慮的問(wèn)題。
不幸的是,內(nèi)存消耗和遍歷效率是兩個(gè)相互沖突的因素。如果使用一些空間分割技術(shù)如八叉樹等來(lái)加快體素的遍歷速度,則除了數(shù)據(jù)集以外,在內(nèi)存里還要存儲(chǔ)八叉樹等輔助結(jié)構(gòu),這對(duì)于大規(guī)模數(shù)據(jù)集顯然是不實(shí)際的;如果要節(jié)省內(nèi)存,則必然要順序地遍歷體素,這將降低重建的速度。
這里使用基于點(diǎn)的單層表面跟蹤,可以在消耗較少內(nèi)存的情況下,快速地重建出以點(diǎn)云形式表達(dá)的感興趣的表面。算法在運(yùn)行時(shí),切片數(shù)據(jù)按照從下到上的順序被分片讀入內(nèi)存,每?jī)善衅M成了一層。算法在一層中只在四個(gè)方向進(jìn)行表面跟蹤,處理完一層后再讀進(jìn)下一片切片數(shù)據(jù)。這樣可以既利用表面跟蹤的快速的遍歷速度,也可以節(jié)省內(nèi)存。
單層表面跟蹤與六個(gè)方向的表面跟蹤相比,可能會(huì)導(dǎo)致一個(gè)問(wèn)題抽取出來(lái)的表面不完全。因?yàn)槿鄙賰蓚€(gè)方向的自由度,在三維空間中是相互連接的曲面可能在一張切片中不連接,如圖4所示。
為了解決這個(gè)問(wèn)題,我們?cè)诘谝粚拥奶幚碇胁捎庙樞驋呙?,同時(shí)將在上方向上有連接的體素加入到一個(gè)種子點(diǎn)集合中,在處理下一層切片時(shí),就從這個(gè)種子點(diǎn)集合出發(fā),在四個(gè)方向上進(jìn)行跟蹤,同樣的,記錄在上方向上有連接的體素。通過(guò)這樣的種子點(diǎn)傳播,不僅提高了運(yùn)算速度,也可以部分解決上述問(wèn)題。在圖4中,用粗線表示的和用細(xì)線表示的部分在大部分切片里都不連通,但是通過(guò)這種方法,最終連在了一個(gè)表面里。但盡管這樣,仍然損失了一個(gè)向下的自由度,當(dāng)?shù)谝粚又胁话ㄋ械姆N子點(diǎn)時(shí),算法仍然可能只搜索出部分表面,如圖5所示,只有用粗線表示的部分被抽取出來(lái)。盡管這時(shí)可以再向下搜索,但一部分切片數(shù)據(jù)就要被重復(fù)讀取,同時(shí)整個(gè)算法的復(fù)雜度也大為增加。這里使用了一個(gè)簡(jiǎn)單的方法,設(shè)置一個(gè)三角面片個(gè)數(shù)域值,如果某一層里抽取出來(lái)的三角面片個(gè)數(shù)少于這個(gè)域值,則在此層中再進(jìn)行順序掃描,得到此層中完整的種子點(diǎn),然后再向上傳播。實(shí)踐證明,如果域值選擇合適,這樣作是比較有效的。
從上面的描述可以看出,使用單層表面跟蹤可以很大程度上地節(jié)約內(nèi)存,事實(shí)上,考慮到計(jì)算梯度的需要,我們?cè)趦?nèi)存里面一次容納四張切片就足夠了。盡管這樣,但是考慮到成億個(gè)要處理的體素,還必須仔細(xì)考慮表面跟蹤的輸出數(shù)據(jù)結(jié)構(gòu)怎么組織。在傳統(tǒng)的表達(dá)方式中,提取出來(lái)的點(diǎn)云中的每個(gè)點(diǎn)都被添加進(jìn)一個(gè)頂點(diǎn)列表中,并且一個(gè)頂點(diǎn)使用6個(gè)浮點(diǎn)數(shù)來(lái)記錄,三個(gè)記錄x、y、z坐標(biāo),三個(gè)記錄法向量的三個(gè)分量。對(duì)于非常大量的點(diǎn)來(lái)說(shuō),這種表達(dá)方式非常耗費(fèi)內(nèi)存,尤其是在只有有限內(nèi)存資源的普通的PC(個(gè)人電腦)機(jī)上,這種表達(dá)方式是不可行的。本方法使用了一種緊湊的數(shù)據(jù)結(jié)構(gòu)來(lái)表達(dá)抽取出的表面上的點(diǎn)的信息,請(qǐng)參看圖6,圖中,左邊的方塊代表一個(gè)數(shù)據(jù)集,每一行代表一個(gè)掃描行,中間示意出了一個(gè)掃描行包括很多個(gè)點(diǎn),最右邊是一個(gè)點(diǎn)的數(shù)據(jù)結(jié)構(gòu)。這種數(shù)據(jù)結(jié)構(gòu)類似于基于掃描線的RLE(行程編碼)編碼。假設(shè)數(shù)據(jù)集的三個(gè)方向上的維數(shù)分別為Ix,Iy和Iz,首先分配一個(gè)數(shù)組,其大小為Ix×Iz,每個(gè)元素是一個(gè)指針,代表了一個(gè)掃描行的信息。這個(gè)指針指向另外一個(gè)鏈表,鏈表中記錄了每個(gè)表面體素所抽取出來(lái)的點(diǎn)的坐標(biāo)信息和法向量信息。每個(gè)點(diǎn)的信息被定義在一個(gè)叫做PointList的結(jié)構(gòu)中,如下面的偽代碼所示struct PointList{unsigned short xPos; //x坐標(biāo)16位;unsigned short normal;//編碼后的法向量16位;}為了后續(xù)的生成邊界球分層能夠更有效地進(jìn)行,每個(gè)點(diǎn)在向鏈表里面插入的時(shí)候,必須按照x坐標(biāo)升序排列。通過(guò)使用這樣的數(shù)據(jù)結(jié)構(gòu),本方法可以僅僅記錄每個(gè)點(diǎn)的x坐標(biāo),因?yàn)槠渌鼉蓚€(gè)坐標(biāo)y和z都可以在數(shù)組尋址的時(shí)候隱式地得到。在這里,因?yàn)閤坐標(biāo)是記錄的中點(diǎn)的坐標(biāo),通過(guò)簡(jiǎn)單的放大10倍或者記錄一個(gè)0.5的偏差,就可以完全使用整數(shù)來(lái)記錄坐標(biāo),而不需要浮點(diǎn)數(shù)。并且對(duì)于目前來(lái)說(shuō)最大的數(shù)據(jù)集,16位來(lái)表達(dá)坐標(biāo)也已經(jīng)足夠用了。對(duì)于法向量來(lái)說(shuō),為了節(jié)省空間,必須對(duì)其進(jìn)行編碼和量化。本方法中法向量在一個(gè)單位立方體上被量化,每個(gè)面被分成100×100個(gè)點(diǎn),總共6×100×100個(gè)不同的法向量,被量化成16位,這樣的精度并不會(huì)造成視覺(jué)上圖像質(zhì)量的下降。
這里再?gòu)睦碚撋戏治鲆幌率褂眠@種緊湊的數(shù)據(jù)結(jié)構(gòu)所帶來(lái)的好處。通過(guò)使用上述的數(shù)據(jù)結(jié)構(gòu),對(duì)于一個(gè)具有M個(gè)點(diǎn)的點(diǎn)云數(shù)據(jù)來(lái)說(shuō),需要使用(Ix×Iz×4+M×4)字節(jié),其中Ix×Iz×4是指針數(shù)組所額外耗費(fèi)的內(nèi)存空間。如果使用傳統(tǒng)的表達(dá)方式,將要使用M×6×4字節(jié)。對(duì)于海量的醫(yī)學(xué)數(shù)據(jù)集來(lái)說(shuō),M往往能達(dá)到上千萬(wàn),甚至上億,而Ix×Iz相對(duì)來(lái)說(shuō)小得多,所以通常能成倍的節(jié)省內(nèi)存空間。
第二部分生成邊界球分層因?yàn)楹罄m(xù)要使用基于點(diǎn)的繪制來(lái)得到交互式的顯示速度,在這里必須將上面一步得到的點(diǎn)云數(shù)據(jù)組織成分層的數(shù)據(jù)結(jié)構(gòu)。在傳統(tǒng)的基于點(diǎn)的繪制當(dāng)中,一般情況下是將點(diǎn)云組織成分層的邊界球,放在一個(gè)四叉樹中。當(dāng)四叉樹建立后,每個(gè)節(jié)點(diǎn)的屬性(坐標(biāo)、半徑)被量化、編碼成32位。為了處理超大規(guī)模的數(shù)據(jù)量,整棵四叉樹作為一個(gè)連續(xù)的流被寫入磁盤中,以備后續(xù)繪制時(shí)使用。
為了快速、有效地建立分層的邊界球表示,本發(fā)明再次利用了醫(yī)學(xué)影像的特有的優(yōu)點(diǎn)??紤]到點(diǎn)云中每個(gè)點(diǎn)的半徑是相等的,這里沒(méi)有使用四叉樹,而是使用了八叉樹,這樣就可以不必每個(gè)節(jié)點(diǎn)都存儲(chǔ)半徑信息。事實(shí)上,如果知道一個(gè)節(jié)點(diǎn)所在的層,就可以根據(jù)八叉樹的性質(zhì)和每一層節(jié)點(diǎn)的半徑相等這個(gè)特性來(lái)計(jì)算出這個(gè)節(jié)點(diǎn)的半徑。并且通過(guò)使用上面描述的PointList數(shù)據(jù)結(jié)構(gòu),也可以簡(jiǎn)化八叉樹的生成過(guò)程。因?yàn)閤坐標(biāo)是按照升序排列的,并且指針數(shù)組允許隨機(jī)訪問(wèn)它的元素,那么在構(gòu)造八叉樹的過(guò)程中將一個(gè)節(jié)點(diǎn)分裂成子節(jié)點(diǎn)時(shí)所需要的信息能很容易地從這些數(shù)據(jù)結(jié)構(gòu)中得到。另外,本方法僅僅需要量化、編碼x坐標(biāo),y、z坐標(biāo)可以從數(shù)據(jù)結(jié)構(gòu)中直接得到,這也節(jié)省了很大的計(jì)算量。
本方法將每個(gè)節(jié)點(diǎn)的信息量化并編碼成32位,圖7給出了具體每一位的含義,其中,下面的漢字代表每個(gè)字段名,上面相對(duì)應(yīng)的數(shù)字代表此字段占多少位。
法向量是直接從PointList結(jié)構(gòu)中的normal字段得來(lái)的,x坐標(biāo)是從PointList結(jié)構(gòu)中的xPos字段得來(lái)的,并且被量化、編碼成10位。在樹結(jié)構(gòu)中,使用3位去記錄每個(gè)節(jié)點(diǎn)的子節(jié)點(diǎn)個(gè)數(shù),使用1位去記錄當(dāng)前節(jié)點(diǎn)是否有子孫節(jié)點(diǎn)。另外還有兩位用來(lái)記錄當(dāng)前節(jié)點(diǎn)法向量錐的范圍。
步驟三三維繪制通過(guò)上面的兩個(gè)步驟,已經(jīng)得到了感興趣的器官的表面的以點(diǎn)云形式表達(dá)的數(shù)據(jù)。三維繪制的目的就是快速地將這些數(shù)據(jù)顯示在屏幕上,并可以讓使用者來(lái)旋轉(zhuǎn)模型、改變顏色等等,為了達(dá)到交互式地顯示的目的,必須采用有效的算法。
在繪制階段,本方法使用了上面一個(gè)步驟計(jì)算出來(lái)的分層邊界球結(jié)構(gòu),也就是八叉樹結(jié)構(gòu)來(lái)進(jìn)行可視性檢測(cè)和層次細(xì)節(jié)控制。這里從頂向下遍歷八叉樹,在每個(gè)節(jié)點(diǎn),如果其邊界球是可視的,并且它的投影大小低于某個(gè)設(shè)定的閾值,那么這個(gè)節(jié)點(diǎn)就馬上被繪制出來(lái)。為了維護(hù)比較好的實(shí)時(shí)交互,在使用者旋轉(zhuǎn)模型時(shí),設(shè)置一個(gè)比較高的閾值,以便得到比較高的幀速率;而在系統(tǒng)空閑時(shí),逐步降低閾值直至屏幕的一個(gè)像素大小,從而得到最精細(xì)的圖像。
這里本方法再次利用了醫(yī)學(xué)影像的特點(diǎn),因?yàn)榘瞬鏄渲型粚拥墓?jié)點(diǎn)的半徑大小是相同的,那么它們的投影大小也是相同的。因此在每一幀的開始,算法預(yù)先計(jì)算出根節(jié)點(diǎn)的投影大小,然后可以在后續(xù)的節(jié)點(diǎn)中重復(fù)利用此信息,而不必要對(duì)每一個(gè)節(jié)點(diǎn)都進(jìn)行一層投影計(jì)算。
圖8給出了整個(gè)繪制部分的流程圖,為了最大限度地提高繪制速度,本方法還使用了Intel CPU(英特爾中央處理器)提供的SIMD(單指令多數(shù)據(jù))多媒體指令集來(lái)處理視錐裁剪、矩陣矢量計(jì)算等,這些都充分地利用了目前個(gè)人用PC(電腦)的硬件能力,來(lái)得到最高的性能。
實(shí)施例我們將此方法運(yùn)用到我們自行設(shè)計(jì)實(shí)現(xiàn)的三維醫(yī)學(xué)影像處理與分析系統(tǒng)中。我們研制開發(fā)的基于微機(jī)的三維醫(yī)學(xué)影像處理與分析系統(tǒng)3DMed是在微機(jī)Windows XP/2000/NT/98環(huán)境下,采用面向?qū)ο蟮脑O(shè)計(jì)方法和軟件工程規(guī)范,用C++語(yǔ)言實(shí)現(xiàn)的、面向醫(yī)學(xué)領(lǐng)域的三維影像處理與分析系統(tǒng)。本系統(tǒng)具有豐富的圖形圖像處理與分析功能,不僅具有完善的二維圖像處理分析功能,而且具有強(qiáng)大的三維處理與分析、網(wǎng)絡(luò)傳輸與存儲(chǔ)等功能。系統(tǒng)提供的功能包括數(shù)據(jù)輸入、影像數(shù)據(jù)管理、二維處理、三維數(shù)據(jù)處理、切片重組、三維顯示、手術(shù)模擬、虛擬內(nèi)窺鏡、PACS(影像歸檔與通信系統(tǒng))與遠(yuǎn)程診斷等一系列功能。
下面說(shuō)明利用基于點(diǎn)重建的超大規(guī)模醫(yī)學(xué)影像三維可視化方法來(lái)處理海量醫(yī)學(xué)影像數(shù)據(jù)集的具體實(shí)施過(guò)程。實(shí)驗(yàn)數(shù)據(jù)為美國(guó)國(guó)立醫(yī)學(xué)圖書館網(wǎng)站上提供的虛擬人體數(shù)據(jù)集,這里使用的是CT(計(jì)算機(jī)斷層成像)數(shù)據(jù)集,數(shù)據(jù)集規(guī)模為512×512×1876×8位。使用的微機(jī)配備了一個(gè)PIII 866的CPU,256MB內(nèi)存,顯卡為NVidia GeForce 2 GTS,配備32MB顯存。具體操作步驟如下1首先通過(guò)數(shù)據(jù)接口讀取數(shù)據(jù)。
2點(diǎn)擊“高級(jí)構(gòu)造”按鈕,進(jìn)入分割界面。
3系統(tǒng)提供了多種分割方法可供選擇,有種子生長(zhǎng)、腐蝕膨脹、模糊連接、域值、交互式分割等,此時(shí)可以選取一種分割方法對(duì)數(shù)據(jù)進(jìn)行分割。因?yàn)樘幚淼氖荂T數(shù)據(jù),域值方法是比較有效的,用鼠標(biāo)指定好低域值和高域值以后,系統(tǒng)就會(huì)將在此域值之內(nèi)的物質(zhì)分割出來(lái)。
4分割以后,點(diǎn)“3D顯示”按鈕,系統(tǒng)就會(huì)調(diào)用本申請(qǐng)中所描述的算法進(jìn)行三維重建,并將重建后的真實(shí)感圖形顯示出來(lái),允許用戶使用鼠標(biāo)進(jìn)行交互式觀察。對(duì)虛擬人體數(shù)據(jù)我們分別重建了皮膚和骨骼兩個(gè)模型,結(jié)果如圖9和圖10所示。圖9和圖10并沒(méi)有對(duì)原始數(shù)據(jù)進(jìn)行任何前處理,主要目的只是為了演示本方法能對(duì)海量數(shù)據(jù)進(jìn)行快速的三維重建。圖片上的一些非骨骼和皮膚的雜質(zhì)是原始圖像中的噪音,可以通過(guò)精細(xì)的手工分割去掉,在這里不再詳細(xì)闡述。
5我們記錄了基于點(diǎn)的重建和繪制所消耗的時(shí)間,對(duì)于本次實(shí)驗(yàn)所處理的數(shù)據(jù),重建時(shí)間為骨骼30.39秒,皮膚83.88秒;繪制時(shí)間為骨骼1.62秒,皮膚3.13秒。而使用傳統(tǒng)的方法,對(duì)于如此海量的數(shù)據(jù)集無(wú)法處理,只能通過(guò)磁盤交換來(lái)進(jìn)行處理。我們實(shí)現(xiàn)了一個(gè)基于傳統(tǒng)的方法進(jìn)行重建的算法,并且使用磁盤空間來(lái)作為臨時(shí)交換空間,得到的重建時(shí)間都在500秒以上,繪制時(shí)間在60秒以上。
上述實(shí)驗(yàn)結(jié)果與利用基于點(diǎn)重建的超大規(guī)模醫(yī)學(xué)影像三維可視化方法來(lái)處理海量的醫(yī)學(xué)影像數(shù)據(jù)集的理論分析結(jié)論一致,具有高可信度、可應(yīng)用性和可采納性。
權(quán)利要求
1.一種基于點(diǎn)重建的超大規(guī)模醫(yī)學(xué)影像三維可視化方法,其特征在于,包括下列步驟(1)分割步驟,使用域值分割或者區(qū)域增長(zhǎng)分割方法從醫(yī)學(xué)影像的二維切片中將感興趣的部分分割出來(lái);(2)基于點(diǎn)的重建步驟,又包括兩個(gè)子步驟單層表面跟蹤和生成邊界球分層;a)單層表面跟蹤步驟,使用單層表面跟蹤的方法,將分割所得的感興趣的表面提取出來(lái),并以點(diǎn)云的形式表達(dá);b)生成邊界球分層步驟,將上一步生成的點(diǎn)云存儲(chǔ)到一棵樹中,樹中每個(gè)節(jié)點(diǎn)記錄這個(gè)點(diǎn)的邊界球信息;(3)三維繪制步驟,對(duì)提取出來(lái)的基于點(diǎn)的三維表面模型,使用基于點(diǎn)的繪制方法來(lái)進(jìn)行交互式地顯示。
2.按權(quán)利要求1所述的方法,其特征在于,所述第(2)步基于點(diǎn)的重建步驟,以點(diǎn)作為重建的基本單元,且每個(gè)點(diǎn)的半徑是相等的。
3.按權(quán)利要求1所述的方法,其特征在于,所述第(2)步中a)單層表面跟蹤步驟,在進(jìn)行單層表面跟蹤時(shí),對(duì)x坐標(biāo)進(jìn)行量化、編碼,不對(duì)y、z坐標(biāo)進(jìn)行量化、編碼計(jì)算。
4.按權(quán)利要求1所述的方法,其特征在于,所述第(2)步中b)生成邊界球分層步驟,在生成邊界球分層時(shí),使用八叉樹組織節(jié)點(diǎn)信息。
5.按權(quán)利要求4所述的方法,其特征在于,所述節(jié)點(diǎn)信息,其每個(gè)節(jié)點(diǎn)信息的量化編碼是32位,分為兩組,一組是x坐標(biāo)組,一組是法向量坐標(biāo)組,都為16位。
6.按權(quán)利要求5所述的方法,其特征在于,所述x坐標(biāo)組,分為x坐標(biāo)、樹結(jié)構(gòu)和法向量錐三個(gè)字段;x坐標(biāo)是從PointList結(jié)構(gòu)中的xPos字段得來(lái)的,并且被量化、編碼成10位;在樹結(jié)構(gòu)中,編碼成4位;法向量錐為2位。
7.按權(quán)利要求5所述的方法,其特征在于,所述法向量坐標(biāo)組,是直接從PointList結(jié)構(gòu)中的normal字段得來(lái)的。
8.按權(quán)利要求6所述的方法,其特征在于,所述樹結(jié)構(gòu)中,使用3位去記錄每個(gè)節(jié)點(diǎn)的子節(jié)點(diǎn)個(gè)數(shù),使用1位去記錄當(dāng)前節(jié)點(diǎn)是否有子孫節(jié)點(diǎn);法向量錐的2位,用來(lái)記錄當(dāng)前節(jié)點(diǎn)法向量錐的范圍。
全文摘要
本發(fā)明涉及計(jì)算機(jī)圖形學(xué)和模式識(shí)別技術(shù)領(lǐng)域,特別涉及一種利用點(diǎn)的重建來(lái)進(jìn)行超大規(guī)模醫(yī)學(xué)影像三維可視化的方法。其包括a.分割步驟,從醫(yī)學(xué)影像的二維切片中將感興趣的部分分割出來(lái);b.基于點(diǎn)的重建步驟,使用基于點(diǎn)的重建方法提取并重建出感興趣的器官的三維表面,并以點(diǎn)的形式保存起來(lái);c.三維繪制步驟,對(duì)提取出來(lái)的基于點(diǎn)的三維表面模型使用基于點(diǎn)的繪制方法來(lái)進(jìn)行交互式地顯示。本發(fā)明的方法,在配有一塊中檔顯卡的普通的PC(個(gè)人電腦)上,實(shí)現(xiàn)與虛擬人體數(shù)據(jù)集相當(dāng)規(guī)模的超大規(guī)模數(shù)據(jù)集的快速三維重建與實(shí)時(shí)顯示。本發(fā)明具有高可信度、可應(yīng)用性和可采納性,并且在醫(yī)學(xué)領(lǐng)域具有重要的應(yīng)用價(jià)值。
文檔編號(hào)G06T17/00GK1632834SQ20031012117
公開日2005年6月29日 申請(qǐng)日期2003年12月22日 優(yōu)先權(quán)日2003年12月22日
發(fā)明者田捷, 趙明昌 申請(qǐng)人:中國(guó)科學(xué)院自動(dòng)化研究所
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
淮南市| 金川县| 利辛县| 宁陕县| 阳城县| 油尖旺区| 揭阳市| 伊吾县| 乌鲁木齐市| 都安| 绍兴县| 隆安县| 开封市| 班戈县| 额尔古纳市| 峨眉山市| 阳江市| 根河市| 邢台市| 安塞县| 乳山市| 马鞍山市| 铜陵市| 余江县| 寿光市| 景洪市| 刚察县| 贡山| 新余市| 林口县| 玛纳斯县| 永仁县| 溧阳市| 聊城市| 贵港市| 馆陶县| 沧州市| 永济市| 天长市| 兴城市| 察雅县|