專利名稱:體繪制的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種在二維顯示屏上繪制體數(shù)據(jù)集的方法,其中通過(guò)相鄰體素的梯度向量的內(nèi)插,在體積內(nèi)任意取樣位置計(jì)算體素值的梯度向量,借助于分配給各個(gè)體素的梯度索引來(lái)從查找表中檢索梯度向量。
此外,本發(fā)明涉及一種用于執(zhí)行此方法的計(jì)算機(jī)程序。
體繪制是計(jì)算機(jī)圖形學(xué)的一個(gè)重要領(lǐng)域。由于體繪制涉及到體數(shù)據(jù)集的直接繪制,如由磁共振成像(MRI)所產(chǎn)生的診斷體圖像,在二維顯示屏上顯示時(shí)表示立體對(duì)象的內(nèi)部特征,因此它對(duì)醫(yī)療應(yīng)用尤為重要。在MRI中,從三維網(wǎng)格各點(diǎn)處的磁共振信號(hào)中重建人體組織的質(zhì)子密度。此等距體素的體數(shù)據(jù)集可以通過(guò)體繪制顯示出來(lái),從而指出與MRI數(shù)據(jù)的密度變化相對(duì)應(yīng)的各種組織的邊界。
由于體繪制所需要的計(jì)算量非常大,因此近年來(lái)在開(kāi)發(fā)有效的算法方面已經(jīng)進(jìn)行了大量工作。體數(shù)據(jù)集通常都非常大。典型的MRI圖像可包含超過(guò)一百萬(wàn)體素。這就因內(nèi)存需求巨大而對(duì)系統(tǒng)資源提出了額外的限制。
在例如Meissner等人的文章“用于實(shí)時(shí)體繪制的PCI卡VizardII”(“Vizard II,A PCI-Card for Real-time Volume Rendering”,Proceedings of the 1998 Eurographics/Siggraph Workshop On GraphicsHardware,Lisbon,1998年8月)中描述了一種體繪制的方法。下面描述此文中提出的算法。
要繪制的體數(shù)據(jù)集包括離散的體素。因此各體素在三維網(wǎng)格上具有明確的x,y,z位置。除了其空間上的位置之外,體素的特征還在于定義空間強(qiáng)度分布的體素值,該值可例如反映MRI圖像中的質(zhì)子密度。
為了在二維顯示屏上繪制體數(shù)據(jù)集,定義了一個(gè)視平面,它取決于觀測(cè)參數(shù),比如眼睛位置、觀看方向等。對(duì)于視平面上的各個(gè)點(diǎn),都有一束光線投影到體積中。然后,在沿各個(gè)光線的離散取樣點(diǎn)處對(duì)體數(shù)據(jù)進(jìn)行取樣。為了在這些取樣位置產(chǎn)生取樣值,對(duì)網(wǎng)格的八個(gè)相鄰體素進(jìn)行三線性內(nèi)插。
必須為視平面上各個(gè)像素計(jì)算色值。因此,需要梯度向量來(lái)給出強(qiáng)度的最大變化的方向和大小。因此,梯度向量垂直于空間中恒定圖像強(qiáng)度的“表面”,并可用于顯現(xiàn)所顯示的立體對(duì)象的特定邊界。梯度向量用來(lái)計(jì)算隨各個(gè)表面相對(duì)于光源的取向而定的反射光強(qiáng)度。根據(jù)梯度方向和取樣值,計(jì)算在各取樣位置的顏色和不透明度。這些值沿光線被累加,并最終合成而給出關(guān)于視平面上各個(gè)像素的色值。
用于計(jì)算各取樣位置的取樣值的上述三線性內(nèi)插需要存取八個(gè)相鄰體素。為了通過(guò)六個(gè)最近相鄰者的差異來(lái)計(jì)算梯度向量,必須存取32個(gè)體素值。結(jié)果證明,在目前的計(jì)算機(jī)硬件上,并行地存取32個(gè)值是不可行的,因?yàn)檫@樣計(jì)算梯度向量會(huì)花費(fèi)太多時(shí)間。因此,上述文章的作者提出預(yù)計(jì)算各體素的梯度。產(chǎn)生梯度表而不是存儲(chǔ)各體素位置處的所有梯度,后一做法將需要三倍于體數(shù)據(jù)集本身的存儲(chǔ)量。然后,對(duì)于每個(gè)體素,通過(guò)在查找表中選擇最接近的梯度的索引,只將該索引存儲(chǔ)到梯度表中。通過(guò)在各取樣位置執(zhí)行八個(gè)梯度查找,并內(nèi)插返回的梯度的x,y,z分量,可以計(jì)算出各取樣位置的梯度。查找表中的梯度的有限數(shù)目會(huì)影響圖像質(zhì)量,但是通過(guò)使查找表足夠大,仍可獲得存儲(chǔ)要求與圖像質(zhì)量之間的良好折衷方案。
通過(guò)此方法實(shí)現(xiàn)幀頻的相當(dāng)大的提高,因?yàn)樵诶L制期間完全避免了通過(guò)最近的相鄰者的差異而進(jìn)行的耗時(shí)的梯度計(jì)算。
這種已知方法的缺點(diǎn)在于,梯度值的離散化會(huì)在最終圖像中導(dǎo)致不希望有的強(qiáng)度帶。這些會(huì)嚴(yán)重降低圖像質(zhì)量的強(qiáng)度帶的出現(xiàn)是由查找表中梯度向量的有限數(shù)目引起的。
本發(fā)明的總體目的是改進(jìn)上述的體繪制方法。
此外,本發(fā)明的一個(gè)目的是提供一種有效的體繪制方法,其中可以避免最終圖像中出現(xiàn)強(qiáng)度帶。
根據(jù)本發(fā)明,公開(kāi)一種上述類型的體繪制方法,其中通過(guò)對(duì)梯度向量施加抖動(dòng)來(lái)避免上述問(wèn)題和缺點(diǎn)。
根據(jù)本發(fā)明的一個(gè)方面,可以對(duì)各取樣位置處的梯度向量施加抖動(dòng)。這例如可以通過(guò)對(duì)各個(gè)梯度向量的各分量加上偽隨機(jī)值來(lái)進(jìn)行。結(jié)果,對(duì)于與查找表中恒定索引值相對(duì)應(yīng)的視平面上的各個(gè)像素,可以得到不同的強(qiáng)度值。此強(qiáng)度值隨機(jī)分布在一個(gè)平均值周圍。通過(guò)此方法可以有效地避免強(qiáng)度帶的出現(xiàn)。然而,由于抖動(dòng)的原因,所得的圖像反而具有一定“噪聲”外觀,這仍不能完全令人滿意。
因此,根據(jù)本發(fā)明的另一方面,還可以在梯度索引的分配過(guò)程中對(duì)梯度向量施加抖動(dòng)。在這種情況下,在預(yù)計(jì)算步驟期間為梯度分量加上隨機(jī)值,這進(jìn)一步提高繪制速度。另外,為了計(jì)算各取樣位置上的梯度向量,對(duì)相鄰梯度值求平均值。由于相鄰梯度的抖動(dòng),至少部分地恢復(fù)了各取樣位置上的真實(shí)梯度向量。因此,幾乎完全消除了不希望有的強(qiáng)度帶而不會(huì)在圖像中產(chǎn)生人為噪聲。本發(fā)明這一方面的基本想法是通過(guò)將相鄰網(wǎng)格位置上的不同的抖動(dòng)梯度值結(jié)合,實(shí)現(xiàn)各個(gè)取樣位置上的原始梯度的恢復(fù)。因此,通過(guò)本發(fā)明的方法有效地克服查找表中梯度離散化的缺點(diǎn),而不需要在繪制過(guò)程中任何額外的計(jì)算步驟。
通過(guò)本發(fā)明所定義的體繪制方法,采用查找表是有用的,查找表包括均勻地分布在單位球面上的歸一化梯度向量。這樣,由于查找表包括在空間各方向上概率相同的梯度向量,所以可以使分配給各體素的梯度值的平均角誤差減至最小。顯然,這是覆蓋梯度向量的整個(gè)三維矢量空間的最佳方式。對(duì)于光反射和光傳播的計(jì)算,由于只需要各個(gè)面元素的方向,因此將查找表限制在歸一化梯度是足夠的。此外,只操作歸一化梯度節(jié)約了相當(dāng)大的存儲(chǔ)量。
根據(jù)本發(fā)明,在施加抖動(dòng)之后并且在將查找表中相應(yīng)的索引分配給各體素之前,使梯度向量歸一化。從而選擇存儲(chǔ)在梯度表中的最接近的梯度方向。
在相鄰體素的梯度向量的內(nèi)插之后,使各取樣位置的梯度向量再歸一化是有用的。這是因?yàn)樵诟飨蛄糠至康娜€性內(nèi)插之后,所得到的梯度向量不再是歸一化的。
適用于執(zhí)行本發(fā)明的方法的計(jì)算機(jī)程序?qū)w數(shù)據(jù)集進(jìn)行預(yù)處理,包括以下步驟計(jì)算各體素位置上的梯度向量;通過(guò)把各梯度分量加上隨機(jī)噪聲而使梯度向量抖動(dòng);通過(guò)使抖動(dòng)的梯度數(shù)據(jù)與梯度查找表中的相應(yīng)向量相匹配,從而為各體素分配梯度索引;以及為各體素存儲(chǔ)梯度索引。
為了在二維顯示屏上真實(shí)地繪制體數(shù)據(jù),此計(jì)算機(jī)程序包括以下步驟在二維顯示屏上為各像素設(shè)置光線;確定體積內(nèi)沿著光線的取樣點(diǎn);通過(guò)各取樣點(diǎn)處的相鄰體素值的內(nèi)插來(lái)計(jì)算取樣值;通過(guò)各取樣點(diǎn)處的相鄰梯度值的內(nèi)插來(lái)計(jì)算梯度向量,根據(jù)各梯度索引來(lái)從梯度查找表中檢索相鄰的梯度向量;計(jì)算各取樣位置的顏色和不透明度值;以及將顏色和不透明度值結(jié)合成像素值。
這種計(jì)算機(jī)程序可以有利地在能夠執(zhí)行標(biāo)準(zhǔn)計(jì)算機(jī)圖形任務(wù)的任何通用計(jì)算機(jī)硬件上實(shí)現(xiàn)。特別是,醫(yī)療成像裝置的圖像重建和顯示單元可容易地配備用于執(zhí)行本發(fā)明方法的程序設(shè)計(jì)。計(jì)算機(jī)程序可以為這些裝置而設(shè)置在適當(dāng)?shù)臄?shù)據(jù)載體、如CD-ROM(小型光盤(pán)只讀存儲(chǔ)器)或磁盤(pán)上?;蛘撸部捎墒褂谜邚囊蛱鼐W(wǎng)服務(wù)器中下載。
也可以將本發(fā)明的計(jì)算機(jī)程序結(jié)合到專用圖形硬件部件、例如用于個(gè)人計(jì)算機(jī)的視頻卡中。由于典型的個(gè)人計(jì)算機(jī)的單CPU(中央處理器)通常不能以交互式幀頻來(lái)進(jìn)行體繪制,所以這特別合理。本發(fā)明的方法例如可以被實(shí)現(xiàn)在用于傳統(tǒng)個(gè)人計(jì)算機(jī)的PCI視頻卡的體繪制加速器中。目前的PCI硬件利用上述算法而具有傳送交互式幀頻所需的容量和速度。
下列各圖公開(kāi)了本發(fā)明的優(yōu)選實(shí)施例。但是應(yīng)當(dāng)理解,設(shè)計(jì)各圖僅為了說(shuō)明而不是作為限制本發(fā)明的定義。圖中
圖1表示舉例說(shuō)明根據(jù)本發(fā)明的體數(shù)據(jù)集的預(yù)處理的示意性框圖;圖2表示舉例說(shuō)明通過(guò)本發(fā)明的方法在二維顯示屏上繪制體數(shù)據(jù)集的示意性框圖;圖3表示具有適用于根據(jù)本發(fā)明的方法工作的視頻圖形卡的計(jì)算機(jī)系統(tǒng)。
圖1表示體數(shù)據(jù)集的預(yù)處理的框圖,它在體繪制開(kāi)始時(shí)執(zhí)行。在塊1中,在計(jì)算均勻分布在單位球面上的給定數(shù)目的歸一化梯度向量時(shí),梯度查找表被初始化。存儲(chǔ)向量分量,為表中的各個(gè)梯度向量分配索引值。塊2獲取體數(shù)據(jù)集的第一體素并將其傳送給塊3,塊3通過(guò)六個(gè)最近的相鄰者的差異來(lái)計(jì)算此體素位置處的梯度向量。在塊4中對(duì)前一步驟中計(jì)算出的梯度向量施加抖動(dòng)。這最好可通過(guò)對(duì)向量的x,y,z分量加上偽隨機(jī)數(shù)來(lái)實(shí)現(xiàn)。塊5確定最接近抖動(dòng)梯度的、查找表中最佳匹配的向量的索引。接著,在塊6中,為當(dāng)前體素存儲(chǔ)此索引。為體數(shù)據(jù)集的各個(gè)體素重復(fù)從塊3中的梯度向量計(jì)算開(kāi)始的整個(gè)過(guò)程。塊7檢查在要預(yù)處理的數(shù)據(jù)集中是否還有任何體素。如果還有其它體素,則在塊8中選擇下一個(gè)體素并將其傳送給塊3,直到查找表中體素索引的完全集已被確定。
此后,進(jìn)行體數(shù)據(jù)集的實(shí)際繪制,如圖2所示。在塊9中,根據(jù)觀測(cè)參數(shù)如眼睛位置、觀看方向、視圖垂直向量等來(lái)計(jì)算視平面的位置。然后,對(duì)于視平面上的各點(diǎn),將一束光線投影到體積內(nèi)。塊10獲取要處理的這些光線中的第一光線。現(xiàn)在必須沿此光線進(jìn)行取樣。在塊11中確定各光線上的第一取樣點(diǎn)。為了計(jì)算取樣位置處的梯度向量,在塊12中,為八個(gè)相鄰體素進(jìn)行梯度表中的查找,該表在圖1所示的預(yù)處理期間(塊1)已建立。在塊13中,根據(jù)分配給相鄰體素的索引來(lái)從查找表中檢索梯度。在塊14中,對(duì)這些梯度向量進(jìn)行三線性內(nèi)插,以便獲得取樣位置處的梯度向量。如上所述,由于在分配梯度索引之前,在預(yù)處理期間已經(jīng)施加了隨機(jī)抖動(dòng),因此內(nèi)插導(dǎo)致取樣位置處的真實(shí)梯度值的部分恢復(fù)。在歸一化向量的內(nèi)插之后,所得向量不再具有單位長(zhǎng)度,因此必須進(jìn)行再歸一化,這在塊15中完成。必須計(jì)算與實(shí)際光線相對(duì)應(yīng)的二維顯示屏上的點(diǎn)的色值。這是通過(guò)在塊16中計(jì)算各取樣位置處的顏色和不透明度值來(lái)完成的。這些值沿光線累加,并在對(duì)整個(gè)光線進(jìn)行取樣后合成最終的色值。取樣沿光線對(duì)所有的取樣點(diǎn)繼續(xù)進(jìn)行。塊17檢查在光線上是否還剩有其它點(diǎn)。如果有其它點(diǎn),則塊18獲取下一取樣點(diǎn)并將其傳送給塊12。如果沒(méi)有剩余點(diǎn),則塊19檢查在視平面上是否還剩有任何光線。如果有,則塊20獲取下一個(gè)要處理的光線并將其傳送給塊11。在整個(gè)視平面的處理完成后,繪制在塊21處結(jié)束,它對(duì)應(yīng)于計(jì)算機(jī)程序中子例程的返回命令。
圖3表示適合于執(zhí)行本發(fā)明方法的計(jì)算機(jī)系統(tǒng)。它包含中央處理單元22,該單元通過(guò)系統(tǒng)總線23與計(jì)算機(jī)系統(tǒng)的其它單元進(jìn)行通信。在總線23上連接了隨機(jī)存取存儲(chǔ)單元24。存儲(chǔ)器24存儲(chǔ)計(jì)算機(jī)程序、如操作系統(tǒng)和應(yīng)用程序,它們實(shí)際上在計(jì)算機(jī)系統(tǒng)上執(zhí)行。在程序執(zhí)行期間,處理單元22讀取來(lái)自存儲(chǔ)單元24的指令、命令和數(shù)據(jù)。為了長(zhǎng)期存儲(chǔ)數(shù)據(jù)和可執(zhí)行程序代碼,在總線23上連接了大容量存儲(chǔ)裝置、如硬盤(pán)驅(qū)動(dòng)器。鍵盤(pán)26和鼠標(biāo)27允許計(jì)算機(jī)系統(tǒng)的使用者交互式地輸入信息和控制計(jì)算機(jī)系統(tǒng)。在系統(tǒng)總線23上還連接了視頻圖形適配器28,它具有連接件29,用以將其裝到系統(tǒng)總線23的相應(yīng)插槽中。視頻圖形適配器28包括接口單元30,用于在圖形適配器28的其它單元和計(jì)算機(jī)系統(tǒng)的部件之間進(jìn)行通信。此外,在圖形適配器上還連接了圖形加速器單元31和圖形存儲(chǔ)器單元32。這些單元通過(guò)適當(dāng)?shù)臄?shù)據(jù)連接33互連。存儲(chǔ)單元32包括只讀存儲(chǔ)器和隨機(jī)存取存儲(chǔ)器,并且相應(yīng)地用于存儲(chǔ)本發(fā)明的計(jì)算機(jī)程序和部分要繪制的體數(shù)據(jù)集。圖形加速器31是用于執(zhí)行根據(jù)本發(fā)明方法的體繪制的微處理器或微控制器。圖形適配器28還包括與計(jì)算機(jī)監(jiān)視器相連的視頻信號(hào)發(fā)生器34,監(jiān)視器可以是CRT(陰極射線管)或LCD(液晶顯示器)顯示裝置。視頻信號(hào)發(fā)生器34為體數(shù)據(jù)集的二維顯示器產(chǎn)生視頻信號(hào),體數(shù)據(jù)集由視頻圖形適配器28的各單元來(lái)繪制。
因此,雖然上面表示和描述了本發(fā)明的一些實(shí)施例,但是應(yīng)該理解,在不脫離由所附權(quán)利要求書(shū)定義的本發(fā)明的精神和范圍的前提下,可以對(duì)本發(fā)明進(jìn)行許多變化和修改。
權(quán)利要求
1.一種在二維顯示屏上繪制體數(shù)據(jù)集的方法,其中通過(guò)在相鄰體素的梯度向量之間內(nèi)插來(lái)計(jì)算所述體積內(nèi)任意取樣位置處的體素值的梯度向量,借助于分配給各體素的梯度索引從查找表中檢索所述梯度向量,其特征在于,對(duì)所述梯度向量施加抖動(dòng)。
2.如權(quán)利要求1所述的方法,其特征在于,在所述梯度索引的分配期間把抖動(dòng)施加給各體素位置處的所述梯度向量。
3.如權(quán)利要求1所述的方法,其特征在于,通過(guò)給所述梯度向量的各個(gè)分量加上隨機(jī)值來(lái)施加抖動(dòng)。
4.如權(quán)利要求1所述的方法,其特征在于,所述查找表包含均勻分布在單位球面上的歸一化梯度向量。
5.如權(quán)利要求1所述的方法,其特征在于,在所述內(nèi)插步驟之后,進(jìn)行所述取樣位置處的所述梯度向量的再歸一化。
6.一種用于執(zhí)行如權(quán)利要求1所述的方法的計(jì)算機(jī)程序,其特征在于,體數(shù)據(jù)集的預(yù)處理包括以下步驟計(jì)算各體素位置處的梯度向量;通過(guò)給各個(gè)向量分量加上隨機(jī)噪聲而使所述梯度向量抖動(dòng);通過(guò)使抖動(dòng)的梯度數(shù)據(jù)與梯度查找表中的相應(yīng)向量匹配,為各個(gè)體素分配梯度索引;以及為各個(gè)體素存儲(chǔ)梯度索引。
7.如權(quán)利要求6所述的計(jì)算機(jī)程序,其特征在于,在二維顯示屏上的體數(shù)據(jù)的繪制包括以下步驟在所述二維顯示屏上為各像素設(shè)置光線;確定所述體積內(nèi)沿著所述光線的取樣點(diǎn);通過(guò)各取樣點(diǎn)處的相鄰體素值的內(nèi)插來(lái)計(jì)算取樣值;通過(guò)各取樣點(diǎn)處的相鄰梯度向量的內(nèi)插來(lái)計(jì)算梯度向量,根據(jù)所述各個(gè)梯度索引從所述梯度查找表中檢索所述相鄰的梯度向量;計(jì)算各取樣位置的顏色和不透明度值;以及將顏色和不透明度值合成為像素值。
8.一種適合于具有程序控制的處理單元的計(jì)算機(jī)系統(tǒng)的視頻圖形適配器,其特征在于,所述圖形適配器具有根據(jù)權(quán)利要求1的方法工作的程序設(shè)計(jì)。
全文摘要
本發(fā)明涉及一種在二維顯示屏上繪制體數(shù)據(jù)集的方法。根據(jù)本發(fā)明的方法,計(jì)算體素值的梯度向量,并由梯度查找表中的索引來(lái)代替,從而減少繪制期間所需的存儲(chǔ)量和存儲(chǔ)器存取次數(shù)。對(duì)于二維視平面上的各點(diǎn),有一束光線投影到體積內(nèi)。然后沿各條光線在離散的取樣點(diǎn)上對(duì)體數(shù)據(jù)取樣。在繪制期間從查找表中檢索各取樣位置處的相鄰體素的八個(gè)梯度向量。本發(fā)明提出在選擇適當(dāng)索引之前對(duì)梯度施加抖動(dòng)。由于內(nèi)插而實(shí)現(xiàn)實(shí)際梯度值的恢復(fù)。由此避免圖像的人工痕跡、例如由梯度離散化而引起的強(qiáng)度帶。
文檔編號(hào)G06T15/40GK1457474SQ02800260
公開(kāi)日2003年11月19日 申請(qǐng)日期2002年1月31日 優(yōu)先權(quán)日2001年2月9日
發(fā)明者J·布呂恩斯 申請(qǐng)人:皇家菲利浦電子有限公司