本發(fā)明涉及并行計算應(yīng)用
技術(shù)領(lǐng)域:
和高性能科學(xué)計算領(lǐng)域,特別是涉及一種具備TB級數(shù)據(jù)處理規(guī)模的CT切片數(shù)據(jù)可視化重構(gòu)的八叉樹并行構(gòu)造方法。
背景技術(shù):
:在圖形圖像處理應(yīng)用領(lǐng)域中,三維可視化技術(shù)是描繪和理解三維模型的一種重要工具,而八叉樹是一種用于描述三維空間的樹狀數(shù)據(jù)結(jié)構(gòu),其數(shù)據(jù)結(jié)構(gòu)是三維可視化技術(shù)廣泛應(yīng)用的重要數(shù)據(jù)結(jié)構(gòu)之一??茖W(xué)計算領(lǐng)域中常用的并行編程框架包括MPI(消息傳遞接口)、OpenMP、CUDA等。MPI主要用于實現(xiàn)多進程協(xié)作的并行程序設(shè)計。由于不同進程具有獨立的地址空間和資源,因此需要采用MPI提供的消息傳遞接口來實現(xiàn)進程間的相互通信。在使用MPI實現(xiàn)八叉樹并行構(gòu)造算法時,通常會對計算網(wǎng)格進行區(qū)域劃分,不同的進程負責(zé)不同區(qū)域的計算,完成計算之后將數(shù)據(jù)存儲至自定義文件中。OpenMP是一種用于共享內(nèi)存的并行系統(tǒng)的多處理器程序設(shè)計的編譯處理方案。在OpenMP的程序中,多個線程協(xié)同工作來完成計算任務(wù),線程之間共享所在進程的內(nèi)存空間,因此,線程間不需要額外的通信來交換數(shù)據(jù)。但是OpenMP不能實現(xiàn)跨節(jié)點并行,而且,在線程數(shù)目很大的情況下,不能實現(xiàn)良好的并行效率。隨著數(shù)據(jù)處理規(guī)模的迅速激增,和處理時效性需求不斷增加,三維可視化技術(shù)已經(jīng)越來越多地利用高性能計算應(yīng)用技術(shù)和并行計算應(yīng)用技術(shù)來解決面臨的例如單機無法處理,或處理時間無法接受,或處理效果不好等問題和挑戰(zhàn)。八叉樹構(gòu)造算法是一個非常重要的應(yīng)用基礎(chǔ)算法,針對其優(yōu)勢和特點,結(jié)合目前數(shù)據(jù)規(guī)模逐漸達到TB級、甚至PB級,應(yīng)用時效性要求高的實際情況,研究八叉樹的并行構(gòu)造方法有重要的實際意義和迫切的應(yīng)用需求。技術(shù)實現(xiàn)要素:為了解決現(xiàn)有技術(shù)的不足,本發(fā)明提供了一種基于MPI+OpenMP并行編程模型的CT切片數(shù)據(jù)可視化重構(gòu)的八叉樹并行構(gòu)造方法。該方法利用原始體數(shù)據(jù)網(wǎng)格剖分、八叉樹節(jié)點數(shù)據(jù)沒有依賴性等特點,基于“按需構(gòu)造-BranchonneedOctrees,BONOs”方案,根據(jù)體數(shù)據(jù)的實際三維尺寸進行八叉樹并行構(gòu)造,一方面減少構(gòu)造過程中對計算資源、存儲資源的浪費和I/O開銷,另一方面通過并行計算的方式實現(xiàn)對TB級CT切片數(shù)據(jù)的快速八叉樹數(shù)據(jù)結(jié)構(gòu)構(gòu)造,MPI+OpenMP并行編程技術(shù)滿足TB級CT切片數(shù)據(jù)在不同分辨率要求下的八叉樹數(shù)據(jù)結(jié)構(gòu)體快速構(gòu)造,該方法具備較好的并行加速比和并行效率。本發(fā)明的技術(shù)方案是:一種CT切片數(shù)據(jù)可視化重構(gòu)的八叉樹并行構(gòu)造方法,其具備TB級數(shù)據(jù)規(guī)模處理能力,其包括以下步驟:(1)根據(jù)CT切片數(shù)據(jù)組合而成的原始體數(shù)據(jù)尺寸X、Y和Z,將八叉樹的葉子節(jié)點和中間節(jié)點設(shè)定尺寸為x、y和z,計算獲得X方向、Y方向和Z方向的剖分網(wǎng)格數(shù)目NX、NY和NZ,得到體數(shù)據(jù)的剖分網(wǎng)格數(shù)目N=NX*NY*NZ,按照該數(shù)目構(gòu)造一份線性滿八叉樹的索引列表,剖分網(wǎng)格即代表八叉樹的葉子節(jié)點;其中索引列表內(nèi)包括以下信息:1)體數(shù)據(jù)三維尺寸:擬處理體數(shù)據(jù)的實際三維大小X、Y和Z;2)節(jié)點三維尺寸:BONOs樹節(jié)點表示的體數(shù)據(jù)三維大小x、y和z;3)實際節(jié)點數(shù):當(dāng)前BONOs樹的節(jié)點個數(shù),包括根節(jié)點、中間節(jié)點和葉子節(jié)點;4)八叉樹深度:當(dāng)前BONOs樹的深度;5)是否BONO樹:標(biāo)識當(dāng)前八叉樹是否為BONO樹;6)是否壓縮:標(biāo)識當(dāng)前八叉樹存儲前是否經(jīng)過壓縮;7)線性八叉樹地址向量,滿線性八叉樹,包括:①節(jié)點標(biāo)識:根據(jù)BONOs算法,若該樹節(jié)點實際存在,則為真,否則為假;②樹節(jié)點坐標(biāo):樹節(jié)點的三維坐標(biāo)x,y和z;③節(jié)點Morton編碼:節(jié)點的Morton編碼;④節(jié)點實際內(nèi)存地址:節(jié)點數(shù)據(jù)所在的實際內(nèi)存地址;⑤節(jié)點鄰域索引:標(biāo)識出子節(jié)點相鄰的其余體數(shù)據(jù)索引下標(biāo),包括面鄰域、邊鄰域和角鄰域,共27個;⑥文件存儲絕對路徑:表示當(dāng)前節(jié)點的文件存儲路徑。(2)完成索引列表字段填充,包括八叉樹屬性字段和節(jié)點屬性字段,按照“按需構(gòu)造-BONOs”原則,根據(jù)實際存在的體數(shù)據(jù)進行劃分,不保留擴充的“偽數(shù)據(jù)”:若節(jié)點內(nèi)包含實際存在的體數(shù)據(jù),則該節(jié)點被標(biāo)識為存在;若節(jié)點只包含擴充的偽數(shù)據(jù),則該節(jié)點被標(biāo)識為不存在,減少轉(zhuǎn)換和構(gòu)造過程中對計算資源、存儲資源的浪費和消耗。(3)根據(jù)原始體數(shù)據(jù)尺寸X、Y和Z,以及擬定的節(jié)點尺寸x、y和z,進行數(shù)據(jù)預(yù)取操作,將Z方向的z個CT切片數(shù)據(jù)文件預(yù)取至所有計算節(jié)點內(nèi)存中,減少轉(zhuǎn)換過程中對數(shù)據(jù)文件的重復(fù)數(shù)據(jù)I/O開銷,提高數(shù)據(jù)復(fù)用效果。1)按照節(jié)點尺寸x、y和z,以及切片數(shù)據(jù)大小,申請動態(tài)內(nèi)存空間,等待數(shù)據(jù)緩存至內(nèi)存;2)按照OZ坐標(biāo)軸方向?qū)個切片數(shù)據(jù)讀取至節(jié)點內(nèi)存;3)根據(jù)體數(shù)據(jù)尺寸Z和節(jié)點尺寸z,計算迭代次數(shù)K,其中K表示該數(shù)據(jù)預(yù)取過程將持續(xù)K次,K=┌Z/z┐。(4)將預(yù)取至內(nèi)存的體數(shù)據(jù)子塊,即三維尺寸為X、Y和z的體數(shù)據(jù)子塊在XOY平面進行X和Y方向進行等分,X方向劃分,Y方向劃分,將該體數(shù)據(jù)塊劃分為(X/x)*(Y/y)個葉子節(jié)點。1)按照MPI并行規(guī)模PN,對本次葉子節(jié)點網(wǎng)格數(shù)N進行平均劃分;2)每一個進程P,確定擬處理的葉子節(jié)點個數(shù)和節(jié)點編號,確保所有節(jié)點能夠被處理;3)根據(jù)擬處理葉子節(jié)點數(shù)目,申請動態(tài)內(nèi)存空間,分配待處理數(shù)據(jù)緩存區(qū)域。(5)基于MPI+OpenMP編程模型,執(zhí)行葉子節(jié)點數(shù)據(jù)并行轉(zhuǎn)換操作,由PN個MPI進程將N個葉子節(jié)點進行數(shù)據(jù)轉(zhuǎn)換,每個進程內(nèi)部啟動OpenMP多線程完成數(shù)據(jù)排列,使得CT切片數(shù)據(jù)格式快速并行轉(zhuǎn)換為八叉樹葉子節(jié)點數(shù)據(jù)格式,并存儲為自定義二進制文件,將該過程迭代執(zhí)行次,完成整個體數(shù)據(jù)由CT切片數(shù)據(jù)格式向葉子節(jié)點二進制數(shù)據(jù)格式的轉(zhuǎn)換操作。1)按照葉子節(jié)點尺寸和編碼,讀取體數(shù)據(jù)子塊的對應(yīng)區(qū)域至緩存區(qū)域;2)依次按照OX、OY和OZ三個方向,將切片數(shù)據(jù)順序排列為樹節(jié)點數(shù)據(jù);3)將完成數(shù)據(jù)填充的葉子節(jié)點存儲為自定義二進制文件;4)如此迭代執(zhí)行K次,完成整個體數(shù)據(jù)由CT切片數(shù)據(jù)格式向八叉樹葉子節(jié)點二進制數(shù)據(jù)格式的轉(zhuǎn)換過程,其中。(6)根據(jù)線性滿八叉樹索引列表屬性信息和MPI+OpenMP并行編程模型,從八叉樹的葉子節(jié)點所在層位開始進行自底向上進行合并構(gòu)造,逐層向上合并構(gòu)造樹的中間節(jié)點,并將構(gòu)造結(jié)果存儲為自定義二進制文件,存儲路徑保存至索引列表中。a)按照MPI并行規(guī)模PN,對當(dāng)前擬合并的中間節(jié)點數(shù)目進行平均劃分,確保該層所有節(jié)點能夠被處理;b)每一個進程P,按照父子節(jié)點定位算法,確定擬處理的中間節(jié)點的子節(jié)點在索引列表中的索引編號范圍,線性滿八叉樹索引列表具備如下特性:i.設(shè)一子節(jié)點索引號為ID’,其對應(yīng)的父節(jié)點索引號為ID;ii.ID’=ID*8+i,i={1,2,3,4,5,6,7,8};iii.ID’-1=ID*8+i’,i’={0,1,2,3,4,5,6,7};iv.(ID’-1)/8=(ID*8+i’)/8=ID,i’={0,1,2,3,4,5,6,7};v.ID=(ID’-1)/8c)即根據(jù)子節(jié)點索引編號ID’,可以直接計算得到父節(jié)點索引編號ID,同樣父節(jié)點也能夠直接計算獲得八個子節(jié)點的索引編號,計算時間復(fù)雜度為O(1);d)對上述a)-c)步驟重復(fù)迭代執(zhí)行,直至完成對樹的根節(jié)點Root數(shù)據(jù)合并操作。(7)完成整棵八叉樹構(gòu)造,獲得線性滿八叉樹索引列表和八叉樹節(jié)點數(shù)據(jù)文件,滿足體數(shù)據(jù)三維可視化重構(gòu)目的。本發(fā)明的有益效果是,一種CT切片數(shù)據(jù)可視化重構(gòu)的八叉樹并行構(gòu)造方法,相比已有的八叉樹構(gòu)造方案,該并行構(gòu)造方案有以下方面的突破:1)設(shè)計并實現(xiàn)了線性滿八叉樹索引列表數(shù)據(jù)結(jié)構(gòu),利用線性滿八叉樹的特性和領(lǐng)域?qū)ふ宜惴?,對于八叉樹的父子?jié)點、相鄰節(jié)點定位能夠在時間復(fù)雜度內(nèi)完成,提高了八叉樹節(jié)點編號定位效率;2)設(shè)計并實現(xiàn)了針對TB級CT切片數(shù)據(jù)自底向上八叉樹構(gòu)造算法,通過MPI+OpenMP并行編程模型,在節(jié)點之間采用MPI多進程并行,在節(jié)點內(nèi)部采用OpneMP共享內(nèi)存并行,完成對TB級規(guī)模的CT切片數(shù)據(jù)進行八叉樹數(shù)據(jù)結(jié)構(gòu)并行構(gòu)造,使得TB級的CT切片數(shù)據(jù)能夠快速完成八叉樹數(shù)據(jù)結(jié)構(gòu)構(gòu)造,實現(xiàn)指定分辨率的快速三維可視化重構(gòu);3)以“按需構(gòu)造-BONOs”思路和自底向上逐層合并算法框架設(shè)計實現(xiàn)八叉樹并行構(gòu)造方法,能夠根據(jù)體數(shù)據(jù)尺寸和八叉樹節(jié)點尺寸完成八叉樹自底向上按需構(gòu)造,構(gòu)造過程中根據(jù)節(jié)點是否真實存在進行內(nèi)存申請,無需對不規(guī)則體數(shù)據(jù)進行三維尺寸補全,減少無效數(shù)據(jù)對內(nèi)存、磁盤I/O的消耗,提高八叉樹結(jié)構(gòu)體的并行處理效率,在可接受時間內(nèi)滿足對TB級CT切片數(shù)據(jù)的可視化重構(gòu)需求,一方面實現(xiàn)數(shù)據(jù)規(guī)模越來越大的CT切片數(shù)據(jù)可視化重構(gòu)要求,另一方面通過自底向上重構(gòu)方法,探索獲得一種適用于并行計算的八叉樹并行構(gòu)造算法框架。4)該方法可以實現(xiàn)對TB級CT切片體數(shù)據(jù)進行快速八叉樹并行重構(gòu)。根據(jù)重構(gòu)之后的八叉樹數(shù)據(jù)結(jié)構(gòu)體,能夠快速進行不同設(shè)定分辨率下的數(shù)據(jù)可視化查看,方法具備對TB級數(shù)據(jù)處理能力,具備良好的并行加速比和并行效率,可靠性、可擴展性良好,能夠有效提升三維數(shù)據(jù)可視化重構(gòu)的應(yīng)用水平。附圖說明圖1是本申請索引列表數(shù)據(jù)結(jié)構(gòu)示意圖。圖2是本申請體數(shù)據(jù)子塊中數(shù)據(jù)預(yù)取示意圖。圖3是本申請葉子節(jié)點網(wǎng)絡(luò)并行劃分示意圖。圖4是本申請葉子節(jié)點數(shù)據(jù)轉(zhuǎn)換示意圖。圖5是本申請中八叉樹中間節(jié)點合并構(gòu)造示意圖。具體實施方式下面結(jié)合附圖、附表和具體實施例對本發(fā)明作進一步詳細說明。一種CT切片數(shù)據(jù)可視化重構(gòu)的八叉樹并行構(gòu)造方法,其具備TB級數(shù)據(jù)規(guī)模處理能力,其包括以下步驟:(1)根據(jù)CT切片數(shù)據(jù)組合而成的原始體數(shù)據(jù)尺寸X、Y和Z,將八叉樹的葉子節(jié)點和中間節(jié)點設(shè)定尺寸為x、y和z,計算獲得X方向、Y方向和Z方向的剖分網(wǎng)格數(shù)目NX、NY和NZ,得到體數(shù)據(jù)的剖分網(wǎng)格數(shù)目N=NX*NY*NZ,按照該數(shù)目構(gòu)造一份線性滿八叉樹的索引列表,剖分網(wǎng)格即代表八叉樹的葉子節(jié)點;如圖1所示,其中索引列表內(nèi)包括以下信息:1)體數(shù)據(jù)三維尺寸:擬處理體數(shù)據(jù)的實際三維大小X、Y和Z;2)節(jié)點三維尺寸:BONOs樹節(jié)點表示的體數(shù)據(jù)三維大小x、y和z;3)實際節(jié)點數(shù):當(dāng)前BONOs樹的節(jié)點個數(shù),包括根節(jié)點、中間節(jié)點和葉子節(jié)點;4)八叉樹深度:當(dāng)前BONOs樹的深度;5)是否BONO樹:標(biāo)識當(dāng)前八叉樹是否為BONO樹;6)是否壓縮:標(biāo)識當(dāng)前八叉樹存儲前是否經(jīng)過壓縮;7)線性八叉樹地址向量,滿線性八叉樹,包括:①節(jié)點標(biāo)識:根據(jù)BONOs算法,若該樹節(jié)點實際存在,則為真,否則為假;②樹節(jié)點坐標(biāo):樹節(jié)點的三維坐標(biāo)x,y和z;③節(jié)點Morton編碼:節(jié)點的Morton編碼;④節(jié)點實際內(nèi)存地址:節(jié)點數(shù)據(jù)所在的實際內(nèi)存地址;⑤節(jié)點鄰域索引:標(biāo)識出子節(jié)點相鄰的其余體數(shù)據(jù)索引下標(biāo),包括面鄰域、邊鄰域和角鄰域,共27個;⑥文件存儲絕對路徑:表示當(dāng)前節(jié)點的文件存儲路徑。(2)完成索引列表字段填充,包括八叉樹屬性字段和節(jié)點屬性字段,按照“按需構(gòu)造-BONOs”原則,根據(jù)實際存在的體數(shù)據(jù)進行劃分,不保留擴充的“偽數(shù)據(jù)”:若節(jié)點內(nèi)包含實際存在的體數(shù)據(jù),則該節(jié)點被標(biāo)識為存在;若節(jié)點只包含擴充的偽數(shù)據(jù),則該節(jié)點被標(biāo)識為不存在,減少轉(zhuǎn)換和構(gòu)造過程中對計算資源、存儲資源的浪費和消耗。(3)根據(jù)原始體數(shù)據(jù)尺寸X、Y和Z,以及擬定的節(jié)點尺寸x、y和z,進行數(shù)據(jù)預(yù)取操作,將Z方向的z個CT切片數(shù)據(jù)文件預(yù)取至所有計算節(jié)點內(nèi)存中,減少轉(zhuǎn)換過程中對數(shù)據(jù)文件的重復(fù)數(shù)據(jù)I/O開銷,提高數(shù)據(jù)復(fù)用效果。如圖2所示:1)按照節(jié)點尺寸x、y和z,以及切片數(shù)據(jù)大小,申請動態(tài)內(nèi)存空間,等待數(shù)據(jù)緩存至內(nèi)存;2)按照OZ坐標(biāo)軸方向?qū)個切片數(shù)據(jù)讀取至節(jié)點內(nèi)存;3)根據(jù)體數(shù)據(jù)尺寸Z和節(jié)點尺寸z,計算迭代次數(shù)K,其中K表示該數(shù)據(jù)預(yù)取過程將持續(xù)K次,K=┌Z/z┐。(4)將預(yù)取至內(nèi)存的體數(shù)據(jù)子塊,即三維尺寸為X、Y和z的體數(shù)據(jù)子塊在XOY平面進行X和Y方向進行等分,X方向劃分,Y方向劃分,將該體數(shù)據(jù)塊劃分為(X/x)*(Y/y)個葉子節(jié)點,如圖3所示:1)按照MPI并行規(guī)模PN,對本次葉子節(jié)點網(wǎng)格數(shù)N進行平均劃分;2)每一個進程P,確定擬處理的葉子節(jié)點個數(shù)和節(jié)點編號,確保所有節(jié)點能夠被處理;3)根據(jù)擬處理葉子節(jié)點數(shù)目,申請動態(tài)內(nèi)存空間,分配待處理數(shù)據(jù)緩存區(qū)域。(5)基于MPI+OpenMP編程模型,執(zhí)行葉子節(jié)點數(shù)據(jù)并行轉(zhuǎn)換操作,由PN個MPI進程將N個葉子節(jié)點進行數(shù)據(jù)轉(zhuǎn)換,每個進程內(nèi)部啟動OpenMP多線程完成數(shù)據(jù)排列,使得CT切片數(shù)據(jù)格式快速并行轉(zhuǎn)換為八叉樹葉子節(jié)點數(shù)據(jù)格式,并存儲為自定義二進制文件,將該過程迭代執(zhí)行次,完成整個體數(shù)據(jù)由CT切片數(shù)據(jù)格式向葉子節(jié)點二進制數(shù)據(jù)格式的轉(zhuǎn)換操作,如圖4所示:1)按照葉子節(jié)點尺寸和編碼,讀取體數(shù)據(jù)子塊的對應(yīng)區(qū)域至緩存區(qū)域;2)按依次按照OX、OY和OZ三個方向,將切片數(shù)據(jù)順序排列為樹節(jié)點數(shù)據(jù),如圖4虛線框部分;3)將完成數(shù)據(jù)填充的葉子節(jié)點存儲為自定義二進制文件;4)如此迭代執(zhí)行K次,完成整個體數(shù)據(jù)由CT切片數(shù)據(jù)格式向八叉樹葉子節(jié)點二進制數(shù)據(jù)格式的轉(zhuǎn)換過程,其中。(6)根據(jù)線性滿八叉樹索引列表屬性信息和MPI+OpenMP并行編程模型,從八叉樹的葉子節(jié)點所在層位開始進行自底向上進行合并構(gòu)造,逐層向上合并構(gòu)造樹的中間節(jié)點,并將構(gòu)造結(jié)果存儲為自定義二進制文件,存儲路徑保存至索引列表中,如圖5所示:按照MPI并行規(guī)模PN,對當(dāng)前擬合并的中間節(jié)點數(shù)目進行平均劃分,確保該層所有節(jié)點能夠被處理;a)每一個進程P,按照父子節(jié)點定位算法,確定擬處理的中間節(jié)點的子節(jié)點在索引列表中的索引編號范圍,線性滿八叉樹索引列表具備如下特性:i.設(shè)一子節(jié)點索引號為ID’,其對應(yīng)的父節(jié)點索引號為ID;ii.ID’=ID*8+i,i={1,2,3,4,5,6,7,8};iii.ID’-1=ID*8+i’,i’={0,1,2,3,4,5,6,7};iv.(ID’-1)/8=(ID*8+i’)/8=ID,i’={0,1,2,3,4,5,6,7};v.ID=(ID’-1)/8b)即根據(jù)子節(jié)點索引編號ID’,可以直接計算得到父節(jié)點索引編號ID,同樣父節(jié)點也能夠直接計算獲得八個子節(jié)點的索引編號,計算時間復(fù)雜度為O(1);c)對上述a)-c)步驟重復(fù)迭代執(zhí)行,直至完成對樹的根節(jié)點Root數(shù)據(jù)合并操作。(7)完成整棵八叉樹構(gòu)造,獲得線性滿八叉樹索引列表和八叉樹節(jié)點數(shù)據(jù)文件,滿足體數(shù)據(jù)三維可視化重構(gòu)目的。本發(fā)明的測試環(huán)境為:TH-1A系統(tǒng),2CPU/節(jié)點,6核/CPU,2.90GHz,24GB內(nèi)存,網(wǎng)絡(luò)通信點對點80GB/s,基于Lustre文件系統(tǒng)提供存儲。本發(fā)明的測試數(shù)據(jù)為:腦切片CT數(shù)據(jù),TIFF格式,包括600MB、17GB和1.8TB三種數(shù)據(jù)規(guī)模,其體數(shù)據(jù)尺寸如表1所示:表1體數(shù)據(jù)尺寸數(shù)據(jù)大小X維度Y維度Z維度600MB5684222110717GB28420111031071.8TB284201110314000本發(fā)明的測試方案,根據(jù)體數(shù)據(jù)尺寸設(shè)定樹節(jié)點尺寸為表2所示:表2樹節(jié)點尺寸設(shè)定數(shù)據(jù)大小樹節(jié)點X維度樹節(jié)點Y維度樹節(jié)點Z維度600MB2561283217GB256128141.8TB51225664測試結(jié)果包括600MB數(shù)據(jù)、17GB數(shù)據(jù)和1.8TB數(shù)據(jù)的并行執(zhí)行時間,考慮到數(shù)據(jù)規(guī)模較大、單節(jié)點內(nèi)存配置有限,測試方案沒有對傳統(tǒng)八叉樹構(gòu)造方案進行時間開銷測試統(tǒng)計。600MB數(shù)據(jù)測試統(tǒng)計表為表3所示:表3600MB數(shù)據(jù)測試統(tǒng)計表從表3可以看出,2個進程即可在20S內(nèi)完成對600MB的CT切片數(shù)據(jù)格式向八叉樹結(jié)構(gòu)格式轉(zhuǎn)換。17GB數(shù)據(jù)測試統(tǒng)計表為表4所示:表417GB數(shù)據(jù)測試統(tǒng)計表從表4可以看出,17GB的CT切片數(shù)據(jù)在8個進程并行執(zhí)行下能夠在8分鐘以內(nèi)完成格式轉(zhuǎn)換,獲得八叉樹結(jié)構(gòu)。同時,由4個進程線性增加到8個進程時,加速比為1.51,并行效率為75.7%,具備較好的可擴展性。1.8TB數(shù)據(jù)測試統(tǒng)計表如表5所示:表51.8TB數(shù)據(jù)測試統(tǒng)計表從表5可以看出,1.8TB的CT切片數(shù)據(jù)在16進程并行規(guī)模下能夠在6個小時內(nèi)完成數(shù)據(jù)格式轉(zhuǎn)換,快速實現(xiàn)TB級數(shù)據(jù)可視化重構(gòu)需求。測試結(jié)果分析:從上述表可知,600MB數(shù)據(jù)的2進程并行時間開銷在20秒以內(nèi),17GB數(shù)據(jù)的8進程時間開銷在8分鐘以內(nèi),1.8TB數(shù)據(jù)的16進程時間開銷在6小時以內(nèi)。本發(fā)明方法一方面實現(xiàn)數(shù)據(jù)規(guī)模越來越大的CT切片數(shù)據(jù)可視化重構(gòu)要求,另一方面通過自底向上重構(gòu)方法,探索獲得一種新的適用于并行計算的八叉樹并行構(gòu)造算法框架。以上僅是本申請的優(yōu)選實施方式,本申請的保護范圍并不局限于上述實施例。凡屬于本申請思路下的技術(shù)方案均屬于本申請的保護范圍。應(yīng)當(dāng)指出,對于本
技術(shù)領(lǐng)域:
的普通技術(shù)人員來講,在不脫離本申請的原理前提下的若干改進和潤飾,都應(yīng)視為本申請的保護范圍。當(dāng)前第1頁1 2 3