專利名稱:基于面采樣的體繪制可視化方法
技術領域:
本發(fā)明涉及圖像處理技術領域,具體為一種基于面采樣的在圖形處理器
(GPU)中體繪制可視化方法。
(二)
背景技術:
20世紀80年代以來隨著成像技術的快速發(fā)展,特別是醫(yī)學影像技術的 逐漸成熟,出現(xiàn)了大量的體數(shù)據(jù),如何有效地利用這些數(shù)據(jù)是研究人員面臨 的難題。大部分的體數(shù)據(jù)需要通過體繪制(Volume Rendering)可視化方法 處理,用二維圖象序列重構三維形體,將三維體數(shù)據(jù)中物體內(nèi)部信息在不同 的二維圖像中呈現(xiàn),為用戶提供具有真實感的三維立體圖形,便于用戶從多 角度、多層次進行觀察和分析。體繪制廣泛應用于醫(yī)學、化學、天文學、氣 象學和其它領域,如醫(yī)學影像三維重建、影像引導的輔助手術系統(tǒng)、虛擬 內(nèi)窺鏡等等。
體繪制直接將所有體數(shù)據(jù)通過重采樣和復合技術生成最后的繪制圖象, 在結果圖象中包含了對象的所有信息。體繪制有極大量的計算工作量,為滿 足實際應用中的實時響應需求,提高體繪制速度成為目前此領域的研究重點。 以往普通PC機上的運算是由中央處理器CPU完成的。目前顯卡技術的飛 速發(fā)展,2003年后推出的標準顯卡都已內(nèi)置了可編程的圖形處理器GPU (Graphics Processing Unit),可用于進行與圖形相關的運算或通用運算。 光線投射(ray-Casting)是體繪制的算法之一,能夠得到高質(zhì)量的繪制 結果。但在CPU中執(zhí)行速度過慢,很多相關研究是為了改進光線投投射算法。 J. Kruger和R. Westermann在IEEE可視化(Visualization) 2003年會上 發(fā)表文章"基于GPU的體繪制加速技術(Acceleration Technique For GPU-based Volume Rendering)",首次提出了在GPU中實現(xiàn)光線投射的方法, 該方法是使用GPU支持的可編程Shader技術,實現(xiàn)了和CPU算法效果相同、 但是速度更快的基于GPU的方法。此后Simon Stegmaier等人在體繪制 (Volume Rendering) 2005年會上發(fā)表文章"基于光線投射的圖形硬件的簡 捷靈活的體繪制方法(A Simple and Flexible Volume Rendering Framework for Graphics-Hardware-based Raycasting)", 對上述算法做了進一步改 進,利用最新的GPU,把原來需要多遍的算法改為只需單遍,提高了繪制速度。
上海交通大學2005的中國專利申請200510110665"醫(yī)學圖像中基于GPU 硬件加速的體繪制方法"公開的方法使用GPU來完成光線投射過程,其包括 步驟(l)對體數(shù)據(jù)進行預處理后存儲為紋理;(2)為GPU計算生成和提供參 數(shù);(3) GPU計算,生成圖像。
新提出的基于GPU的光線投射算法都提高了體繪制的速度,但是都還是 需要逐個對采樣點的顏色坐標進行線性插值計算,即每條光線均需要在片斷 程序(Fragment Shader)中進行動態(tài)循環(huán)計算,逐點計算各采樣點坐標,動 態(tài)循環(huán)的數(shù)據(jù)是相關的,因此在并行執(zhí)行過程中,速度要受限于最慢的那條 光線。抵消GPU硬件并行架構的并行運算能力。
因此目前基于GPU的光線投射算法體繪制的效率仍較低,耗時,沒有充 分發(fā)揮GPU硬件的速度,尚難以滿足體繪制實時響應、實時交互的要求。
發(fā)明內(nèi)容
本發(fā)明的目的是公開一種基于面采樣的體繪制可視化方法,設計采樣面, 一次完成位于同一個面上的大量采樣點的顏色值與直角坐標值的計算轉(zhuǎn)換, 大幅度提高體繪制速度,改善實時交互操作性能。
本發(fā)明的基于面采樣的體繪制可視化方法包括如下步驟
I 、體數(shù)據(jù)轉(zhuǎn)換為3D紋理數(shù)據(jù)并存儲;
圖形處理器與顯存的關系,如同中央處理器與內(nèi)存的關系,但顯存中必 須以紋理格式來保存數(shù)據(jù),圖形處理器自動完成體數(shù)據(jù)的3D紋理轉(zhuǎn)換并保存 在顯存中;
II、設計體數(shù)據(jù)包圍盒
設計包含全部體數(shù)據(jù)立方體包圍盒,設定直角坐標系的原點位于包圍盒 的中心,觀測者視線為某一坐標軸,當包圍盒圍繞另外兩個坐標軸旋轉(zhuǎn),等 同于觀測者改變視線的方向,從多角度觀察體數(shù)據(jù)所包含的內(nèi)部信息。
設定初始狀態(tài)包圍盒8個頂點的坐標與滿足3D紋理的顏色值的對應關 系,即可得到包圍盒12條棱上的任意一點的坐標與其對應的顏色值的線性變 換關系。
III、 包圍盒的旋轉(zhuǎn)操作
為讓觀察者方便地從不同角度觀察體數(shù)據(jù),鼠標操作初始狀態(tài)下的包圍 盒圍繞中心旋轉(zhuǎn)。根據(jù)初始狀態(tài)下的包圍盒圍繞中心相對坐標軸旋轉(zhuǎn)的角度, 定義4X4的旋轉(zhuǎn)矩陣,以計算包圍盒棱上任一點的旋轉(zhuǎn)后的新坐標。
IV、 采樣面的生成
在GPU中實現(xiàn)光線投射算法,關鍵是計算用于采樣體數(shù)據(jù)的采樣點坐標。
本發(fā)明提供的方法是生成垂直于視線方向的系列切割平面
① 計算系列切割平面與包圍盒的各棱的交點坐標;
② 對交點進行順或逆時針排序,構成以各交點為頂點的凸多邊形的采樣
面;
③ 根據(jù)步驟II的旋轉(zhuǎn)矩陣,對多邊形采樣面各頂點坐標進行逆旋轉(zhuǎn)操作 并線性變換換算為其對應的顏色值;
④ 根據(jù)多邊形采樣面各頂點的顏色值,GPU的硬件加速三線插值計算一 次計算得到位于同一個采樣面上的大量采樣點顏色值,構造出一個彩 色的多邊形采樣面;
V、 在GPU中進行顏色合成計算;
按各采樣點的顏色值在GPU的片段程序(Fragment Shader)中采樣出相 應的多邊形采樣面的體數(shù)據(jù)值(灰度值),再利用前一采樣面繪制保存下來的 結果,根據(jù)光線投射算法的顏色合成公式,進行光線投射算法的顏色合成計算。
VI、 計算系列采樣面的灰度值,顏色合成,繪制出最終圖像 按預設的采樣間距,計算所需采樣面的數(shù)量并生成一系列采樣面,按采
樣間距步進,對下一采樣面進行上述IV、 V步驟的采樣和顏色合成;
當系列采樣面遍歷包圍盒的8個頂點,顏色合成計算完成,最終的圖像 繪制完成。
體數(shù)據(jù)原始值表示物質(zhì)某種特性,需要分類為不同彩色或不同透明度后 才便于觀察到感興趣區(qū)域。就CT數(shù)據(jù)而言,每個原始體數(shù)據(jù)表示不同事物的 灰度值,不同人體組織對應于不同的灰度值。為了能清晰顯示出感興趣區(qū)域 的圖像,可針對感興趣的區(qū)域的灰度值,設計一個合適的顏色傳遞函數(shù),存 放在1D紋理中;在上述步驟V中,所得采樣面的灰度值再采樣所存顏色傳遞 函數(shù),獲得對應的彩色值和透明度。
本發(fā)明基于面采樣的圖形處理器體繪制可視化方法的積極效果或優(yōu)點如
下僅需計算多邊形采樣面頂點坐標和其相對應的顏色,再用GPU硬件加速 的方法實現(xiàn)顏色線性插值, 一次性計算出位于該多邊形采樣面內(nèi)的大量采樣 點坐標(取決于一個多邊形被光柵化為多少個片段),無需在片斷程序中進行 動態(tài)循環(huán),提高了程序的并行性,更充分地利用GPU的硬件加速能力,同時 還極大地減少了計算工作量,有效地提高了體繪制的速度,提供了更好的實 時交互性能。
(四)
圖1是本發(fā)明實施例流程圖2是本發(fā)明實施例步驟II設計的初始狀態(tài)下的包圍盒示意圖3是本發(fā)明實施例步驟IV①和②中生成多邊形采樣面的示意圖4是本發(fā)明實施例步驟IV④中生成彩色多邊形采樣面的示意圖5是本發(fā)明實施例步驟V中采樣面采樣體數(shù)據(jù)后的示意圖6是本發(fā)明實施例步驟I和V中所述的顏色傳遞函數(shù)的示意圖;圖中
縱坐標為透明度a,橫坐標為體數(shù)據(jù)灰度值S,橫坐標下為灰度值對應的彩
色值;
圖7是本發(fā)明所述方法中采樣間距與繪制速度及圖像質(zhì)量之間的關系
圖8是本發(fā)明實施例的繪制效果圖。
具體實施方式
本發(fā)明基于面采樣的體繪制可視化方法實施例的硬件環(huán)境為個人計算
機,配備有3. 0GHz CPU, 512MB內(nèi)存,GPU顯存256MB;所處理的體數(shù)據(jù)為人 體腹腔CT二維影像數(shù)據(jù),每張圖像的分辨率為128X128,共448張。
本實施例具體處理程序如圖1所示,包括如下步驟
I 、體數(shù)據(jù)轉(zhuǎn)換為3D紋理并存儲
讀入一系列二維的人體腹腔CT圖像,GPU將體數(shù)據(jù)轉(zhuǎn)換生成128X128 X448大小的3D紋理數(shù)據(jù),存入顯存中;
設計顏色傳遞函數(shù)
為了能清晰顯示出感興趣器官區(qū)域的圖像,針對感興趣的器官區(qū)域的灰 度值,設計出一個合適的彩色值和透明度的顏色傳遞函數(shù),如圖6所示為灰
度值S與透明度CI對應關系圖,本例中,為突出顯示人體腹腔中結腸組織的
圖像,在結腸組織的所占據(jù)的灰度范圍87-113內(nèi)設置透明度加大,而在其它 灰度范圍的透明度設置為零。如圖6所示灰度值為87透明度a開始直線上 升,在灰度值為101時透明度a為最大值0.2,至灰度值為113時透明度a 下降為零。該顏色傳遞函數(shù)存儲于1D紋理數(shù)據(jù)中。同樣可設置感興趣范圍的 灰度值對應的彩色值,按該彩色突出顯示有關灰度值。
II 、設計體數(shù)據(jù)包圍盒
根據(jù)體數(shù)據(jù)的大小,并考慮對應長、寬、高的X、 Y、 Z三個方向上相鄰 像素的間隙值,計算體數(shù)據(jù)真實的大小。設本例的體數(shù)據(jù)X、 Y、 Z方向上的 間隙值分別為2.88mm、 2.88mm和0.8腿,那么體數(shù)據(jù)在X、 Y、 Z方向上的真 實大小為128X2. 88=368. 64mm, 128X2, 88=368. 64謹,448X0. 8=358. 4mm。 據(jù)此比例,設定體數(shù)據(jù)包圍盒的不同方向的三條棱的長,即包圍盒的長寬高
Lvw: Lvh: LVD = 368.64 : 368.64 : 358.4 在本實施例中,取Lvw二 10.0; U=10.0; LVD=9.72。 如圖2所示,本例中,坐標系原點(0, 0, 0)設定在包圍盒中心,定義 初始狀態(tài)包圍盒各邊與坐標軸平行,即未發(fā)生旋轉(zhuǎn)的情況。8個頂點的坐標 分別為 (-0. 5U, -0. 5U, -0. 5U); (+0. 5U, -0. 5L , -0. 5LVD)
(+0. 5L , +0. 5L , -0. 5LVD); (—0. 5LVW, +0. 5LVH, _0. 5LVD) (—0. 5LVW, -0. 5LVH, +0. 5LVD); (+0. 5L , —0. 5LVH, +0. 5LVI)) (+0. 5LVW, +0. 5LV , +0. 5LVD); (—0. 5LVW, +0. 5LVH, +0. 5LVD)。 觀測者眼睛設定在(0, 0, Z),即在Z軸上,且Z^3XU , Z取值足 夠大以便能完全看見包圍盒,視線方向向量為(0, 0, -1),向上方向為Y 軸。包圍盒無需使用平移操作,觀察者就能觀察到整個包圍盒。
設定在初始狀態(tài)的包圍盒8個頂點的坐標與顏色值滿足下列的對應關 系,紅Cr、綠Cg、藍Cb三色值的范圍為O.O至l.O。
頂點坐標(x, y, z) 顏色值(Cr, Cg, Cb)
(-0. 5LVW, -0. 5U, —0. 5LVD) (0. 0, 0. 0, 0. 0)
(+0. 5LVW, -0. 5U, -0. 5U) (1. 0, 0. 0, 0. 0)
(+0. 5U, +0. 5U, -0. 5U) (1. 0, 1. 0, 0. 0)(一O. 5LV*, +0. 5Ui, 一O. 5LVD)(0. 0, l.O,O. 0)
(-O. 5Lvw, -0. 5LVII, +0. 5L )(0. 0, 0. 0, 1.0)
(+0. 5U, -0. 5L , +0. 5U)(1.0, 0. 0, 1.0)
(+0. 5Lvw, +0. 5U,, +0. 5LV0)(1.0, 1.0, 1.0)
(-O. 5U, +0. 5U,, +0. 5LVD)(0. 0,1.0, 1.0)。
那么在初始狀態(tài)下,包圍盒12條棱上的任意一點P的坐標為(x,y,z) 與其對應的顏色值Cr、 Cg、 Cb,滿足下列的線性變換關系
<formula>formula see original document page 11</formula>(式1)
ni、包圍盒旋轉(zhuǎn)操作
為讓觀察者方便地從不同角度觀察體數(shù)據(jù),初始狀態(tài)下的包圍盒圍繞中 心旋轉(zhuǎn)操作。如圖3所示,視線方向不變,保持為z軸方向,包圍盒繞x軸
旋轉(zhuǎn)小角度,繞Y軸旋轉(zhuǎn)e角度,8個頂點進行旋轉(zhuǎn),自定義的4X4旋轉(zhuǎn)矩 陣MR為<formula>formula see original document page 11</formula>
對初始狀態(tài)時包圍盒棱上的任意一點P坐標為(x, y, z),進行旋轉(zhuǎn)操
作之后的該點P的坐標為<formula>formula see original document page 11</formula>IV、多邊形采樣面的生成。
① 求包圍盒與切割平面交點
為了簡化線面的求交運算,切割平面始終與視線垂直,即切割平面的法
向量始終為(O,O,-l),切割平面的方程A朽+ B*y + C*z + D 二 0可以簡化為 Z = D,其中D為切割平面在Z軸上的截距,通過修改D的值,得到一系列切 割平面。
PI和P2是包圍盒的一條棱上的兩個頂點,切割平面與包圍盒此條棱的
交點坐標可用下式計算
<formula>formula see original document page 12</formula> (式2)
如圖3所示,切割平面與包圍盒各條棱的交點即為切割平面與包圍盒相 交形成的多邊形平面的頂點,其頂點數(shù)目在3 6個之間。切割平面與包圍盒 相交形成的平面即為采樣面。
② 對交點進行逆時針排序
因為包圍盒是個凸包體,所以切割平面與包圍盒相交的多邊形一定是凸 多邊形。步驟IV①中,包圍盒的棱按其固定的編號與切割平面進行求交點運 算,其求出的交點不能保證按一定的逆時針順序保存在交點數(shù)組中。為了不 出現(xiàn)非凸多邊形,所以在繪制彩色多邊形前必須對凸多邊形頂點進行逆時針 順序排序。方法是
a. 計算凸多邊形的中心坐標為Cx二 (EXi)/n,Cy= (EYi)/n, Cz=D, i=0 (n-l),n為凸多邊形頂點數(shù);
b. 平移凸多邊形,使其中心位于原點,第i個頂點坐標為NXi二Xi— Cx; NYi=Yi _ Cy;
c. 根據(jù)NXi和NYi,計算第i個頂點的角度正切,判斷該頂點所處的象 限,得出該頂點和中心點之間的連線與X正半軸的角度,按此角度值對各頂 點進行排序。
對多邊形頂點進行逆時針的排序,確保繪制出凸多邊形采樣面,如附圖3所示。
③ 根據(jù)交點坐標計算出其對應的顏色值
在步驟II中,己經(jīng)明確在初始狀態(tài)下,包圍盒棱上任意一點P的坐標值 與其對應的顏色值的線性關系。在旋轉(zhuǎn)操作后,要求出包圍盒的棱與切割平 面的交點所對應的顏色值,只要將旋轉(zhuǎn)后的交點坐標,恢復為旋轉(zhuǎn)前的坐標, 再施行線性變換即可。根據(jù)旋轉(zhuǎn)后的交點坐標,求旋轉(zhuǎn)前的坐標,只要將旋
轉(zhuǎn)矩陣MR進行轉(zhuǎn)置,即可求出旋轉(zhuǎn)矩陣的逆矩陣MR'。因為在步驟III中, 通過設置觀察者對包圍盒的觀察位置,避免了使用平移操作,通過包圍盒單 純的旋轉(zhuǎn),觀察者就能完全觀察到包圍盒。單純的旋轉(zhuǎn)矩陣求其逆矩陣,只 要簡單進行轉(zhuǎn)置操作;求出逆矩陣MR'后,用MR'對旋轉(zhuǎn)后的采樣面交點進 行逆變換,即可求出旋轉(zhuǎn)前的各交點的坐標,即初始狀態(tài)下各交點的坐標。 再對各交點進行步驟III中式1的線性運算,得到各交點所對應的正確顏色值。
④ 在步驟W③得到采樣面各交點對應的顏色值后,通過圖形處理器三線 插值計算得到彩色的采樣面,如附圖4所示,因?qū)@麍D無法用彩色,此圖只 能表示為漸變的灰度。
V 、在GPU中進行顏色合成計算
圖形處理器的片段程序(Fragment Shader)用多邊形采樣面的顏色值作 為3D紋理的采樣坐標,由步驟I所存3D紋理的體數(shù)據(jù)采樣出當前采樣面所 對應的體數(shù)據(jù)值,即對應的灰度值,如圖5所示。再用該灰度值作為采樣坐 標來采樣步驟I中設計的存儲于1D紋理中的顏色傳遞函數(shù),獲得對應的彩色 值C和/或透明度a ,如圖6所示。所得本采樣面的繪制結果按照下列的顏色 合成公式,與上一次的采樣面繪制合成后保存下來的結果,進行光線投射算
法的顏色合成計算;
Cout=CinX (1-a ) + CX a (式3)
a (組二a inX (1-a ) +a (式4)
式中C和a分別為本次采樣的彩色值、透明度
"和a in分別為前次保存的彩色值、透明度 C。w和a。ut分別為本次合成計算所得的彩色值、透明度 本步驟顏色合成計算結果C。ut和a。ut,保存到臨時的2D紋理中,下一個 采樣面合成計算時作為Ci。和aj周出使用。
至此,完成了一次多邊形采樣面的操作,完成了一次顏色合成計算。
VI、按預設的采樣間距,計算所需采樣面的數(shù)量并生成一系列采樣靣, 按采樣間距步進,對下一采樣面進行上述IV、 V步驟的采樣和顏色合成;至 系列采樣面的灰度值計算與顏色合成完成,繪制出最終圖像。
完成了一次采樣面的操作后,再進行下一次采樣和顏色合成工作,所有 穿過體數(shù)據(jù)的光線同時前進一段距離,即沿觀察者視線方向步進一段距離再 做切割平面,此步進值為采樣間距。采樣間距參數(shù)決定了要計算采樣面的次 數(shù)。采樣間距與繪制速度是正比關系、采樣間距與圖像質(zhì)量是反比關系,如 附圖7所示,其橫坐標為采樣間距,縱坐標為繪制速度和圖像質(zhì)量,圖內(nèi)細 實線和粗實線分別表示繪制速度和圖像質(zhì)量。根據(jù)體數(shù)據(jù)包圍盒距離觀測者 眼睛位置的最近點和最遠點,以及所需繪制最終圖像的質(zhì)量和繪制的速度, 預設采樣間距,計算所需采樣面的數(shù)量。
要判斷所有的光線是否都離開了體數(shù)據(jù),即切割平面不再和體數(shù)據(jù)的包
圍盒存在交點。在步驟m進行旋轉(zhuǎn)操作的過程中,會遍歷一次包圍盒的s個
頂點,那么在進行了旋轉(zhuǎn)操作之后,記錄下旋轉(zhuǎn)后的這8個頂點的z坐標的
最大值和最小值,在完成一次采樣計算、判斷是否為最前或最后的切割平面 時,就可以用這最大值和最小值,步進值等于最小值時采樣循環(huán)開始,步進 值大于最大值采樣循環(huán)結束。
確定切割平面與包圍盒不再有交點之后,說明最終的顏色合成計算完畢, 最后一次采樣計算顏色合成的結果即是最終繪制結果,顯示為最終的圖像,
本例的實施效果圖如圖8所示,突出顯示了觀測者感興趣的結腸組織和灰度 值與之相近的皮膚,若用彩色圖,立體感和清晰度將更佳。
權利要求
1、一種基于面采樣的體繪制可視化方法,其特征在于包括如下步驟I、體數(shù)據(jù)轉(zhuǎn)換為3D紋理數(shù)據(jù)并存儲在顯存中;II、設計體數(shù)據(jù)包圍盒設計包含全部體數(shù)據(jù)立方體包圍盒,設定直角坐標系的原點位于包圍盒的中心,觀測者視線為某一坐標軸;設定初始狀態(tài)包圍盒8個頂點的坐標與滿足3D紋理的顏色值的對應關系,并得到包圍盒12條棱上的任意一點的坐標與其對應的顏色值的線性變換關系;III、包圍盒的旋轉(zhuǎn)操作初始狀態(tài)下的包圍盒圍繞中心旋轉(zhuǎn)操作,根據(jù)初始狀態(tài)下的包圍盒相對坐標軸旋轉(zhuǎn)的角度,定義4×4的旋轉(zhuǎn)矩陣,計算包圍盒棱上任一點的旋轉(zhuǎn)后的新坐標;IV、采樣面的生成①計算垂直于視線方向的系列切割平面與包圍盒的各棱的交點坐標;②對交點進行順或逆時針排序,構成以各交點為頂點的凸多邊形的采樣面;③根據(jù)步驟II的旋轉(zhuǎn)矩陣,對多邊形采樣面各項點坐標進行逆旋轉(zhuǎn)操作并換算為其對應的顏色值;④根據(jù)多邊形采樣面各頂點的顏色值,圖形處理器三線插值計算一次計算得到位于同一個采樣面上的大量采樣點顏色值,構造出一個彩色的多邊形采樣面;V、在圖形處理器中進行顏色合成計算按各采樣點的顏色值在圖形處理器的片段程序中采樣出相應的采樣面的體數(shù)據(jù)灰度值,再利用前一采樣面繪制保存下來的結果,根據(jù)光線投射算法的顏色合成公式,進行光線投射算法的顏色合成計算;VI、計算系列采樣面的灰度值,顏色合成,繪制出最終圖像按預設的采樣間距,計算所需采樣面的數(shù)量并生成一系列垂直于觀察者視線的采樣面,按采樣間距步進,對下一采樣面進行上述IV、V步驟的采樣和顏色合成;當系列采樣面遍歷包圍盒的8個頂點,最終的圖像繪制完成。
2、根據(jù)權利要求1所述的基于面采樣的體繪制可視化方法,其特征在于針對感興趣的區(qū)域的灰度值,設計彩色值和/或透明度的顏色傳遞函數(shù), 存放在1D紋理中;在所述步驟V中,所得采樣面的灰度值再采樣所存顏色傳 遞函數(shù),獲得對應的彩色值和/或透明度。
3、根據(jù)權利要求1或2所述的基于面采樣的體繪制可視化方法,其特 征在于所述步驟n根據(jù)體數(shù)據(jù)的大小和對應長、寬、高的x、 y、 z三個方向上相鄰像素的間隙值,計算體數(shù)據(jù)在X、 Y、 Z方向的比例,設定體數(shù)據(jù)包圍盒長寬高U、 LVI1、 U滿足此比例;定義初始狀態(tài)包圍盒各邊與坐標軸平行,觀測者眼睛設定在Z軸,且Z >3XL ,向上方向為Y軸;在初始狀態(tài)的包圍盒8個頂點的坐標與顏色值滿足下列的對應關系,頂點坐標x, y, z -O. 5U, -0. 5LVII, -O. 5L +0, 5L , -0. 5U, -0. 5L +0. 5Lvw, +0. 5LV1I, -0. 5L -0. 5Lvw, +0. 5U, -0. 5L —0. 5U, -0. 5LV1I, +0. 5L +0. 5U, —0. 5U, +0. 5L +0. 5U, +0. 5LVII, +0. 5L —0, 5U, +0. 5U, +0. 5L<formula>formula see original document page 3</formula>在初始狀態(tài)下,包圍盒12條棱上的任意一點P的坐標為與其對應的顏色值Cr、 Cg、 Cb,滿足下列的線性變換關系<formula>formula see original document page 3</formula>
4、根據(jù)權利要求1或2所述的基于面采樣的體繪制可視化方法,其特征在于所述步驟III包圍盒旋轉(zhuǎn)操作,視線方向不變,為Z軸方向,包圍盒繞X軸旋轉(zhuǎn)小角度,繞Y軸旋轉(zhuǎn)e角度,8個頂點進行旋轉(zhuǎn),自定義的4X4旋轉(zhuǎn) 矩陣MR為<formula>formula see original document page 4</formula>初始狀態(tài)時包圍盒棱上的任意一點P進行旋轉(zhuǎn)操作之后的坐標為<formula>formula see original document page 4</formula>
5、 根據(jù)權利要求4所述的基于面采樣的體繪制可視化方法,其特征在于所述步驟IV求包圍盒與切割平面交點時,切割平面的方程為Z 二 D,PI和P2是包圍盒的一條棱上的兩個頂點,切割平面與包圍盒此條棱的交點坐標用下式計算交點坐標二 <formula>formula see original document page 4</formula>
6、 根據(jù)權利要求5所述的基于面采樣的體繪制可視化方法,其特征在于求得多邊形采樣面交點坐標后,將旋轉(zhuǎn)矩陣MR進行轉(zhuǎn)置,求出旋轉(zhuǎn)矩陣 的逆矩陣MR',將旋轉(zhuǎn)后的交點坐標,恢復為旋轉(zhuǎn)前的坐標,施行線性變 換,得到交點對應的顏色值;再通過圖形處理器三線插值計算得到彩色的采 樣面。
7、 根據(jù)權利要求1或2所述的基于面采樣的體繪制可視化方法,其特征在于所述步驟V中,獲得當前采樣面對應的彩色值和/或透明度后,與上一次 的采樣面繪制合成后保存下來的結果,進行光線投射算法的顏色合成計算,所得本采樣面的繪制結果保存到臨時的2D紋理中,下一個采樣面合成計算時 調(diào)出使用。
8、 根據(jù)權利要求1或2所述的基于面采樣的體繪制可視化方法,其特征在于根據(jù)體數(shù)據(jù)包圍盒距離觀測者觀察位置的最近點和最遠點,以及所需繪 制最終圖像的質(zhì)量和繪制的速度,預設采樣間距,計算所需采樣面的數(shù)量。
全文摘要
本發(fā)明為基于面采樣的體繪制可視化方法,首先將體數(shù)據(jù)轉(zhuǎn)換為3D紋理存儲;再設計一個包含全部體數(shù)據(jù)的包圍盒,其中心為直角坐標系原點,設定其8個頂點坐標與顏色值的初始對應關系,讓包圍盒圍繞中心旋轉(zhuǎn),用自定義旋轉(zhuǎn)矩陣計算包圍盒頂點旋轉(zhuǎn)后的新坐標;對垂直于視線的切割平面與包圍盒各棱的交點,進行點坐標逆旋轉(zhuǎn)操作并做線性變換得到其對應的顏色值后,GPU三線插值計算得彩色凸多邊形采樣面,以采樣面各點的顏色值為坐標采樣出3D紋理中體數(shù)據(jù)值,進行顏色合成計算;修改步進值使切割平面沿視線前進,至其與包圍盒不再相交,繪制出最終圖像。方法一次計算多邊形采樣面內(nèi)大量采樣點坐標,提高程序并行性,減少工作量,顯著提高體繪制速度。
文檔編號G06T15/00GK101178816SQ20071005073
公開日2008年5月14日 申請日期2007年12月7日 優(yōu)先權日2007年12月7日
發(fā)明者張向文, 趙明昌, 黃春進 申請人:桂林電子科技大學