国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      基于gpu加速的三維醫(yī)學(xué)圖像顯示方法

      文檔序號(hào):6483163閱讀:232來源:國(guó)知局
      專利名稱:基于gpu加速的三維醫(yī)學(xué)圖像顯示方法
      技術(shù)領(lǐng)域
      本發(fā)明屬于醫(yī)學(xué)圖像處理技術(shù)領(lǐng)域,土要利用GPU (顯示處理單元)的強(qiáng)大的并行流處 理能力,來對(duì)體繪制進(jìn)行加速,相較亍傳統(tǒng)CPU的體繪制技術(shù),該方法使得體繪制能交互式 實(shí)時(shí)顯示。
      背景技術(shù)
      醫(yī)學(xué)圖像在醫(yī)生診斷中的輔助作用越來越明顯,但是僅可以從二維截面方向?qū)θ梭w進(jìn)行 觀察。為了提高醫(yī)療診斷和治療規(guī)劃的準(zhǔn)確性和科學(xué)性,需要由二維斷層圖像序列轉(zhuǎn)變?yōu)榫?有直觀立體效果的三維圖像。然而目前的三維醫(yī)療輔助t會(huì)斷系統(tǒng)都需要工作站級(jí)別的運(yùn)行平
      臺(tái),才能基本滿足實(shí)時(shí)性的要求,由于價(jià)格問題使得這種系統(tǒng)難以推廣。目能國(guó)際上計(jì)算機(jī)
      圖形圖像學(xué)的科學(xué)家們提出將大規(guī)模的數(shù)據(jù)處理、運(yùn)算等任務(wù)放在GPU運(yùn)行作為甜沿的研 究方向,具有CPU不可比擬的速度優(yōu)勢(shì),在消費(fèi)級(jí)的GPU硬件上實(shí)現(xiàn)大規(guī)模數(shù)據(jù)的交互式 可視化。
      當(dāng)甜通用的體繪制技術(shù), 一般是基于傳統(tǒng)的CPU進(jìn)行計(jì)算,對(duì)于傳統(tǒng)消費(fèi)級(jí)別大眾PC,
      很難實(shí)時(shí)進(jìn)行交互式顯示。如果要交互式實(shí)時(shí)顯示運(yùn)算, 一般要在并行圖形工作站上進(jìn)行運(yùn) 行,成本相較大大提高。

      發(fā)明內(nèi)容
      本發(fā)明針對(duì)現(xiàn)有基于CPU的醫(yī)學(xué)圖像顯示方法存在運(yùn)算速度慢、無(wú)法交互式執(zhí)行的弊 端,提供一種基于GPU加速的三維醫(yī)學(xué)圖像顯示方法,利用GPU強(qiáng)大的流運(yùn)算能力進(jìn)行加 速,從而實(shí)現(xiàn)交互式體繪制的效果。
      本發(fā)明技術(shù)方案如下
      基于GPU加速的三維醫(yī)學(xué)圖像顯示方法,如圖1所示,包括以下,:p驟 歩驟1:讀入醫(yī)學(xué)DICOM圖像序列文件并以體數(shù)據(jù)的方式保存到系統(tǒng)內(nèi)存。 體數(shù)據(jù)是由有順序的2維醫(yī)學(xué)DICOM圖像序列構(gòu)成。將這些醫(yī)學(xué)圖像的圖像相關(guān)信息 讀入系統(tǒng)內(nèi)存(圖像分辨率,層間距,圖像像素信息)。為了更好的視覺效果,體數(shù)據(jù)應(yīng)該首 先進(jìn)行預(yù)處理,比如用圖像濾波器進(jìn)行除噪,并且通過插值層間距數(shù)據(jù)來得到更加細(xì)致的效 果。
      歩驟2:利用OpenGL或者DirectX的三維圖形庫(kù)編程擴(kuò)展接口函數(shù)API,將歩驟1保存在系統(tǒng)內(nèi)存中的體數(shù)據(jù)加載入GPU顯存,成為GPU可以訪問的3D紋理。具體接口函數(shù)API 可以采用OpenGL庫(kù)的擴(kuò)展函數(shù)glTexImage3DEXT來將體數(shù)據(jù)加載為3D紋理。
      歩驟3:計(jì)算生成代理幾何體,具體分為以下幾個(gè)歩驟
      歩驟3-1:計(jì)算體數(shù)據(jù)包絡(luò)盒的頂點(diǎn)在視點(diǎn)坐標(biāo)系下的坐標(biāo)。
      這個(gè)操作涉及到一個(gè)頂點(diǎn)坐標(biāo)變換操作,其實(shí)質(zhì)就是將體數(shù)據(jù)包絡(luò)盒的頂點(diǎn)坐標(biāo)由體數(shù) 據(jù)的局部坐標(biāo)系轉(zhuǎn)換到視點(diǎn)坐標(biāo)系。首先將體數(shù)據(jù)包絡(luò)盒八個(gè)頂點(diǎn)的局部坐標(biāo)轉(zhuǎn)換成世界坐 標(biāo),然后通過視點(diǎn)世界坐標(biāo)參數(shù)矩陣,將體數(shù)據(jù)包絡(luò)盒八個(gè)頂點(diǎn)的世界坐標(biāo)變換到視點(diǎn)坐標(biāo) 系中。
      歩驟3-2:計(jì)算出代理兒何體所包含的多邊形切片數(shù)目。
      在視點(diǎn)坐標(biāo)系下,首先計(jì)算體數(shù)掂包絡(luò)盒的八個(gè)頂點(diǎn)在視線方向的最大值z(mì)ma,和最小值
      —7m。;然后確定采樣率A力,即相鄰兩層多邊形切片W的距離;最后計(jì)算代理幾何體所包含的 多邊形切片數(shù)目A^"、為
      步驟3-3:計(jì)算代理幾何體每張多邊形切片的頂點(diǎn)的世界坐標(biāo)。
      對(duì)于代理兒何體中的每張多邊形切片,通過計(jì)算每張多邊形切片所在平面與體數(shù)據(jù)包絡(luò)
      盒在世界坐標(biāo)系下的交點(diǎn),然后將這些交點(diǎn)的出:界坐標(biāo)和3D紋理坐標(biāo)順序地(比如沿順時(shí)
      針方向或逆時(shí)針方向)組成每張多邊形切片的頂點(diǎn)數(shù)組。其中,計(jì)算交點(diǎn)的具體方法是
      設(shè)體數(shù)據(jù)在局部坐標(biāo)系下數(shù)據(jù)區(qū)間為[-x,,,m, xm, ], [imin, }mll,],卜z,,, 2mm ],視點(diǎn)位置為
      '視線方向向量為^ : fe,,>W,^),采樣率為厶A 。對(duì)于每張多邊形切
      片,即垂直于視線方向、間隔為A/7的平行平面與立方體邊界線段切割的交集區(qū)域。 一張多邊
      形切片所在平面可以表示成方程
      d/廠p0) = 0
      根據(jù)視線方向和所經(jīng)過的體數(shù)據(jù)內(nèi)點(diǎn)A,的位置,順序計(jì)算體數(shù)據(jù)邊界線段與平面
      = 0的交點(diǎn)。由于我們將體數(shù)據(jù)局部坐標(biāo)系和世界坐標(biāo)系重合,極大方便我們的計(jì) 算,因?yàn)檫吔缇€段都是與坐標(biāo)軸平行的。
      ^驟4:對(duì)歩驟3所得的每張多邊形切片,逐像素進(jìn)行光照計(jì)算和顏色計(jì)算,具體分為
      以下幾個(gè)歩驟步驟4-1:計(jì)算代理幾何中每張多邊形切片的每一像素點(diǎn)的體數(shù)據(jù)梯度。
      —個(gè)三維數(shù)據(jù)/Oc,少,Z)的梯度由一個(gè)偏微分梯度算子表示為V/(X,y,Z)—i,!,!);
      &
      具體采用基于6鄰域采樣差分的梯度計(jì)算方法,計(jì)算位于(X,)',Z)處的梯度V/(X,,^,^):
      V/(乂,,7,,zJ =1 /2(,(x,+1'少,,z》—,(x, i,-"'4),、V''z*)-/化')',(x''X'zw)—/化'少"z",》
      歩驟4-2:采用顏色傳遞凼數(shù)計(jì)算代理兒何中每張多邊形切片的每一像素點(diǎn)的顏色。
      由于體數(shù)據(jù)圖像為灰度圖像,在視覺上效果以及色度分辨率不利于對(duì)細(xì)節(jié)進(jìn)行分辨,所
      以在本方法中通過顏色傳遞函數(shù)進(jìn)行體數(shù)據(jù)體素灰度到RGB顏色空間的映射。
      顏色傳遞函數(shù)是一個(gè)類似c二/0)的一維函數(shù),c為輸出的顏色值,v為體數(shù)據(jù)的灰度值。
      顏色傳遞函數(shù)的作用是用來將灰度值的體數(shù)據(jù)映射到RGB顏色空間的體數(shù)據(jù)。可以通過一個(gè)顏色映射表來進(jìn)行實(shí)現(xiàn),在GPU里面,可以通過l維紋理來存放這個(gè)顏色映射表。在醫(yī)學(xué)圖像序列畢.面,灰度數(shù)據(jù)是從O到N離散存放的。在這早,N是一個(gè)山顏色存儲(chǔ)位數(shù)i來決定
      的自然數(shù)# = 2'。通過預(yù)計(jì)算出函數(shù)映射表的1維紋理,通過對(duì)這個(gè)紋理進(jìn)行采樣,這樣很容易得到輸出紋理。這段代碼在GPU eg語(yǔ)舎単面只是一個(gè)簡(jiǎn)單的指令texld(float x)。
      步驟4-3:根據(jù)Phong光照模型計(jì)算代理幾何體中每張多邊形切片的每一像素點(diǎn)的光柵化像素著色值。
      反射光分為三個(gè)部分,環(huán)境光,漫反射光,鏡面反射光。
      環(huán)境光本質(zhì)是指光源經(jīng)過環(huán)境等作用,然后間接對(duì)物體的影響,其本質(zhì)是在物體和環(huán)境之間多次反射,最終達(dá)到平衡時(shí)的一種光強(qiáng)。本質(zhì)上說,這種光強(qiáng)在物體上各點(diǎn)是不相同的,但是在簡(jiǎn)巾.光照模型中近似地認(rèn)為同一環(huán)境下的環(huán)境光,其光強(qiáng)分布是均勻的,而且環(huán)境光在任何一個(gè)方向上的光強(qiáng)強(qiáng)度都相同。表現(xiàn)出來是一個(gè)常數(shù)。
      漫反射光漫反射光的定義如下,假設(shè)當(dāng)光源來自一個(gè)方向時(shí),漫反射光將光均勻向各
      方向反射并傳播丌米,與反射光的強(qiáng)度與視點(diǎn)無(wú)關(guān),因?yàn)槁瓷涔獗举|(zhì)是由反射表面的微表
      面凹凸不平所引起的,因而漫反射光的空間分布是均勻的。運(yùn)算的式子如下;假設(shè)入射光的強(qiáng)度為/,,,物體表面微元上點(diǎn)P的法向?yàn)閃,從點(diǎn)P指向入射光的光源的單位向量為Z,
      兩者間的夾角為6 ,由光強(qiáng)能量的余弦定律可以計(jì)算得到漫反射光強(qiáng)為乙=/,,>< & xcos(S), 0e(O,"/2)在上式子中,《,是與物體有關(guān)的光的漫反射系數(shù),系數(shù)滿
      足0<《,<1 。當(dāng)丄、V為單位向量時(shí),也可用如下向量運(yùn)算的形式進(jìn)行表達(dá)
      6乙=;x & x &' AO在有多個(gè)光源的情況下'可以有如下的表示/rf = &Z ; x (丄,.W)
      鏡面反射光最典型的例子就是對(duì)于理想鏡面,鏡面的反射光集中在一個(gè)方向,并遵守反射定律。將其推廣,對(duì)一般的光滑表面,反射光集中在一個(gè)空間區(qū)間范圍內(nèi),且由反射定律決定的反射方向光強(qiáng)最大。因此,對(duì)于同一點(diǎn)來說,從不同位置所觀察到的鏡面反射光強(qiáng)是不同的,這個(gè)與視線與鏡面反射光方向有關(guān)。鏡面反射光強(qiáng)的式子可表示為
      =x《、x cos"W), P e (O,;r / 2)其中X、是與物體表面光學(xué)性質(zhì)有關(guān)的鏡面反射系數(shù),P為
      視線方向F與反射方向A的夾角,"為反射指數(shù),其本質(zhì)實(shí)質(zhì)上是反映了物體表面的光澤程度, 一般為1 2000,通過式子可以看出,數(shù)目越大物體表面越光滑。鏡面反射光將會(huì)在反射方向附近形成很亮的光斑,稱為高光現(xiàn)象。同樣,如果將F和i 都格式化為單位向量,那
      么鏡面反射光強(qiáng)可表示為/、 /p.《(i .r)"其中,A 口J由向量反射計(jì)算式子i^2W(7V.丄)-丄計(jì)算。與甜面漫反射光相向的,當(dāng)對(duì)十多個(gè)光源的情形,鏡面反射光強(qiáng)可以表示為
      /、=《^[/,(7 ,J/)"]
      歩驟5:通過Alpha混合將代理幾何體中所有多邊形切片合成二維醫(yī)學(xué)圖像。
      在關(guān)閉深度測(cè)試的情況下,打丌Alpha混合,將將代理幾何體中所有多邊形切片合成三維醫(yī)學(xué)圖像。為了提高渲染速度,可以將代理幾何體保存到顯示列表,這樣就能用單--指令渲染多個(gè)頂點(diǎn),從而提高繪制效率。
      Alpha混合是一個(gè)將代理幾何體若十多邊形層的顏色進(jìn)行混合的方法。圖形GPU硬件用的光照模型是針對(duì)多邊形頂點(diǎn)的,而不能被用在體繪制上面,所以必須關(guān)閉光照。并且,由于打丌了 Alpha混合,就必須渲染代理幾何體単面的每一個(gè)多邊形層,所以必須關(guān)閉深度測(cè)試。下面進(jìn)行簡(jiǎn)單解釋。
      Alpha混合OpenCH,中的絕大多數(shù)特效都與某些類型的(一般是色彩)混合有關(guān)。混色的定義為,將某個(gè)象素的顏色和已繪制在屏幕上與其對(duì)應(yīng)的象素顏色相互結(jié)合。至于如何結(jié)合這兩個(gè)顏色則依賴于顏色的alpha通道的分量值,以及/或者所使用的混色函數(shù)。Alpha通常是位于顏色值末尾的第4個(gè)顏色組成分量。大多數(shù)情況都認(rèn)為Alpha分量代表材料的透明度。這就是說,alpha值為0.0時(shí)所代表的材料是完全透明的。alpha值為1.0時(shí)所代表的材料則是完全不透明的。其實(shí)混合的基本原理是就將要分色的圖像各象素的顏色以及背景顏色均按照RGB規(guī)則各自分離之后,根據(jù) 一 圖像的RGB顏色分量+alpha值+背景的RGB顏色分量^l-alpha值) 一 這樣一個(gè)簡(jiǎn)單公式來混合之后,最后將混合得到的RGB分量重新合并,公式如下Co/or/ma, = Co/or/ra , xa + Co/o;ti x (1 -a) 。 OpenGL按照卜.面的公式計(jì)算這兩個(gè)象素
      的混色結(jié)果。這個(gè)公式一般會(huì)生成混合的透明/半透明的效果。
      深度測(cè)試像素片斷測(cè)試其實(shí)就是測(cè)試每一個(gè)像素,只有通過測(cè)試的像素才會(huì)被繪制,沒有通過測(cè)試的像素則不進(jìn)行繪制。OpenGL提供了多種測(cè)試操作,利用這些操作可以實(shí)現(xiàn)一些特殊的效果。"深度測(cè)試"的概念在繪制三維場(chǎng)景的時(shí)候特別有用。在不使用深度測(cè)試的時(shí)候,如果我們先繪制一個(gè)距離較近的物體,再繪制距離較遠(yuǎn)的物體,則距離遠(yuǎn)的物體因?yàn)楹罄L制,會(huì)把距離近的物體覆蓋掉,這樣的效果并不是我們所希望的。如果使用了深度測(cè)試,則情況就會(huì)有所不同每當(dāng)一個(gè)像素被繪制,OpenGL就記錄這個(gè)像素的"深度"(深度可以理解為該像素距離觀察者的距離。深度值越大,表示距離越遠(yuǎn)),如果有新的像素即將覆蓋原來的像素時(shí),深度測(cè)試會(huì)檢查新的深度是否會(huì)比原來的深度值小。如果是,則覆蓋像素,繪制成功;如果不是,則不會(huì)覆蓋原來的像素,繪制被取消。這樣一來,即使我們先繪制比較近的物體,再繪制比較遠(yuǎn)的物體,則遠(yuǎn)的物體也不會(huì)覆蓋近的物體了。實(shí)際上,只要存在深度緩沖區(qū),無(wú)論是否啟用深度測(cè)試,OpenGL在像素被繪制時(shí)都會(huì)嘗試將深度數(shù)據(jù)寫入到緩沖區(qū)內(nèi),除非調(diào)用了 glDepthMask(GL—FALSE)來禁止寫入。這些深度數(shù)據(jù)除了用于常規(guī)的測(cè)試外,還可以有一些有趣的用途,比如繪制陰影等等。除了深度測(cè)試,OpenGL還提供了剪戰(zhàn)測(cè)試、Alpha測(cè)試和模板測(cè)試。
      本發(fā)明提供了--種基于GPU加速的醫(yī)學(xué)圖像顯示方法,相比于現(xiàn)有的基于CPU的醫(yī)學(xué)圖像顯示方法,本發(fā)明具有很高的運(yùn)算速度,可在普通消費(fèi)級(jí)別大眾PC上實(shí)現(xiàn)實(shí)時(shí)交互式顯示;而無(wú)須使用圖形工作站,使得成本大大降低。


      圖1為木發(fā)明流程示意圖。
      具體實(shí)施例方式
      本發(fā)明采用上述技術(shù)方案,分別針對(duì)MRI和CT醫(yī)學(xué)DICOM圖像序列進(jìn)行顯示驗(yàn)證,均具有較好的顯示效果。需要說明的是,由于MRI圖像山于噪聲較大,需要進(jìn)行除噪預(yù)處理;而CT圖像較為清晰,無(wú)需進(jìn)行除噪預(yù)處理,可直接以體數(shù)據(jù)的方式進(jìn)行顯示。
      權(quán)利要求
      1、基于GPU加速的三維醫(yī)學(xué)圖像顯示方法,包括以下步驟步驟1讀入醫(yī)學(xué)DICOM圖像序列文件并以體數(shù)據(jù)的方式保存到系統(tǒng)內(nèi)存;步驟2利用OpenGL或者DirectX的三維圖形庫(kù)編程擴(kuò)展接口函數(shù)API,將步驟1保存在系統(tǒng)內(nèi)存中的體數(shù)據(jù)加載入GPU顯存,成為GPU可以訪問的3D紋理;步驟3計(jì)算生成代理幾何體,具體分為以下幾個(gè)步驟步驟3-1計(jì)算體數(shù)據(jù)包絡(luò)盒的頂點(diǎn)在視點(diǎn)坐標(biāo)系下的坐標(biāo);首先將體數(shù)據(jù)包絡(luò)盒八個(gè)頂點(diǎn)的局部坐標(biāo)轉(zhuǎn)換成世界坐標(biāo),然后通過視點(diǎn)世界坐標(biāo)參數(shù)矩陣,將體數(shù)據(jù)包絡(luò)盒八個(gè)頂點(diǎn)的世界坐標(biāo)變換到視點(diǎn)坐標(biāo)系中;步驟3-2計(jì)算代理幾何體所包含的多邊形切片數(shù)目;在視點(diǎn)坐標(biāo)系下,首先計(jì)算體數(shù)據(jù)包絡(luò)盒的八個(gè)頂點(diǎn)在視線方向的最大值z(mì)max和最小值z(mì)min;然后確定采樣率Δh,即相鄰兩層多邊形切片間的距離;最后計(jì)算代理幾何體所包含的多邊形切片數(shù)目NShces為<maths id="math0001" num="0001" ><math><![CDATA[ <mrow><msub> <mi>N</mi> <mi>Shces</mi></msub><mo>=</mo><mfrac> <mrow><mo>(</mo><msub> <mi>z</mi> <mi>max</mi></msub><mo>-</mo><msub> <mi>z</mi> <mi>min</mi></msub><mo>)</mo> </mrow> <mi>&Delta;h</mi></mfrac> </mrow>]]></math></maths>步驟3-3計(jì)算代理幾何體每張多邊形切片的頂點(diǎn)的世界坐標(biāo);對(duì)于代理幾何體中的每張多邊形切片,通過計(jì)算每張多邊形切片所在平面與體數(shù)據(jù)包絡(luò)盒在世界坐標(biāo)系下的交點(diǎn),然后將這些交點(diǎn)的世界坐標(biāo)和3D紋理坐標(biāo)順序地組成每張多邊形切片的頂點(diǎn)數(shù)組;步驟4對(duì)步驟3所得的每張多邊形切片,逐像素進(jìn)行光照計(jì)算和顏色計(jì)算,具體分為以下幾個(gè)步驟步驟4-1計(jì)算代理幾何中每張多邊形切片的每一像素點(diǎn)的體數(shù)據(jù)梯度;一個(gè)三維數(shù)據(jù)f(x,y,z)的梯度由一個(gè)偏微分梯度算子表示為<maths id="math0002" num="0002" ><math><![CDATA[ <mrow><mo>&dtri;</mo><mi>f</mi><mrow> <mo>(</mo> <mi>x</mi> <mo>,</mo> <mi>y</mi> <mo>,</mo> <mi>z</mi> <mo>)</mo></mrow><mo>=</mo><mrow> <mo>(</mo> <mfrac><mrow> <mo>&PartialD;</mo> <mi>f</mi></mrow><mrow> <mo>&PartialD;</mo> <mi>x</mi></mrow> </mfrac> <mo>,</mo> <mfrac><mrow> <mo>&PartialD;</mo> <mi>f</mi></mrow><mrow> <mo>&PartialD;</mo> <mi>y</mi></mrow> </mfrac> <mo>,</mo> <mfrac><mrow> <mo>&PartialD;</mo> <mi>f</mi></mrow><mrow> <mo>&PartialD;</mo> <mi>z</mi></mrow> </mfrac> <mo>)</mo></mrow><mo>;</mo> </mrow>]]></math> id="icf0002" file="A2009100598640002C2.tif" wi="45" he="9" top= "204" left = "139" img-content="drawing" img-format="tif" orientation="portrait" inline="yes"/></maths>具體采用基于6鄰域采樣差分的梯度計(jì)算方法,計(jì)算位于(x,y,z)處的梯度 id="icf0003" file="A2009100598640002C3.tif" wi="23" he="4" top= "220" left = "157" img-content="drawing" img-format="tif" orientation="portrait" inline="yes"/><maths id="math0003" num="0003" ><math><![CDATA[ <mrow><mo>&dtri;</mo><mi>f</mi><mrow> <mo>(</mo> <msub><mi>x</mi><mi>i</mi> </msub> <mo>,</mo> <msub><mi>y</mi><mi>j</mi> </msub> <mo>,</mo> <msub><mi>z</mi><mi>k</mi> </msub> <mo>)</mo></mrow><mo>=</mo><mn>1</mn><mo>/</mo><mn>2</mn><mrow> <mo>(</mo> <mi>f</mi> <mrow><mo>(</mo><msub> <mi>x</mi> <mrow><mi>i</mi><mo>+</mo><mn>1</mn> </mrow></msub><mo>,</mo><msub> <mi>y</mi> <mi>j</mi></msub><mo>,</mo><msub> <mi>z</mi> <mi>k</mi></msub><mo>)</mo> </mrow> <mo>-</mo> <mi>f</mi> <mrow><mo>(</mo><msub> <mi>x</mi> <mrow><mi>i</mi><mo>-</mo><mn>1</mn> </mrow></msub><mo>,</mo><msub> <mi>y</mi> <mi>j</mi></msub><mo>,</mo><msub> <mi>z</mi> <mi>k</mi></msub><mo>)</mo> </mrow> <mo>,</mo> <mi>f</mi> <mrow><mo>(</mo><msub> <mi>x</mi> <mi>i</mi></msub><mo>,</mo><msub> <mi>y</mi> <mrow><mi>j</mi><mo>+</mo><mn>1</mn> </mrow></msub><mo>,</mo><msub> <mi>z</mi> <mi>k</mi></msub><mo>)</mo> </mrow> <mo>-</mo> <mi>f</mi> <mrow><mo>(</mo><msub> <mi>x</mi> <mi>i</mi></msub><mo>,</mo><msub> <mi>y</mi> <mrow><mi>j</mi><mo>-</mo><mn>1</mn> </mrow></msub><mo>,</mo><msub> <mi>z</mi> <mi>k</mi></msub><mo>)</mo> </mrow> <mo>,</mo> <mi>f</mi> <mrow><mo>(</mo><msub> <mi>x</mi> <mi>i</mi></msub><mo>,</mo><msub> <mi>y</mi> <mi>j</mi></msub><mo>,</mo><msub> <mi>z</mi> <mrow><mi>k</mi><mo>+</mo><mn>1</mn> </mrow></msub><mo>)</mo> </mrow> <mo>-</mo> <mi>f</mi> <mrow><mo>(</mo><msub> <mi>x</mi> <mi>i</mi></msub><mo>,</mo><msub> <mi>y</mi> <mi>j</mi></msub><mo>,</mo><msub> <mi>z</mi> <mrow><mi>k</mi><mo>-</mo><mn>1</mn> </mrow></msub><mo>)</mo> </mrow> <mo>)</mo></mrow> </mrow>]]></math></maths>步驟4-2采用顏色傳遞函數(shù)計(jì)算代理幾何中每張多邊形切片的每一像素點(diǎn)的顏色;其中,所述顏色傳遞函數(shù)是一個(gè)類似c=f(v)的一維函數(shù),c為輸出的顏色值,v為體數(shù)據(jù)的灰度值;顏色傳遞函數(shù)的作用是用來將灰度值的體數(shù)據(jù)映射到RGB顏色空間的體數(shù)據(jù);步驟4-3根據(jù)Phong光照模型計(jì)算代理幾何體中每張多邊形切片的每一像素點(diǎn)的光柵化像素著色值;所述Phong光照模型中反射光分為三個(gè)部分,環(huán)境光,漫反射光,鏡面反射光;所述環(huán)境光采用同一環(huán)境下的環(huán)境光,其光強(qiáng)分布是均勻的,而且環(huán)境光在任何一個(gè)方向上的光強(qiáng)強(qiáng)度都相同;所述漫反射光的光強(qiáng)為Id=Ip×Kd×cos(θ),θ∈(0,π/2);其中Ip為入射光的強(qiáng)度;Kd是與物體有關(guān)的光的漫反射系數(shù),且滿足0<Kd<1;θ為物體表面微元上點(diǎn)P的法向N與點(diǎn)P指向入射光的光源的單位向量L的夾角;所述鏡面反射光的光強(qiáng)為Id=Ip×Ks×cosn(θ′),θ′∈(0,π/2);其中Ip為入射光的強(qiáng)度;Ks是與物體表面光學(xué)性質(zhì)有關(guān)的鏡面反射系數(shù),θ′為視線方向V與反射方向R的夾角,n為反射指數(shù);步驟5通過Alpha混合將代理幾何體中所有多邊形切片合成三維醫(yī)學(xué)圖像;在關(guān)閉深度測(cè)試的情況下,打開Alpha混合,將將代理幾何體中所有多邊形切片合成三維醫(yī)學(xué)圖像。為了提高渲染速度,可以將代理幾何體保存到顯示列表,這樣就能用單一指令渲染多個(gè)頂點(diǎn),從而提高繪制效率。
      2、 根據(jù)權(quán)利要求1所述的基于GPU加速的二維醫(yī)學(xué)圖像顯示方法,其特征在于,歩驟 1讀入醫(yī)學(xué)D1C0M圖像序列文件并以體數(shù)據(jù)的方式保存到系統(tǒng)內(nèi)存時(shí),為了更好的視覺效 果,先對(duì)體數(shù)據(jù)應(yīng)改進(jìn)行除U呆或插值層間數(shù)據(jù)的預(yù)處理。
      3、 根據(jù)權(quán)利要求1所述的基于GPU加速的三維醫(yī)學(xué)圖像顯示方法,其特征在于,歩驟 2中具體接口函數(shù)API采用OpenGL庫(kù)的擴(kuò)展函數(shù)glTexImage3DEXT來將體數(shù)據(jù)加載為3D 紋理。
      4、 根據(jù)權(quán)利要求1所述的基于GPU加速的三維醫(yī)學(xué)圖像顯示方法,其特征在于,歩驟 3-3中交點(diǎn)的具體計(jì)算方法是設(shè)體數(shù)據(jù)在局部坐標(biāo)系下數(shù)據(jù)區(qū)間為[-xmil', x■ ], [-ym,n. ym,n ]. [-—7,細(xì),zmm ],視點(diǎn)位置為^^:",,<,,,_y_,^. .),視線方向向量為^:(.、,,U,〃),采樣率為A/7; —張多邊形切片所 在平面可以表示成方程 7r .(x — p0) = 0根據(jù)視線方向和所經(jīng)過的體數(shù)據(jù)內(nèi)點(diǎn)/;。的位置,順序計(jì)算體數(shù)據(jù)邊界線段與平面 (A'r (x — / 0) = 0白勺交點(diǎn)。
      全文摘要
      基于GPU加速的三維醫(yī)學(xué)圖像顯示方法,屬于醫(yī)學(xué)圖像處理技術(shù)領(lǐng)域。首先將醫(yī)學(xué)DICOM圖像序列文件以體數(shù)據(jù)的方式保存到系統(tǒng)內(nèi)存;然后利用OpenGL或者DirectX的三維圖形庫(kù)編程擴(kuò)展接口函數(shù)API,將體數(shù)據(jù)加載入GPU顯存;再計(jì)算生成代理幾何體,并代理幾何體中的多邊形切片逐像素進(jìn)行光照計(jì)算和顏色計(jì)算;最后通過Alpha混合將代理幾何體中所有多邊形切片合成三維醫(yī)學(xué)圖像。本發(fā)明相比于現(xiàn)有的基于CPU的醫(yī)學(xué)圖像顯示方法,本發(fā)明具有很高的運(yùn)算速度,可在普通消費(fèi)級(jí)別大眾PC上實(shí)現(xiàn)實(shí)時(shí)交互式顯示;而無(wú)須使用圖形工作站,使得成本大大降低。
      文檔編號(hào)G06T15/00GK101593345SQ20091005986
      公開日2009年12月2日 申請(qǐng)日期2009年7月1日 優(yōu)先權(quán)日2009年7月1日
      發(fā)明者帆 張, 梅 解 申請(qǐng)人:電子科技大學(xué)
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1