專利名稱:基于分形的體繪制可視化方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種計(jì)算機(jī)應(yīng)用技術(shù)領(lǐng)域的方法,具體是一種基于分形理論的體繪制可視化方法。
背景技術(shù):
20世紀(jì)80年代以來(lái),隨著成像技術(shù)的快速發(fā)展,特別是醫(yī)學(xué)影像技術(shù)的逐漸成熟,出現(xiàn)了大量的體數(shù)據(jù),如何有效地利用這些數(shù)據(jù)是研究人員面臨的一大難題。如今大部分的數(shù)據(jù)只能通過(guò)可視化的手段來(lái)處理??茖W(xué)可視化方法用來(lái)從二維圖像序列中重構(gòu)出三維形體,能夠彌補(bǔ)影像設(shè)備在成像上的不足,為用戶提供具有真實(shí)感的三維圖形,便于用戶從多角度、多層次進(jìn)行觀察和分析,在臨床診斷、手術(shù)計(jì)劃和醫(yī)學(xué)教學(xué)等方面具有重大實(shí)用價(jià)值。近年來(lái),體繪制方法作為一種科學(xué)可視化方法,由于能夠揭示物體的內(nèi)部信息而備受關(guān)注。
體繪制不需要表面的提取過(guò)程,它直接將所有的數(shù)據(jù)通過(guò)重采樣和復(fù)合技術(shù)生成最后的繪制圖像,由于在結(jié)果圖像中包含了對(duì)象的所有信息,使其在數(shù)據(jù)可視化領(lǐng)域占有越來(lái)越重要的地位。它已經(jīng)被廣泛地應(yīng)用到醫(yī)學(xué)、化學(xué)、天文學(xué)、氣象學(xué)和其它領(lǐng)域。然而,由于體繪制需要大量的計(jì)算、硬盤存儲(chǔ)和對(duì)內(nèi)存的隨機(jī)訪問,因此,隨著數(shù)據(jù)規(guī)模的增大,特別是數(shù)據(jù)的大小超過(guò)256×256×256時(shí),通常的體繪制方法往往難以有效地處理。如何提供快速有效的方案來(lái)實(shí)現(xiàn)對(duì)大規(guī)模數(shù)據(jù)的交互控制是體繪制方法的研究重點(diǎn)。
“分形(Fractal)”的概念是1975年美國(guó)IBM公司研究中心物理部研究員Benoit B.Mandelbrot首次提出的。分形幾何是一門以非規(guī)則幾何形狀為研究對(duì)象的幾何學(xué),已經(jīng)在多個(gè)領(lǐng)域得到了廣泛的應(yīng)用,例如圖像壓縮,特征提取等等。
經(jīng)對(duì)現(xiàn)有技術(shù)的文獻(xiàn)檢索發(fā)現(xiàn),W.O.Cochran等在《IEEE Transactions onVisualization and Computer Graphics》(可視化與計(jì)算機(jī)圖形學(xué))(1996第2期第313至322頁(yè))上發(fā)表的“Fractal Volume Compression”(分形體數(shù)據(jù)壓縮),該文中提出使用分形方法進(jìn)行體數(shù)據(jù)的壓縮處理,其不足在于分形僅僅被用于數(shù)據(jù)壓縮,而沒有整合到數(shù)據(jù)的可視化中,其可視化是通過(guò)將數(shù)據(jù)解壓縮后使用其它方法實(shí)現(xiàn)的。
發(fā)明內(nèi)容
本發(fā)明的目的在于針對(duì)現(xiàn)有體繪制方法存在的對(duì)大規(guī)模數(shù)據(jù)難以實(shí)現(xiàn)的技術(shù)不足,在W.O.Cochran等提出的分形體數(shù)據(jù)壓縮基礎(chǔ)上,提出一種基于分形的體繪制可視化方法,使其能夠應(yīng)用于大規(guī)模數(shù)據(jù)的可視化、而且能夠很好地適應(yīng)硬件資源和網(wǎng)絡(luò)可視化的需要。
本發(fā)明是通過(guò)以下技術(shù)方案實(shí)現(xiàn)的,本發(fā)明在分形理論基礎(chǔ)上,首先將體數(shù)據(jù)通過(guò)三維分形變換變換為分形域中的三維分形系數(shù),然后根據(jù)給定的視角投射三維分形系數(shù)獲得投射后的二維分形系數(shù),最后將獲得的二維分形系數(shù)進(jìn)行二維分形反變換,從而得到最終的繪制圖像。具體包括如下步驟(1)體數(shù)據(jù)的分塊分塊操作就是將原始的大規(guī)模數(shù)據(jù)分成許多小的非重疊的體數(shù)據(jù)。在確定了塊的大小后,選取塊的最前、最下、最左的點(diǎn)作為塊在體數(shù)據(jù)中的位置,并記為(xk,yk,zk),那么子塊Vk包含所有位置在(xk,yk,zk)至(xk+b,yk+b,zk+b)的體素點(diǎn),這里b表示塊的尺寸。
(2)對(duì)每個(gè)子塊分別進(jìn)行三維分形變換,求取對(duì)應(yīng)的三維分形系數(shù)。
對(duì)分塊后的每個(gè)小塊,進(jìn)一步將其分為8個(gè)同等大小的子塊,然后將每個(gè)子塊與該小塊進(jìn)行比較,按照如下公式計(jì)算其分形系數(shù)sk和tk,從而對(duì)每個(gè)小塊,得到8組分形系數(shù)。
sk=∫1·∫g·g(wk-1)-∫g·∫g(wk-1)∫1·∫g2(wk-1)-(∫g(wk-1))2]]>tk=1∫1(∫g-sk·∫g(wk-1))]]>其中k表示該子塊在其對(duì)應(yīng)的小塊中的索引,wk表示該小塊到其子塊的仿射變換,它將小塊中的點(diǎn)映射為子塊中對(duì)應(yīng)的點(diǎn)。
(3)投射與復(fù)合根據(jù)分形投射理論,體數(shù)據(jù)的投射可以通過(guò)投射對(duì)應(yīng)Bath分形變換來(lái)獲得其對(duì)應(yīng)二維Bath分形反變換,然后使用該二維分形反變換作用于任意圖像,在經(jīng)過(guò)多次迭代后可以收斂到所需的投射圖像。因此,根據(jù)給定的視角,首先將每個(gè)小塊的三維Bath分形系數(shù)投射為二維的Bath分形系數(shù),其計(jì)算公式如下s^k=sk/2]]>t^k=∫Lktkdt]]>然后,根據(jù)所需繪制圖像的大小,給定同等大小的任意初始圖像(通常取所有像素值為零的圖像),將投射所得的二維分形系數(shù)作用于該圖像,經(jīng)過(guò)反復(fù)的迭代處理后即獲得最終的投射圖像。
本發(fā)明通過(guò)對(duì)現(xiàn)有技術(shù)中具有分形特征的體數(shù)據(jù)研究發(fā)現(xiàn)體數(shù)據(jù)的投射可以通過(guò)其分形系數(shù)的投射和反變換來(lái)完成。因此,在將二維Bath分形變換推廣到三維情況對(duì)體數(shù)據(jù)進(jìn)行處理后,提出并證明了分形投射理論如果具有自相似性的三維體數(shù)據(jù)V可以通過(guò)Bath分形變換v表示,那么它的投射圖像也具有自相似性,且可通過(guò)Bath分形變換 表示。這說(shuō)明,對(duì)任意給定的初始圖像I0,經(jīng)過(guò)Bath分形變換 的無(wú)窮次迭代后,它將趨向于V的投射圖像I。由于這種迭代是二維的圖像操作,因此用分形變換可以把三維的投射問題簡(jiǎn)化為二維的運(yùn)算。這可以大大減少計(jì)算復(fù)雜度和時(shí)間復(fù)雜度。因此本發(fā)明首次將分形與數(shù)據(jù)的可視化相結(jié)合,提出一種上述基于分形的體繪制可視化方法,從而有效地提高了體繪制的速度。一般經(jīng)過(guò)4次迭代,就能達(dá)到很好的繪制效果,對(duì)大規(guī)模數(shù)據(jù)的可視化有著較快的處理速度和較好的繪制質(zhì)量,能夠很好地適應(yīng)硬件資源和網(wǎng)絡(luò)可視化的需要。
圖1中,(a)為原始數(shù)據(jù),(b)為發(fā)明的實(shí)施例分形體繪制方法描述結(jié)果。
圖2中,(a)為原始數(shù)據(jù),(b)為發(fā)明的實(shí)施例分形體繪制方法描述結(jié)果。
具體實(shí)施例方式
以下結(jié)合本發(fā)明技術(shù)方案提供應(yīng)用實(shí)例下面結(jié)合附圖對(duì)本發(fā)明的實(shí)施例作詳細(xì)說(shuō)明本實(shí)施例在以本發(fā)明技術(shù)方案為前提下進(jìn)行實(shí)施,給出了詳細(xì)的實(shí)施方式和具體的操作過(guò)程,但本發(fā)明的保護(hù)范圍不限于下述的實(shí)施例。
本實(shí)施例采用C++語(yǔ)言實(shí)現(xiàn)并在具有CPU 2.4GHz,內(nèi)存768MB的Pentium4個(gè)人電腦上對(duì)大小為256×256×110和256×256×256的數(shù)據(jù)進(jìn)行測(cè)試。
具體處理過(guò)程如下1、體數(shù)據(jù)的分塊對(duì)給定的具有自相似性的體數(shù)據(jù)V,體素的值表示為f(x,y,z)。將其劃分為互不重疊的m個(gè)大小相等的子塊Vk,k=1,...,m。
通過(guò)實(shí)驗(yàn)顯示,選取大小為8×8×8的塊有著最好的綜合性能。選定塊的大小后,通過(guò)使用0填補(bǔ)空白位置,將原始數(shù)據(jù)的大小擴(kuò)大為塊大小的整數(shù)倍,這樣可以將原始的數(shù)據(jù)分成互不重疊的許多小塊。
2、對(duì)每個(gè)子塊分別進(jìn)行三維分形變換,求取對(duì)應(yīng)的三維分形系數(shù)。
本實(shí)例采用的三維分形變換是二維Bath分形變換在三維的推廣。
Bath分形變換是定義在迭代函數(shù)系統(tǒng)上的一組分形函數(shù),每個(gè)分形函數(shù)表示原始數(shù)據(jù)的一部分。定義第k個(gè)分形函數(shù)fk為fk=vk(x,f) (1)其中x∈wk(X);vk是包含m個(gè)參數(shù)αl(k),l=1,...,m的函數(shù)。對(duì)給定的體數(shù)據(jù)上某塊上的函數(shù)g,Bath分形變換就是要找到某W,使得 最小,這里 表示g在此Bath分形變換W下的映射。它能夠通過(guò)分形函數(shù)的逆求得g^(x)=vk(wk-1(x),g(wk-1(x)))---(2)]]>通過(guò)求解∂d(g,g^)∂αl(k)=0---(3)]]>得到BFT的參數(shù)αl(k)。
通過(guò)使用不同多項(xiàng)式的分形函數(shù),可以改變Bath分形變換的復(fù)雜性來(lái)適應(yīng)不同的需求。在最簡(jiǎn)單(零階)的情況下,分形函數(shù)具有如下形式fk=vk(x,y,z,f)=skf+tk(4)這正是Jacquin提出的迭代變換技術(shù)。此時(shí),原數(shù)據(jù)g與在分形函數(shù)vk變換后的數(shù)據(jù) 之間的距離為
d(g,g^)=∫B(g(x)-skg(wk-1(x))-tk)2dx---(5)]]>按照式(5-19)分別對(duì)sk,tk求偏導(dǎo)有∫B(g(x)-skg(wk-1(x))-tk)g(wk-1(x))dx=0---(6)]]>∫B(g(x)-skg(wk-1(x))-tk)dx=0---(7)]]>表示為矩陣形式有∫g2(wk-1)∫g(wk-1)∫g(wk-1)∫1sktk=∫g·g(wk-1)∫g---(8)]]>求解可得,當(dāng)∫1·∫g(wk-1)2-(∫g(wk-1))2=0---(9)]]>時(shí)sk=0 (10)否則sk=∫1·∫g·g(wk-1)-∫g·∫g(wk-1)∫1·∫g2(wk-1)-(∫g(wk-1))2---(11)]]>tk=1∫1(∫g-sk·∫g(wk-1))---(12)]]>為了提供更高的精度,可以使用一階、二階或更高階的分形函數(shù)。例如,階的分形函數(shù)為fk=vk(x,y,z,f)=akx+bky+ckz+skf+tk(13)將誤差函數(shù) 對(duì)參數(shù)求偏導(dǎo)可獲得∫x2∫xy∫xz∫xg(wk-1)∫x∫xy∫y2∫yz∫yg(wk-1)∫y∫z∫yz∫z2∫zg(wk-1)∫z∫zg(wk-1)∫yg(wk-1)∫zg(wk-1)∫g2(wk-1)∫g(wk-1)∫x∫y∫z∫g(wk-1)∫1akbkcksktk∫xg∫yg∫zg∫g·g(wk-1)∫g---(14)]]>
因此,對(duì)給定的體數(shù)據(jù),首先將其劃分為互不重疊大小為2K×2K×2K(通常K=8或16)的子塊,本發(fā)明稱這樣的子塊為域塊,然后將每個(gè)域塊進(jìn)一步劃分為8個(gè)大小相等的值塊,其大小為K×K×K。對(duì)第l個(gè)域塊,可以使用8個(gè)分形函數(shù)表示,每個(gè)對(duì)應(yīng)一個(gè)域塊到值塊的映射。根據(jù)求解精度的要求,可根據(jù)公式(10)和(11)或(13)獲得零階與一階情況下的分形系數(shù)。將所有的域塊進(jìn)行這樣的求解,從而完成對(duì)整個(gè)體數(shù)據(jù)的三維分形變換。
3、投射與復(fù)合根據(jù)分形投射理論,體數(shù)據(jù)的投射可以通過(guò)投射對(duì)應(yīng)Bath分形變換來(lái)獲得其對(duì)應(yīng)二維Bath分形變換,然后進(jìn)行使用該二維分形變換作用于任意圖像,在經(jīng)過(guò)多次迭代后可以收斂到所需的投射圖像。由于該發(fā)明使用了分塊技術(shù),因此對(duì)體數(shù)據(jù)中的每個(gè)子塊,依次進(jìn)行投射,然后將投射后生成的子圖像進(jìn)行復(fù)合來(lái)獲得最終的投射圖像。
對(duì)第l個(gè)子塊Vl,在三維分形變換時(shí),先將其進(jìn)一步劃分為8個(gè)同等大小的值塊,那么該域塊對(duì)應(yīng)的三維分形變換為vl,每個(gè)值塊對(duì)應(yīng)的分形函數(shù)為fkl=vkl(x,y,z,fl)---(15)]]>對(duì)給定的視角,可求得第k個(gè)值塊在該視角下對(duì)應(yīng)的二維分形變換的系數(shù),從而得到其二維分形函數(shù)如下f^kl=v^kl(u,v,f^l)---(16)]]>那么,假定域塊Vl在該視角下的投射子圖像為Il,對(duì)給定的大小與Il同等大小的子圖像Il(0)(通常設(shè)其所有像素值為零),可以通過(guò)二維分形變換 對(duì)Il(0)的迭代來(lái)獲得值塊Vkl投射后的子圖像。因此,通過(guò)對(duì)所有值塊的投射后子圖像的復(fù)合,可獲得域塊Vl投射后的子圖像Il,即Il=limn→∞Il(n)=limn→∞Σk=18v^kl(Il(n-1))---(17)]]>可以看出,原始的三維投射已經(jīng)變?yōu)槎S的圖像變換。投射過(guò)程按塊依次進(jìn)行,每個(gè)子塊投射后的子圖像按照給定的視角放置在最終圖像的合適位置,并和該圖像上像素進(jìn)行復(fù)合。
本實(shí)施例在復(fù)合時(shí)不考慮遮擋效應(yīng),因此可以簡(jiǎn)單地把像素值進(jìn)行相加。所有子圖像的復(fù)合即為最終的繪制圖像。如圖1、2所示。
本實(shí)施例提出了一種基于分形的體繪制可視化方法,通過(guò)整合分形數(shù)據(jù)變換和直接體繪制方法來(lái)加快數(shù)據(jù)的可視化,通過(guò)提出的分形投射理論,使得體繪制可以直接在變換域進(jìn)行,從而有效地提高了體繪制的速度。一般經(jīng)過(guò)4次迭代,就能打到很好的繪制效果。
而且,由于分形體繪制過(guò)程是迭代過(guò)程,因此,圖像的產(chǎn)生能夠逐步進(jìn)行,分形體繪制支持逐步提升機(jī)制。這使得分形體繪制能夠很好地適應(yīng)硬件資源和網(wǎng)絡(luò)可視化的需要。
權(quán)利要求
1.一種基于分形的體繪制可視化方法,其特征在于,包括如下步驟(1)體數(shù)據(jù)的分塊將原始的大規(guī)模數(shù)據(jù)分成許多小的非重疊的體數(shù)據(jù),在確定了塊的大小后,選取塊的最前、最下、最左的點(diǎn)作為塊在體數(shù)據(jù)中的位置,并記為(xk,yk,zk),那么子塊Vk包含所有位置在(xk,yk,zk)至(xk+b,yk+b,zk+b)的體素點(diǎn),這里b表示塊的尺寸;(2)對(duì)每個(gè)子塊分別進(jìn)行三維分形變換,求取對(duì)應(yīng)的三維分形系數(shù);(3)投射與復(fù)合根據(jù)分形投射理論,體數(shù)據(jù)的投射通過(guò)投射對(duì)應(yīng)Bath分形變換來(lái)獲得其對(duì)應(yīng)二維Bath分形反變換,然后使用該二維分形反變換作用于任意圖像,在經(jīng)過(guò)多次迭代后可以收斂到所需的投射圖像,因此,根據(jù)給定的視角,首先將每個(gè)小塊的三維Bath分形系數(shù)投射為二維的Bath分形系數(shù),其計(jì)算公式如下s^k=sk/2]]>t^k=∫Lktkdt]]>然后,根據(jù)所需繪制圖像的大小,給定同等大小的任意初始圖像,將投射所得的二維分形系數(shù)作用于該圖像,經(jīng)過(guò)反復(fù)的迭代處理后即獲得最終的投射圖像。
2.根據(jù)權(quán)利要求1所述的基于分形的體繪制可視化方法,其特征是,所述的步驟(1)中,選定塊的大小后,通過(guò)使用0填補(bǔ)空白位置,將原始數(shù)據(jù)的大小擴(kuò)大為塊大小的整數(shù)倍,這樣將原始的數(shù)據(jù)分成互不重疊的許多小塊。
3.根據(jù)權(quán)利要求1所述的基于分形的體繪制可視化方法,其特征是,所述的步驟(2),具體實(shí)現(xiàn)如下對(duì)分塊后的每個(gè)小塊,進(jìn)一步將其分為8個(gè)同等大小的子塊,然后將每個(gè)子塊與該小塊進(jìn)行比較,按照如下公式計(jì)算其分形系數(shù)sk和tk,從而對(duì)每個(gè)小塊,得到8組分形系數(shù)sk=∫1·∫g·g(wk-1)-∫g·∫g(wk-1)∫1·∫g2(wk-1)-(∫g(wk-1))2]]>tk=1∫1(∫g-sk·∫g(wk-1))]]>其中k表示該子塊在其對(duì)應(yīng)的小塊中的索引,wk表示該小塊到其子塊的仿射變換,它將小塊中的點(diǎn)映射為子塊中對(duì)應(yīng)的點(diǎn)。
全文摘要
一種計(jì)算機(jī)應(yīng)用技術(shù)領(lǐng)域的基于分形理論的體繪制可視化方法。本發(fā)明在分形理論基礎(chǔ)上,首先將體數(shù)據(jù)通過(guò)三維分形變換變換為分形域中的三維分形系數(shù),然后根據(jù)給定的視角投射三維分形系數(shù)獲得投射后的二維分形系數(shù),最后將獲得的二維分形系數(shù)進(jìn)行二維分形反變換,從而得到最終的繪制圖像。本發(fā)明有效地提高了體繪制的速度,一般經(jīng)過(guò)4次迭代,就能達(dá)到很好的繪制效果,對(duì)大規(guī)模數(shù)據(jù)的可視化有著較快的處理速度和較好的繪制質(zhì)量;而且,由于分形體繪制過(guò)程是迭代過(guò)程,因此,圖像的產(chǎn)生能夠逐步進(jìn)行,分形體繪制支持逐步提升機(jī)制。這使得分形體繪制能夠很好地適應(yīng)硬件資源和網(wǎng)絡(luò)可視化的需要。
文檔編號(hào)G06T9/00GK1932883SQ200610117049
公開日2007年3月21日 申請(qǐng)日期2006年10月12日 優(yōu)先權(quán)日2006年10月12日
發(fā)明者楊杰, 李曉亮, 姚莉秀 申請(qǐng)人:上海交通大學(xué)