專利名稱:醫(yī)學(xué)圖像中基于gpu硬件加速的體繪制方法
技術(shù)領(lǐng)域:
本發(fā)明涉及的是一種圖象處理技術(shù)領(lǐng)域的方法,具體地說(shuō),是一種醫(yī)學(xué)圖像中基于GPU硬件加速的體繪制方法。
背景技術(shù):
體繪制是可視化體數(shù)據(jù)的關(guān)鍵技術(shù)。它將體數(shù)據(jù)直接繪制成三維圖像,因此能夠更有效地從任意視角高質(zhì)量顯示物體的結(jié)構(gòu)。但是由于直接體繪制運(yùn)行速度慢,占用資源多等原因而不易在普通PC機(jī)上采用。但是在眾多領(lǐng)域如醫(yī)學(xué)三維重建、虛擬人數(shù)據(jù)的顯示處理等,直接體繪制在顯示效果方面無(wú)可取代。本發(fā)明針對(duì)這一點(diǎn),特別對(duì)直接體繪制進(jìn)行加速計(jì)算,使用圖像卡(GPU)硬件代替CPU完成直接體繪制過(guò)程,這樣一方面可以保證生成圖像的質(zhì)量,以滿足廣大需求,另一方面可以在普通PC上達(dá)到實(shí)時(shí)操作的速度,降低系統(tǒng)對(duì)計(jì)算機(jī)硬件的依賴性。
經(jīng)對(duì)現(xiàn)有技術(shù)的文獻(xiàn)檢索發(fā)現(xiàn),J.Kriiger和R.Westermann于2003年在西雅圖IEEE可視化會(huì)議上的文章《基于GPU的加速技術(shù)》;Rudiger Westermann和Bernd Sevenich與2001年IEEE上的文章《使用紋理加速體繪制的光線投射》。這些加速算法在某種程度上達(dá)到了很好的性能,但由于受當(dāng)時(shí)GPU硬件發(fā)展的限制,算法還有很大的提升空間。
發(fā)明內(nèi)容
本發(fā)明的目的在于克服現(xiàn)有技術(shù)的不足,提供一種醫(yī)學(xué)圖像中基于GPU硬件加速的體繪制方法,使其用圖形卡硬件對(duì)繪制進(jìn)行加速計(jì)算,從而在保持圖像質(zhì)量的同時(shí),獲得實(shí)時(shí)地繪制速度,滿足數(shù)字醫(yī)療系統(tǒng)的需要。
本發(fā)明是通過(guò)以下技術(shù)方案實(shí)現(xiàn)的,本發(fā)明包括以下步驟1、對(duì)體數(shù)據(jù)進(jìn)行預(yù)處理后存儲(chǔ)為紋理將每個(gè)體素的灰度值映射到顏色值和透明度上,以表示該體素的發(fā)光特性,然后估計(jì)梯度信息,使用光照模型,計(jì)算此體素在加入光照后的最終顏色,就可觀測(cè)感興趣區(qū)域。
體數(shù)據(jù)原始值一般表示物質(zhì)某種特性,需要分類為顏色和透明度后才可觀察到感興趣區(qū)域。就CT數(shù)據(jù)而言,每個(gè)原始體數(shù)據(jù)表示事物的灰度值,不同人體組織對(duì)應(yīng)于不同的灰度值,可以根據(jù)這些物理特性將它們映射到顏色值上,以方便觀察感興趣部分。
2、為GPU計(jì)算生成和提供參數(shù)①基準(zhǔn)切面的生成。GPU內(nèi)的光線投射,需要CPU提供一個(gè)基準(zhǔn)切面,并以此為基礎(chǔ)進(jìn)行光線投射?;鶞?zhǔn)切面可以通過(guò)將此體數(shù)據(jù)對(duì)應(yīng)空間立方體投影到垂直與眼睛所看方向的一個(gè)平面上求得,因?yàn)橥队包c(diǎn)可能不是一個(gè)很規(guī)則的圖形,所以最好使用一個(gè)最小的長(zhǎng)方形,將這些投影點(diǎn)全部包圍,這樣,當(dāng)程序運(yùn)行到GPU計(jì)算階段時(shí),可以獲得空間立方體的所有投影(也包括不是此立方體的投影),同時(shí)也最大程度的減少此投影范圍之外的點(diǎn)。
②在光線投射過(guò)程中,紋理的增長(zhǎng)量和總共光線需要前進(jìn)的步數(shù)。因?yàn)樵趯?shù)據(jù)存儲(chǔ)為三維紋理后,對(duì)體數(shù)據(jù)的處理就等價(jià)于在GPU內(nèi)對(duì)三維紋理的處理,所以需要確定光線沒(méi)前進(jìn)一步時(shí),紋理坐標(biāo)需要前進(jìn)多少。另外不可能讓光線投射的采樣步伐無(wú)限小,所以在CPU內(nèi)將這個(gè)最大步數(shù)用一個(gè)常量n確定,根據(jù)立方體距離眼睛位置的最近距離和最遠(yuǎn)距離,再加上常量n,確定每前進(jìn)一步對(duì)應(yīng)紋理的改變量。所以這里,需要一個(gè)表示步數(shù)的常量n,和表示單步紋理坐標(biāo)前進(jìn)量的常量x,y,z。這些常規(guī)參數(shù)不會(huì)因?yàn)轫旤c(diǎn)的不同而改變,所以一次性傳遞給GPU程序,就可以在每個(gè)像素處理中使用了。
③在GPU處理中將冗余點(diǎn)對(duì)應(yīng)的冗余部門去掉。通過(guò)紋理在三個(gè)坐標(biāo)軸上的大小與光線投射過(guò)程中生成的紋理比較確定冗余點(diǎn),如果紋理坐標(biāo)在三個(gè)坐標(biāo)軸上都落在了0到紋理在這個(gè)方向上的最大值范圍內(nèi),就說(shuō)它是有意義的點(diǎn),反之它是冗余點(diǎn)。這些冗余點(diǎn)根據(jù)光線投射方程的線性性質(zhì),通過(guò)除法得以剔出。因?yàn)榛厩衅矫嫔蛇^(guò)程中,會(huì)生成很多冗余點(diǎn),所以在GPU處理中將冗余點(diǎn)對(duì)應(yīng)的冗余部門去掉。
3、GPU計(jì)算,生成圖像
像素渲染是光線投射計(jì)算部分,包括確定光線兩端和顏色混合。光線投射方程為紋理坐標(biāo)的線性方程,光線投射部分必須滿足紋理坐標(biāo)在0到紋理在這個(gè)軸上的最大值之間,所以計(jì)算出光線投射多少步可以使紋理坐標(biāo)滿足這個(gè)條件即可獲得光線的起始位置,在計(jì)算出光線投射多少步可以使紋理坐標(biāo)恰好不在這個(gè)范圍內(nèi),這樣確定光線的終止位置。然后光線投射在光線起始位置和終止位置中間進(jìn)行,進(jìn)行顏色混合后輸出圖像。
本發(fā)明結(jié)合傳統(tǒng)的CPU實(shí)現(xiàn)的光線投射算法、傳統(tǒng)的紋理體繪制算法為一體,使用GPU來(lái)完成光線投射過(guò)程,使用顏色混合方法生成圖像,然后發(fā)送到顏色緩沖區(qū)中。本發(fā)明用圖形卡硬件對(duì)繪制進(jìn)行加速計(jì)算,從而在保持圖像質(zhì)量的同時(shí),獲得實(shí)時(shí)地繪制速度,滿足數(shù)字醫(yī)療系統(tǒng)的需要。
圖1是本發(fā)明實(shí)施的效果圖。
具體實(shí)施例方式
結(jié)合本發(fā)明的內(nèi)容提供以下實(shí)施例,對(duì)一源于Stanford大學(xué)圖像研究所的一個(gè)CT數(shù)據(jù)進(jìn)行體繪制,此數(shù)據(jù)大小為512*512*361,GPU使用Nvidia的NV40芯片系列。
1.讀入三維圖像。圖像的解像度為512×512×361。
2.使用分類函數(shù)將體數(shù)據(jù)分類,使每個(gè)體素對(duì)應(yīng)一個(gè)含透明度的顏色值(RGBA),其具體操作為首先選擇某些體素值作為關(guān)鍵點(diǎn),對(duì)這一點(diǎn)人為的增加一個(gè)顏色和透明度值,其中透明度是確定具有這些值的體素的顯示情況,顏色值則對(duì)這些體素加以區(qū)別。然后將體數(shù)據(jù)整個(gè)空間的每一個(gè)值使用那些關(guān)鍵點(diǎn)的對(duì)應(yīng)值進(jìn)行線行插值計(jì)算,從而獲得每個(gè)體素點(diǎn)的數(shù)據(jù)值到顏色值的映射。將新的由顏色值確定的體數(shù)據(jù)用三維紋理來(lái)保存,以提供GPU的數(shù)據(jù)來(lái)源。
3.確定投影平面。GPU光線投射只需要CPU給生成一個(gè)投影平面上的長(zhǎng)方形即可,這個(gè)長(zhǎng)方形可以根據(jù)相機(jī)的位置,在投影平面上獲得一個(gè)能夠包圍體數(shù)據(jù)對(duì)應(yīng)的空間立方體在這個(gè)平面上的所有投影點(diǎn),然后由四個(gè)頂點(diǎn)確定,利用這四個(gè)頂點(diǎn)在CPU內(nèi)繪制長(zhǎng)方形,從而將激活GPU的頂點(diǎn)運(yùn)算和像素運(yùn)算。
4.在CPU繪制了長(zhǎng)方形,并且生成并且傳遞了表示光線方向的參數(shù)之后,進(jìn)入GPU像素程序中運(yùn)行,在這里進(jìn)行光線投射過(guò)程,首先確定光線的開始位置和終止位置當(dāng)紋理坐標(biāo)在(0,1)之間時(shí),表示此位置在體數(shù)據(jù)包圍的范圍之內(nèi),并且光線投射過(guò)程中,紋理坐標(biāo)做線形變化,首先去除紋理坐標(biāo)的冗余部分,使其恰好在正常值范圍內(nèi),這樣就確定了光線投射方向上的一個(gè)線段,兩端就是光線的起始位置和終止位置。然后從起始位置到終止位置作迭代計(jì)算,使用顏色混合公式計(jì)算出相應(yīng)的顏色值。迭代結(jié)束后,將顏色寫入到第一輸出管道(也就是繪制的目的地)。
實(shí)施效果生成的圖像如圖1所示,繪制速度10.75禎一秒。
權(quán)利要求
1.一種醫(yī)學(xué)圖像中基于GPU硬件加速的體繪制方法,其特征在于,包括以下步驟(1)對(duì)體數(shù)據(jù)進(jìn)行預(yù)處理后存儲(chǔ)為紋理;(2)為GPU計(jì)算生成和提供參數(shù)①基準(zhǔn)切面的生成;②在光線投射過(guò)程中,紋理的增長(zhǎng)量和總共光線需要前進(jìn)的步數(shù);③在GPU處理中將冗余點(diǎn)對(duì)應(yīng)的冗余部門去掉;(3)GPU計(jì)算,生成圖像像素渲染是光線投射計(jì)算部分,包括確定光線兩端和顏色混合。
2.根據(jù)權(quán)利要求1所述的醫(yī)學(xué)圖像中基于GPU硬件加速的體繪制方法,其特征是,所述的步驟(1)中,將每個(gè)體素的灰度值映射到顏色值和透明度上,以表示該體素的發(fā)光特性。
3.根據(jù)權(quán)利要求2所述的醫(yī)學(xué)圖像中基于GPU硬件加速的體繪制方法,其特征是,所述的步驟(1)中,估計(jì)梯度信息,使用光照模型,計(jì)算此體素在加入光照后的最終顏色,就可觀測(cè)感興趣區(qū)域。
4.根據(jù)權(quán)利要求1所述的醫(yī)學(xué)圖像中基于GPU硬件加速的體繪制方法,其特征是,所述的基準(zhǔn)切面的生成,是指基準(zhǔn)切面通過(guò)將此體數(shù)據(jù)對(duì)應(yīng)空間立方體投影到垂直與眼睛所看方向的一個(gè)平面上求得。
5.根據(jù)權(quán)利要求1所述的醫(yī)學(xué)圖像中基于GPU硬件加速的體繪制方法,其特征是,所述的步數(shù),是指在CPU內(nèi)將最大步數(shù)用一個(gè)常量n確定,根據(jù)立方體距離眼睛位置的最近距離和最遠(yuǎn)距離,再加上常量n,確定每前進(jìn)一步對(duì)應(yīng)紋理的改變量。
6.根據(jù)權(quán)利要求1所述的醫(yī)學(xué)圖像中基于GPU硬件加速的體繪制方法,其特征是,所述的將冗余點(diǎn)對(duì)應(yīng)的冗余部門去掉,是指通過(guò)紋理在三個(gè)坐標(biāo)軸上的大小與光線投射過(guò)程中生成的紋理比較確定冗余點(diǎn),如果紋理坐標(biāo)在三個(gè)坐標(biāo)軸上都落在了0到紋理在這個(gè)方向上的最大值范圍內(nèi),就說(shuō)它是有意義的點(diǎn),反之它是冗余點(diǎn)。
7.根據(jù)權(quán)利要求6所述的醫(yī)學(xué)圖像中基于GPU硬件加速的體繪制方法,其特征是,所述的冗余點(diǎn)根據(jù)光線投射方程的線性性質(zhì),通過(guò)除法得以剔出。
8.根據(jù)權(quán)利要求1所述的醫(yī)學(xué)圖像中基于GPU硬件加速的體繪制方法,其特征是,所述的步驟(3)中,光線投射方程為紋理坐標(biāo)的線性方程,光線投射部分必須滿足紋理坐標(biāo)在0到紋理在這個(gè)軸上的最大值之間,所以計(jì)算出光線投射多少步使紋理坐標(biāo)滿足這個(gè)條件即獲得光線的起始位置,在計(jì)算出光線投射多少步使紋理坐標(biāo)恰好不在這個(gè)范圍內(nèi),這樣確定光線的終止位置。
9.根據(jù)權(quán)利要求8所述的醫(yī)學(xué)圖像中基于GPU硬件加速的體繪制方法,其特征是,所述的步驟(3)中,光線投射在光線起始位置和終止位置中間進(jìn)行,進(jìn)行顏色混合后輸出圖像。
全文摘要
一種醫(yī)學(xué)圖像中基于GPU硬件加速的體繪制方法,屬于圖像處理技術(shù)領(lǐng)域。本發(fā)明包括以下步驟(1)對(duì)體數(shù)據(jù)進(jìn)行預(yù)處理后存儲(chǔ)為紋理;(2)為GPU計(jì)算生成和提供參數(shù)①基準(zhǔn)切面的生成;②在光線投射過(guò)程中,紋理的增長(zhǎng)量和總共光線需要前進(jìn)的步數(shù);③在GPU處理中將冗余點(diǎn)對(duì)應(yīng)的冗余部門去掉;(3)GPU計(jì)算,生成圖像像素渲染是光線投射計(jì)算部分,包括確定光線兩端和顏色混合。本發(fā)明結(jié)合傳統(tǒng)的CPU實(shí)現(xiàn)的光線投射算法、傳統(tǒng)的紋理體繪制算法為一體,使用GPU來(lái)完成光線投射過(guò)程,使用顏色混合方法生成圖像,然后發(fā)送到顏色緩沖區(qū)中。本發(fā)明用圖形卡硬件對(duì)繪制進(jìn)行加速計(jì)算,從而在保持圖像質(zhì)量的同時(shí),獲得實(shí)時(shí)地繪制速度,滿足數(shù)字醫(yī)療系統(tǒng)的需要。
文檔編號(hào)G06T15/00GK1776747SQ20051011066
公開日2006年5月24日 申請(qǐng)日期2005年11月24日 優(yōu)先權(quán)日2005年11月24日
發(fā)明者顧力栩 申請(qǐng)人:上海交通大學(xué)