亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

基于gpu加速的實(shí)時(shí)三維心臟數(shù)據(jù)體繪制方法

文檔序號(hào):6598952閱讀:232來源:國知局

專利名稱::基于gpu加速的實(shí)時(shí)三維心臟數(shù)據(jù)體繪制方法
技術(shù)領(lǐng)域
:本發(fā)明涉及的是一種基于GPU(GraphicProcessingUnit)體繪制方法,特別是一種將結(jié)構(gòu)復(fù)雜的三維心臟數(shù)據(jù)以實(shí)時(shí)交互、可配置的形式顯示的方法,屬于圖形圖像處理領(lǐng)域。
背景技術(shù)
:心臟作為人體的重要器官,是人體循環(huán)系統(tǒng)的動(dòng)力源。心臟疾病如冠心病等已經(jīng)成為世界上最大的致死原因之一。加強(qiáng)對心臟工作和發(fā)病機(jī)理的認(rèn)識(shí),改善心臟疾病的診斷和治療,已成為生物醫(yī)學(xué)工程領(lǐng)域的一個(gè)研究熱點(diǎn)。因而,相關(guān)的醫(yī)學(xué)成像和建模仿真技術(shù)近年來得以迅速發(fā)展,涌現(xiàn)了大量如醫(yī)學(xué)切片和電生理仿真等三維心臟數(shù)據(jù)。心臟的結(jié)構(gòu)復(fù)雜,由多個(gè)器官和血管組成。外部的器官包圍了內(nèi)部的器官,使人們難以了解心臟的內(nèi)部結(jié)構(gòu),從而難以了解心臟的整體結(jié)構(gòu)。VassiliosHurmusiadis開發(fā)了用于教育和培訓(xùn)的VirtualHeart心臟仿真平臺(tái),該平臺(tái)從功能和結(jié)構(gòu)上展示了心臟的細(xì)胞、組織和器官。在心臟整體結(jié)構(gòu)的演示部分使用MarchingCube方法繪制三位心臟模型,并且使用剪切平面的方法演示心臟的內(nèi)部結(jié)構(gòu)。由于MarchingCube方法不能繪制出心臟的內(nèi)部信息,而剪切平面又破壞了心臟整體的效果,所以該系統(tǒng)不能直觀的繪制出心臟的整體結(jié)構(gòu)。Yang等人設(shè)計(jì)適用于三維人心臟數(shù)據(jù)的加速可視化算法。該方法很好地展示了心臟的整體結(jié)構(gòu),但由于繪制速度較慢無法達(dá)到良好用戶交互的目的。體繪制也稱作體渲染(VolumeRendering),是一種重要的圖形處理和可視化技術(shù)。它不但能夠顯示模型表面的形狀與紋理信息,而且能夠顯示包含在數(shù)據(jù)中的復(fù)雜細(xì)節(jié)和數(shù)據(jù)間的相互關(guān)系。由于體數(shù)據(jù)的數(shù)據(jù)量非常大,在PC機(jī)上使用軟件方法難以實(shí)現(xiàn)交互式可視化,研究人員只能求助于并行處理能力強(qiáng)大的超級(jí)計(jì)算機(jī)。
發(fā)明內(nèi)容本發(fā)明的目的在于,解決現(xiàn)有三維心臟數(shù)據(jù)的體繪制速度慢、對計(jì)算機(jī)性能要求高的問題,進(jìn)而提供一種快速的、能夠?qū)崿F(xiàn)三維心臟數(shù)據(jù)體繪制方法。本發(fā)明的基于GPU加速的實(shí)時(shí)三維心臟數(shù)據(jù)體繪制方法是基于帶有支持Cg語言的顯卡的PC機(jī)實(shí)現(xiàn)的,所述體繪制方法的具體包括數(shù)據(jù)讀取和預(yù)處理的步驟、數(shù)據(jù)坐標(biāo)變換的步驟和圖像繪制的步驟,其中數(shù)據(jù)讀取和預(yù)處理的步驟,是把待繪制的心臟的多個(gè)切片數(shù)據(jù)組織成體數(shù)據(jù)文件,并將所述體數(shù)據(jù)文件打包成三維紋理數(shù)據(jù)包后,存儲(chǔ)到顯卡的內(nèi)存中;將待繪制的心臟的切片數(shù)據(jù)所表示的切片圖像的寬和高分別作為體數(shù)據(jù)的X,y軸,將待繪制的心臟的所有切片數(shù)據(jù)的數(shù)量作為體數(shù)據(jù)的z軸;數(shù)據(jù)坐標(biāo)變換的步驟,是將數(shù)據(jù)預(yù)處理的步驟獲得的三維紋理數(shù)據(jù)包中的數(shù)據(jù)坐標(biāo)轉(zhuǎn)換成屏幕坐標(biāo);圖像繪制的步驟,是將坐標(biāo)規(guī)范化之后的體數(shù)據(jù)采用直接體繪制的方法繪制輸出o本發(fā)明的創(chuàng)新點(diǎn)在于使用GPU強(qiáng)大的幾何處理能力,應(yīng)用于復(fù)雜三維心臟數(shù)據(jù)的交互可視化,使心臟的數(shù)據(jù)可以根據(jù)用戶的輸入實(shí)時(shí)地顯示心臟的整體結(jié)構(gòu)或不同的器官,本發(fā)明回避了使用剪切平面的方法,使用戶可以觀察心臟的各個(gè)組成部分,同時(shí)又不破壞整個(gè)心臟的結(jié)構(gòu)。本發(fā)明使用直接體繪制(DirectVolumeRendering)方法,使用戶能夠觀察到心臟的整體結(jié)構(gòu)。本發(fā)明的優(yōu)點(diǎn)有一、提高了圖像顯示速度采用了圖形硬件加速技術(shù),即采用現(xiàn)有基于GPU體系結(jié)構(gòu)的高層著色語言(相對于只針對特定顯卡設(shè)計(jì)的匯編語言)實(shí)現(xiàn)圖形顯示的加速,進(jìn)而大大提高了圖像的顯示速度。二、提高了CPU的運(yùn)算速度采用圖形硬件加速實(shí)現(xiàn)體繪制,只需要將待繪制的數(shù)據(jù)打包成紋理的形式傳輸?shù)斤@卡上,然后將復(fù)雜的運(yùn)算負(fù)荷也轉(zhuǎn)移到顯卡進(jìn)行,使CPU專注其它工作,從而大大提高了CPU的運(yùn)算速度。三、實(shí)現(xiàn)三維心臟數(shù)據(jù)的交互可視化本發(fā)明的三維心臟數(shù)據(jù)體繪制方法速度快,能夠?qū)崿F(xiàn)復(fù)雜三維心臟數(shù)據(jù)的交互式可視化,能夠使用戶可以交互地配置、觀察、分析可視化結(jié)果。四、低成本。本方法只需一臺(tái)普通的PC機(jī)和一塊支持Cg語言的顯卡。目前的家用電腦配置都可以使用本方法。五、高度的兼容性。本發(fā)明使用可以跨平臺(tái)的開發(fā)語言和工具包,所以理論上(或稍做修改)可以運(yùn)行在不同的操作系統(tǒng)和硬件平臺(tái)下。六、高度的易用性。本發(fā)明只需要鼠標(biāo)和鍵盤就可以完成對可視化結(jié)果的調(diào)整和配置。方便、易用,對用戶的醫(yī)學(xué)知識(shí)和電腦操作技能幾乎沒有要求。本發(fā)明的方法在保證心臟模型的繪制速度的前提下使心臟數(shù)據(jù)的可視化觀察分析成為可能。本發(fā)明可以應(yīng)用于醫(yī)學(xué)院學(xué)生的心內(nèi)科基礎(chǔ)培訓(xùn)以及虛擬手術(shù)培訓(xùn),也可以用作普及心臟病預(yù)防知識(shí)的演示系統(tǒng)。隨著人們保健意識(shí)的提高,本系統(tǒng)具有巨大的潛在市場。本發(fā)明所述的方法,還是用于其它復(fù)雜結(jié)構(gòu)的三維臟器的體繪制。圖1是實(shí)施方式中所述的體數(shù)據(jù)的灰度值頻率統(tǒng)計(jì)圖。圖2是心臟組織灰度值及各灰度值對應(yīng)的光學(xué)屬性映射圖。圖3采用現(xiàn)有方法根據(jù)心臟的切片數(shù)據(jù)進(jìn)行體繪制獲得的圖片。圖4和圖5都是采用本發(fā)明所述的方法根據(jù)心臟的切片數(shù)據(jù)繪制獲得的圖片,兩附圖片的視線角度不同。實(shí)施方式本實(shí)施方式所述的基于GPU加速的實(shí)時(shí)三維心臟數(shù)據(jù)體繪制方法是基于帶有支持Cg語言的顯卡的PC機(jī)實(shí)現(xiàn)的。所述顯卡的圖形處理核心芯片為GPU(GraphiCProcessingUnit),本方法的具體包括數(shù)據(jù)讀取和預(yù)處理的步驟、數(shù)據(jù)坐標(biāo)變換的步驟和圖像繪制的步驟,其中數(shù)據(jù)讀取和預(yù)處理的步驟,是把待繪制的心臟的多個(gè)切片數(shù)據(jù)組織成體數(shù)據(jù)文件,并將所述體數(shù)據(jù)文件打包成三維紋理數(shù)據(jù)包后,存儲(chǔ)到顯卡的內(nèi)存中;將待繪制的心臟的切片數(shù)據(jù)所表示的切片圖像的寬和高分別作為體數(shù)據(jù)的x,y軸,將待繪制的心臟的所有切片數(shù)據(jù)的數(shù)量作為體數(shù)據(jù)的z軸;具體過程為將待繪制的心臟的每個(gè)切片數(shù)據(jù)中的頭信息刪除,然后將刪除頭信息之后的所有切片數(shù)據(jù)進(jìn)行調(diào)整、形成滿足三維紋理打包的要求體數(shù)據(jù)文件,最后由支持Cg語言的顯卡的GPU將所述體數(shù)據(jù)文件打包成三維紋理數(shù)據(jù)包。上述步驟中,切片數(shù)據(jù)的處理、并形成體數(shù)據(jù)文件的過程有PC機(jī)的CPU實(shí)現(xiàn),而將所述體數(shù)據(jù)文件打包成三維紋理數(shù)據(jù)包的過程由支持Cg語言的顯卡的GPU完成,所形成的三位紋理數(shù)據(jù)包存儲(chǔ)在顯卡的內(nèi)存中,不占用CPU的資源。數(shù)據(jù)坐標(biāo)變換的步驟,是將數(shù)據(jù)預(yù)處理的步驟獲得的三維紋理數(shù)據(jù)包中的數(shù)據(jù)坐標(biāo)轉(zhuǎn)換成屏幕坐標(biāo),具體過程為將三維數(shù)據(jù)的坐標(biāo)依次進(jìn)行視圖變換、投影變換和規(guī)范化變換,最終獲得屏幕坐標(biāo)。將數(shù)據(jù)坐標(biāo)進(jìn)行視圖的變換過程為將視圖坐標(biāo)的原點(diǎn)P的坐標(biāo)設(shè)定為世界坐標(biāo)系下的坐標(biāo)P=(x。,y。,z0),則坐標(biāo)平移變換公式為<formula>formulaseeoriginaldocumentpage7</formula>坐標(biāo)旋轉(zhuǎn)變換公式為<formula>formulaseeoriginaldocumentpage7</formula><formula>formulaseeoriginaldocumentpage7</formula>其中,單位向量u,v,n是世界坐標(biāo)系下的參考幀的三個(gè)坐標(biāo)軸的三個(gè)方向向量將平移變換公式和旋轉(zhuǎn)變換公式相乘,獲得從世界坐標(biāo)系到視圖坐標(biāo)系下的視圖坐標(biāo)變換公式<formula>formulaseeoriginaldocumentpage7</formula>將數(shù)據(jù)坐標(biāo)與視圖坐標(biāo)變換公式相乘,獲得視圖坐標(biāo)系下的數(shù)據(jù)坐標(biāo)。投影變換是指將視圖坐標(biāo)系下的數(shù)據(jù)坐標(biāo)進(jìn)行投影變換的坐標(biāo)變換過程,本實(shí)施方式中采用正投影(OrthogonalProjection)方法對視圖坐標(biāo)系下的數(shù)據(jù)坐標(biāo)進(jìn)行變換,具體過程為將視圖坐標(biāo)系下的數(shù)據(jù)中的任意點(diǎn)(x,y,z)進(jìn)行正投影,投影后獲得的坐標(biāo)是Xp=x,yp=y,在z上設(shè)置前后兩個(gè)剪切面,分別為近平面(nearplane)和遠(yuǎn)平面(farplane),在所述近平面(nearplane)和遠(yuǎn)平面(farplane)之間的部分為視景體(ViewVolume),進(jìn)行投影變換后的所有數(shù)據(jù)的坐標(biāo)都位于所述視景體(ViewVolume)內(nèi)。上述投影變換的作用,是把三維的空間中的物體表示映射到二維的視平面上。在投影變換的過程中,可以采用各種投影方式進(jìn)行坐標(biāo)變換,經(jīng)過試驗(yàn)測試,本實(shí)施方式所采用的正投影方法可以達(dá)到最好的視覺效果。規(guī)范化變換是指將投影后獲得的數(shù)據(jù)坐標(biāo)進(jìn)行規(guī)范化的轉(zhuǎn)換,具體過程為將位于近平面內(nèi)左下角的坐標(biāo)點(diǎn)(Xniin,ymin,Zn_)映射成(-1,-1,-1),將位于遠(yuǎn)平面內(nèi)右上角的坐標(biāo)點(diǎn)(Xmax,ymax,zfar)映射成(1,1,1),然后根據(jù)公式<formula>formulaseeoriginaldocumentpage8</formula>將位于近平面和遠(yuǎn)平面zf之間的所有數(shù)據(jù)的坐標(biāo)都映射將規(guī)范化之后的數(shù)據(jù)的坐標(biāo)根據(jù)公式<formula>formulaseeoriginaldocumentpage8</formula>變成屏幕坐標(biāo),在屏幕上所有點(diǎn)的z坐標(biāo)都是0,在視口(viewport)的屏幕區(qū)域的左下角的坐標(biāo)是(xvmin,yvmin,0),右上角的坐標(biāo)是(xvmax,yvmax,0)。圖像繪制的步驟,是將坐標(biāo)規(guī)范化之后的體數(shù)據(jù)采用直接體繪制的方法繪制輸出o直接體繪制(DirectVolumeRendering)是一種現(xiàn)有的體繪制方法,它可以顯示出體數(shù)據(jù)的全局,尤其是可以揭示數(shù)據(jù)的內(nèi)部特征。其基本思想是計(jì)算體素的光學(xué)屬性包括顏色和不透明度,以及模擬從特定方向射入的光線在體數(shù)據(jù)中傳播。體數(shù)據(jù)(或稱體素)的光學(xué)屬性通常由傳遞函數(shù)(TransferFunction)設(shè)置,并獲得帶有光學(xué)屬性的體數(shù)據(jù),所述傳遞函數(shù)實(shí)現(xiàn)體數(shù)據(jù)中每個(gè)體素的灰度值與光學(xué)屬性的到"1到1之間;對應(yīng)關(guān)系,具體過程為本實(shí)施方式中的直接體繪制的過程為根據(jù)體數(shù)據(jù)中的灰度分布設(shè)計(jì)傳遞函數(shù),建立灰度值和光學(xué)屬性之間的對應(yīng)關(guān)系,并將所述傳遞函數(shù)作為一維紋理數(shù)據(jù)存儲(chǔ)到顯卡的內(nèi)存中;然后模擬從指定方向射入的光線在體數(shù)據(jù)中傳播,完成三維心臟的體繪制。經(jīng)過上述步驟之后,體數(shù)據(jù)和傳遞函數(shù)都在顯卡內(nèi)存中了,然后,顯卡中的GPU就可以計(jì)算并獲得每個(gè)體數(shù)據(jù)的光學(xué)屬性,并且把圖像繪制出來,這樣充分利用了GPU用的計(jì)算能力。大大提高了速度。所述傳遞函數(shù)建立了體數(shù)據(jù)的灰度值和光學(xué)屬性之間的對應(yīng)關(guān)系,以便于將帶有灰度值的體數(shù)據(jù)轉(zhuǎn)換成帶有光學(xué)屬性的體數(shù)據(jù)。設(shè)計(jì)合理的傳遞函數(shù),能夠揭示體數(shù)據(jù)的重要內(nèi)部信息和空間結(jié)構(gòu),增強(qiáng)重要信息、抑制不重要信息的視覺效果。本實(shí)施方式中根據(jù)體數(shù)據(jù)中的灰度分布設(shè)計(jì)傳遞函數(shù),建立灰度值和光學(xué)屬性之間的對應(yīng)關(guān)系的過程為的設(shè)計(jì)過程為首先,統(tǒng)計(jì)體數(shù)據(jù)的灰度值的分布情況。本實(shí)施方式中采用灰度值統(tǒng)計(jì)圖實(shí)現(xiàn)該過程,參見圖1所示,是一個(gè)心臟的體數(shù)據(jù)的統(tǒng)計(jì)結(jié)果。圖中,橫軸表示不同心臟組織對應(yīng)的灰度值,和心臟組織有關(guān)的數(shù)據(jù)的灰度值的范圍在區(qū)間[30,70],在此區(qū)間中沒有標(biāo)記在橫軸上的灰度值表示該灰度值沒有出現(xiàn)在心臟的體數(shù)據(jù)中。然后,根據(jù)體數(shù)據(jù)的灰度值分布情況,確定不同灰度對應(yīng)的心臟組織,并根據(jù)所述心臟組織的空間位置設(shè)置其對應(yīng)的光學(xué)屬性,即不透明度和顏色值,設(shè)置完成的不透明度和顏色的集合組織成顏色查找表ColorMap;灰度值和光學(xué)屬性之間的的對應(yīng)關(guān)系建立完成。在圖像繪制的過程中,根據(jù)體數(shù)據(jù)的不同心臟組織的灰度值在顏色查找表ColorMap中檢索對應(yīng)的光學(xué)屬性,根據(jù)灰度_光學(xué)屬性對應(yīng)公式F(g)—(R,G,B,A)(7)實(shí)現(xiàn),其中g(shù)表示灰度值,(R,G,B,A)表示該灰度對應(yīng)的光學(xué)屬性,其中R、G和B表示顏色,A表示不透明度(opacity)。在設(shè)置不同灰度值光學(xué)屬性時(shí),遵循的主要原則是通過比對心臟組織的三維相對位置,使心臟內(nèi)部的腔隙不透明度高于心臟外部的組織,不同腔隙的鏈接部分區(qū)別于腔隙本身。本實(shí)施方式中,根據(jù)圖1所示的灰度分布確定不同灰度對應(yīng)的組織并根據(jù)組織的空間位置設(shè)置其對應(yīng)的光學(xué)屬性,形成的心臟組織灰度值及各灰度值對應(yīng)的光學(xué)屬性映射圖參見圖2所示,圖中縱軸表示對心臟體數(shù)據(jù)灰度進(jìn)行統(tǒng)計(jì)得到的不同灰度值。圖中的正方形色塊表示使用灰度_光學(xué)屬性對應(yīng)公式在顏色查找表ColorMap中檢索到該灰度值,據(jù)有該灰度的數(shù)據(jù)的光學(xué)屬性。各個(gè)灰度值數(shù)據(jù)的光學(xué)屬性由正方形色塊下面的四元組(R,G,B,A)表示。然后采用放射-吸收(emissionandabsorption)模型模擬光在體數(shù)據(jù)中的傳播狀態(tài),并最終產(chǎn)生沿視線方向?qū)w數(shù)據(jù)的采樣,并且沿著視線方向累計(jì)體素的顏色和不透明度的結(jié)果,最終繪制完成心臟的體繪制。每個(gè)離散的體數(shù)據(jù)的最終繪制時(shí)的顏色為<formula>formulaseeoriginaldocumentpage10</formula>(8)每個(gè)離散的體數(shù)據(jù)的最終繪制時(shí)的不透明度為<formula>formulaseeoriginaldocumentpage10</formula>(9)其中,Ci和Ai由傳遞函數(shù)設(shè)置,分別代表在第i個(gè)采樣點(diǎn)數(shù)據(jù)的顏色和不透明度。Ai近似表示體數(shù)據(jù)吸收的光。不透明度加權(quán)的顏色Ci近似表示沿著光線采樣點(diǎn)第i和第i+1個(gè)采樣之間體數(shù)據(jù)放射和吸收的光。對于顏色分量中的乘積部分表示在第i個(gè)采樣點(diǎn)的光在到達(dá)人的眼睛之前是不斷衰減的。使用OpenGL和Cg實(shí)現(xiàn)算法,其中OpenGL負(fù)責(zé)處理圖形的顯示,以及用戶交互,Cg用HS寫丁頁‘1^、禾呈(vertexshader)禾口片元禾呈·(fragmentshader)?;贕PU的三維心臟繪制算法可采用下述程序?qū)崿F(xiàn)Inputsegmented3Dheartvolumedataset,colorlookuptableOutput:heartimage1.VolumeTexture一VolumeDataset,ColorMap一Colorlookuptable;2.whileνinVolumeTexture3.ν=T·ν;4.clip(ν);5.ν(color)=ColorMap[v(greyLevel)];6.fori一1tosliceNum7.drawSIiceO;8.composite();上述程序段的含義為輸入為分割組織后的體數(shù)據(jù),和顏色查找表;輸出為心臟圖像。變量VolumeTexture表示存放體數(shù)據(jù)的三維紋理,VolumeDataset表示體數(shù)據(jù)的集合,ColorMap表示存放不同灰度的體數(shù)據(jù)光學(xué)屬性的一維紋理,Colorlookuptable表示顏色查找表(不同灰度值對應(yīng)的光學(xué)屬性),sliceNum表示體數(shù)據(jù)沿著視線的方向的切片的數(shù)量。對每一個(gè)在三維紋理中的體素V,采用矩陣T進(jìn)行坐標(biāo)轉(zhuǎn)換,然后把采用Clip(V)把體素ν限制在有效的空間內(nèi),再采用ColorMap[v(greyLevel)],將體素ν的灰度值ν(greyLevel)作為索引,在顏色查找表中查找對應(yīng)的一維紋理數(shù)據(jù),并根據(jù)檢索結(jié)果設(shè)置該體素的光學(xué)屬性V(Color)。對沿著視線的方向第1個(gè)切片開始一直到最后一個(gè)切片sliceNum分別作如下處理采用drawSliceO繪制當(dāng)前的切片,然后采用compositeO把當(dāng)前切片和前一個(gè)切片混合。處理完所有sliceNum個(gè)切片之后,最終將繪制結(jié)果顯示在視平面上。本實(shí)施方式所述的體繪制方法可以采用IntelCore2QuadCPU2.41GHz,內(nèi)存4GB,顯卡NVIDIAGF8600,顯存256MB硬件環(huán)境。使用C++語言和OpenGL實(shí)現(xiàn)程序的框架,GPU的頂點(diǎn)和片元程序采用Cg語言編寫,使用版本為Cg2.O。在體數(shù)據(jù)的讀取方法中,對比現(xiàn)有的Yang等人提出的加速光線投射(AcceleratedRayCasting)ARC方法、OpenGL(OpenGraphicsLibrary)固定管線法、以及本實(shí)施方式采用的OpenGL結(jié)合Cg可編程管線法共三種方法的處理時(shí)間,經(jīng)實(shí)驗(yàn)獲得上述三種方法的數(shù)據(jù)讀取時(shí)間,結(jié)果參見表1所示表1不同算法讀取數(shù)據(jù)時(shí)間比較<formula>formulaseeoriginaldocumentpage11</formula>在繪制過程中,由于ARC方法很難實(shí)現(xiàn)實(shí)時(shí)的用戶交互,這里僅比較了OpenGL固定管線方法和本實(shí)施方式采用的OpenGL結(jié)合Cg可編程管線的方法的繪制效率,實(shí)驗(yàn)結(jié)果如表2所示。表2不同算法平均繪制速度比較繪制方法數(shù)據(jù)大小每秒平均幀數(shù)(f/s)<formula>formulaseeoriginaldocumentpage11</formula>參見圖3-圖5所示,是對數(shù)據(jù)分類前后繪制結(jié)果的比較。使用傳遞函數(shù)進(jìn)行分類后的圖像可以明顯看到心臟的輪廓、結(jié)構(gòu)以及內(nèi)部的腔隙。分類后圖像的顏色由圖1中的顏色使用OpenGL提供的函數(shù)voidglBlendFunc(GLenumsfactor,GLenumdfactor)混合而成。本發(fā)明使用GPU圖形加速技術(shù)實(shí)現(xiàn)了三維心臟數(shù)據(jù)的可視化,使用戶能夠以交互的方式觀察人心臟,相對于非GPU方法大大減少了系統(tǒng)的響應(yīng)時(shí)間。本文將三維心臟數(shù)據(jù)組織成三維紋理,根據(jù)心臟數(shù)據(jù)的特點(diǎn)設(shè)計(jì)了傳遞函數(shù),使用矩形閉包的方法針對心臟數(shù)據(jù)設(shè)計(jì)了繪制算法。使用OpenGL和Cg對算法進(jìn)行了實(shí)現(xiàn),并且使用三維的心臟數(shù)據(jù)進(jìn)行了測試。根據(jù)實(shí)驗(yàn)結(jié)果可以看到本文使用的方法在數(shù)據(jù)的讀取過程中相對與軟件方法在效率上有顯著提高,在繪制的過程中,實(shí)現(xiàn)了實(shí)時(shí)的用戶交互。權(quán)利要求基于GPU加速的實(shí)時(shí)三維心臟數(shù)據(jù)體繪制方法,其特征在于它是基于帶有支持Cg語言的顯卡的PC機(jī)實(shí)現(xiàn)的,所述體繪制方法的具體包括數(shù)據(jù)讀取和預(yù)處理的步驟、數(shù)據(jù)坐標(biāo)變換的步驟和圖像繪制的步驟,其中數(shù)據(jù)讀取和預(yù)處理的步驟,是把待繪制的心臟的多個(gè)切片數(shù)據(jù)組織成體數(shù)據(jù)文件,并將所述體數(shù)據(jù)文件打包成三維紋理數(shù)據(jù)包后,存儲(chǔ)到顯卡的內(nèi)存中;將待繪制的心臟的切片數(shù)據(jù)所表示的切片圖像的寬和高分別作為體數(shù)據(jù)的x,y軸,將待繪制的心臟的所有切片數(shù)據(jù)的數(shù)量作為體數(shù)據(jù)的z軸;數(shù)據(jù)坐標(biāo)變換的步驟,是將數(shù)據(jù)預(yù)處理的步驟獲得的三維紋理數(shù)據(jù)包中的數(shù)據(jù)坐標(biāo)轉(zhuǎn)換成屏幕坐標(biāo);圖像繪制的步驟,是將坐標(biāo)規(guī)范化之后的體數(shù)據(jù)采用直接體繪制的方法繪制輸出。2.根據(jù)權(quán)利要求1所述的基于GPU加速的實(shí)時(shí)三維心臟數(shù)據(jù)體繪制方法,其特征在于,把待繪制的心臟的多個(gè)切片數(shù)據(jù)組織成體數(shù)據(jù)文件的過程為將待繪制的心臟的每個(gè)切片數(shù)據(jù)中的頭信息刪除,然后將刪除頭信息之后的所有切片數(shù)據(jù)進(jìn)行調(diào)整、形成滿足三維紋理打包的要求體數(shù)據(jù)文件。3.根據(jù)權(quán)利要求1所述的基于GPU加速的實(shí)時(shí)三維心臟數(shù)據(jù)體繪制方法,其特征在于,數(shù)據(jù)坐標(biāo)變換的步驟的具體過程為將三維數(shù)據(jù)的坐標(biāo)依次進(jìn)行視圖變換、投影變換和規(guī)范化變換,最終獲得屏幕坐標(biāo)。4.根據(jù)權(quán)利要求3所述的基于GPU加速的實(shí)時(shí)三維心臟數(shù)據(jù)體繪制方法,其特征在于,視圖變換是指將數(shù)據(jù)坐標(biāo)進(jìn)行視圖的變換,具體過程為將視圖坐標(biāo)的原點(diǎn)P的坐標(biāo)設(shè)定為世界坐標(biāo)系下的坐標(biāo)P=(x0,10,Z0),則坐標(biāo)平移變換公式為<formula>formulaseeoriginaldocumentpage2</formula>坐標(biāo)旋轉(zhuǎn)變換公式為<formula>formulaseeoriginaldocumentpage2</formula>其中,單位向量U,V,η是世界坐標(biāo)系下的參考幀的三個(gè)坐標(biāo)軸的三個(gè)方向向量將平移變換公式和旋轉(zhuǎn)變換公式相乘,獲得從世界坐標(biāo)系到視圖坐標(biāo)系下的視圖坐標(biāo)變換公式<formula>formulaseeoriginaldocumentpage3</formula>將數(shù)據(jù)坐標(biāo)與視圖坐標(biāo)變換公式相乘,獲得視圖坐標(biāo)系下的數(shù)據(jù)坐標(biāo)。5.根據(jù)權(quán)利要求3所述的基于GPU加速的實(shí)時(shí)三維心臟數(shù)據(jù)體繪制方法,其特征在于,所述投影變換是指將視圖坐標(biāo)系下的數(shù)據(jù)坐標(biāo)進(jìn)行投影變換的坐標(biāo)變換過程,采用正投影方法對視圖坐標(biāo)系下的數(shù)據(jù)坐標(biāo)進(jìn)行變換,具體過程為將視圖坐標(biāo)系下的數(shù)據(jù)中的任意點(diǎn)(X,1,ζ)進(jìn)行正投影,投影后獲得的坐標(biāo)是xp=X,yp=y,在Z上設(shè)置前后兩個(gè)剪切面,分別為近平面和遠(yuǎn)平面,在所述近平面和遠(yuǎn)平面之間的部分為視景體,進(jìn)行投影變換后的所有數(shù)據(jù)的坐標(biāo)都位于所述視景體內(nèi)。6.根據(jù)權(quán)利要求3所述的基于GPU加速的實(shí)時(shí)三維心臟數(shù)據(jù)體繪制方法,其特征在于,規(guī)范化變換是指將投影后獲得的數(shù)據(jù)坐標(biāo)進(jìn)行規(guī)范化的轉(zhuǎn)換,具體過程為將位于近平面內(nèi)左下角的坐標(biāo)點(diǎn)(Xmin,ymin,ζηε)映射成(-1,-1,-1),將位于遠(yuǎn)平面內(nèi)右上角的坐標(biāo)點(diǎn)(Xmax,ymax,Zfar)映射成(1,1,1),然后根據(jù)公式<formula>formulaseeoriginaldocumentpage3</formula>將位于近平面和遠(yuǎn)平面Zto之間的所有數(shù)據(jù)的坐標(biāo)都映射到-1到1之間;將規(guī)范化之后的數(shù)據(jù)的坐標(biāo)根據(jù)公式<formula>formulaseeoriginaldocumentpage3</formula>變成屏幕坐標(biāo),在屏幕上所有點(diǎn)的ζ坐標(biāo)都是0,在視口的屏幕區(qū)域的左下角的坐標(biāo)是(XVmin'yvmin,0),右上角的坐標(biāo)是(XVmax,yvmax,0)。7.根據(jù)權(quán)利要求1所述的基于GPU加速的實(shí)時(shí)三維心臟數(shù)據(jù)體繪制方法,其特征在于圖像繪制的步驟采用直接體繪制的方法實(shí)現(xiàn),直接體繪制的過程為根據(jù)體數(shù)據(jù)中的灰度分布設(shè)計(jì)傳遞函數(shù),建立灰度值和光學(xué)屬性之間的對應(yīng)關(guān)系,并將所述傳遞函數(shù)作為一維紋理數(shù)據(jù)存儲(chǔ)到顯卡的內(nèi)存中;然后模擬從指定方向射入的光線在體數(shù)據(jù)中傳播,完成三維心臟的體繪制。8.根據(jù)權(quán)利要求7所述的基于GPU加速的實(shí)時(shí)三維心臟數(shù)據(jù)體繪制方法,其特征在于,所述根據(jù)體數(shù)據(jù)中的灰度分布設(shè)計(jì)傳遞函數(shù),建立灰度值和光學(xué)屬性之間的對應(yīng)關(guān)系的過程為首先,統(tǒng)計(jì)體數(shù)據(jù)的灰度值的分布情況;然后,根據(jù)體數(shù)據(jù)的灰度值分布情況,確定不同灰度對應(yīng)的心臟組織,并根據(jù)所述心臟組織的空間位置設(shè)置其對應(yīng)的光學(xué)屬性,即不透明度和顏色值,設(shè)置完成的不透明度和顏色的集合組織成顏色查找表ColorMap;灰度值和光學(xué)屬性之間的的對應(yīng)關(guān)系建立完成。9.根據(jù)權(quán)利要求7所述的基于GPU加速的實(shí)時(shí)三維心臟數(shù)據(jù)體繪制方法,其特征在于,模擬從指定方向射入的光線在體數(shù)據(jù)中傳播,完成心臟數(shù)據(jù)的體繪制的過程為采用放射一吸收模型模擬光在體數(shù)據(jù)中的傳播狀態(tài),并最終產(chǎn)生沿視線方向?qū)w數(shù)據(jù)的采樣,并且沿著視線方向累計(jì)體素的顏色和不透明度的結(jié)果,逐一獲得每個(gè)體素的最終繪制顏色和不透明度,進(jìn)而最終繪制完成心臟的體繪制。10.根據(jù)權(quán)利要求9所述的基于GPU加速的實(shí)時(shí)三維心臟數(shù)據(jù)體繪制方法,其特征在于,每個(gè)體素的最終繪制顏色和不透明度的獲得方法為每個(gè)離散的體數(shù)據(jù)的最終繪制時(shí)的顏色為<formula>formulaseeoriginaldocumentpage4</formula>每個(gè)離散的體數(shù)據(jù)的最終繪制時(shí)的不透明度為<formula>formulaseeoriginaldocumentpage4</formula>其中,Ci和&由傳遞函數(shù)設(shè)置,分別代表在第i個(gè)采樣點(diǎn)數(shù)據(jù)的顏色和不透明度,Ai近似表示體數(shù)據(jù)吸收的光。全文摘要基于GPU加速的實(shí)時(shí)三維心臟數(shù)據(jù)體繪制方法,屬于圖形圖像處理領(lǐng)域。本發(fā)明解決了現(xiàn)有三維心臟數(shù)據(jù)的體繪制速度慢、對計(jì)算機(jī)性能要求高的問題。本發(fā)明的方法是基于GPU加速的實(shí)時(shí)三維心臟數(shù)據(jù)體繪制方法是基于帶有支持Cg語言的顯卡的PC機(jī)實(shí)現(xiàn)的,所述體繪制方法的具體包括數(shù)據(jù)讀取和預(yù)處理的步驟,是把待繪制的心臟的多個(gè)切片數(shù)據(jù)組織成體數(shù)據(jù)文件,并將所述體數(shù)據(jù)文件打包成三維紋理數(shù)據(jù)包后,存儲(chǔ)到顯卡的內(nèi)存中;數(shù)據(jù)坐標(biāo)變換的步驟,是將數(shù)據(jù)預(yù)處理的步驟獲得的三維紋理數(shù)據(jù)包中的數(shù)據(jù)坐標(biāo)轉(zhuǎn)換成屏幕坐標(biāo);圖像繪制的步驟,是將坐標(biāo)規(guī)范化之后的體數(shù)據(jù)采用直接體繪制的方法繪制輸出。本發(fā)明還適用于其它復(fù)雜結(jié)構(gòu)的三維臟器的體繪制。文檔編號(hào)G06T17/00GK101814193SQ201010120708公開日2010年8月25日申請日期2010年3月9日優(yōu)先權(quán)日2010年3月9日發(fā)明者左旺孟,張宏志,張雷,王寬全,袁永峰申請人:哈爾濱工業(yè)大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1