亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于VTK的三維可視化軟件設(shè)計(jì)*

        2016-07-23 08:27:24李世虎王明泉陳培興
        山西電子技術(shù) 2016年2期

        李世虎,王明泉,陳培興

        (1.中北大學(xué)動(dòng)態(tài)測(cè)試技術(shù)重點(diǎn)實(shí)驗(yàn)室,山西 太原 030051;2.中北大學(xué)信息與通信工程學(xué)院,山西 太原 030051)

        ?

        基于VTK的三維可視化軟件設(shè)計(jì)*

        李世虎1,2,王明泉1,2,陳培興1,2

        (1.中北大學(xué)動(dòng)態(tài)測(cè)試技術(shù)重點(diǎn)實(shí)驗(yàn)室,山西 太原 030051;2.中北大學(xué)信息與通信工程學(xué)院,山西 太原 030051)

        摘要:三維可視化有利于直觀觀察物體內(nèi)部細(xì)節(jié),是當(dāng)前研究的熱點(diǎn)問(wèn)題。論文對(duì)VTK及三維可視化算法進(jìn)行分析介紹,以VTK提供的光線合成可視化算法作為接口,結(jié)合MFC設(shè)計(jì)實(shí)現(xiàn)了三維可視化軟件設(shè)計(jì)與開發(fā)。

        關(guān)鍵詞:VTK;三維可視化;MFC

        工業(yè)CT重建在無(wú)損探傷檢測(cè)領(lǐng)域有重要作用,而三維可視化能夠直觀重現(xiàn)物體復(fù)雜的內(nèi)部結(jié)構(gòu),作為其中的關(guān)鍵環(huán)節(jié)有著十分重要的地位[1]。本文對(duì)比體繪制與面繪制方法進(jìn)行比較,對(duì)VTK成像流程做了分析,再對(duì)重建數(shù)據(jù)做預(yù)處理,最后選用體繪制方法,使用VTK結(jié)合MFC實(shí)現(xiàn)可視化軟件開發(fā),為物體缺陷檢測(cè)提供了直觀依據(jù)[2]。

        1三維可視化方法與VTK

        1.1三維可視化方法

        三維可視化方法主要包括體繪制和面繪制[3]。面繪制是以移動(dòng)立方體算法(Marching Cubes算法)為代表的繪制方法。它主要是通過(guò)提取圖像中等值面構(gòu)造三角面片等來(lái)刻畫物體輪廓信息進(jìn)行三維繪制,適用于表面特征明顯的物體。面繪制中,只處理體數(shù)據(jù)場(chǎng)中的部分?jǐn)?shù)據(jù),因此運(yùn)算量小、速度快。但也造成了圖像信息的丟失, 可視化數(shù)據(jù)不完整,無(wú)法展示出物體的內(nèi)部具體特征信息。

        體繪制是以光線透射算法(Ray Casting算法)為代表的繪制方法[4]。它是對(duì)體數(shù)據(jù)場(chǎng)中每一個(gè)體素進(jìn)行處理,運(yùn)算量較大,繪制速度也相對(duì)面繪制慢。體繪制得到的可視化結(jié)果能夠顯示物體內(nèi)部構(gòu)造信息和細(xì)節(jié),繪制結(jié)果也相對(duì)更加精確。這里因?yàn)樾枰矬w內(nèi)部細(xì)節(jié),選擇體繪制算法作為可視化方法。

        1.2VTK

        VTK(Visualization Toolkit)是由美國(guó) Kitware公司使用C++開發(fā)的一套集3D圖形學(xué)和可視化等于一體的C++通用可視化類庫(kù)。它的代碼是源碼的,可在C++、Tcl/Tk、Jave、Pyhon語(yǔ)言環(huán)境下配合使用[5]。VTK主要包括兩種對(duì)象模型:圖形模型對(duì)象和可視化模型對(duì)象[6]。圖形模型主要是用圖形描述幾何體構(gòu)成的場(chǎng)景;而可視化模型主要把幾何數(shù)據(jù)轉(zhuǎn)換成圖形數(shù)據(jù)及構(gòu)建幾何體。VTK采用流水線機(jī)制,并且支持?jǐn)?shù)據(jù)并行處理[7,8]。如圖1所示,數(shù)據(jù)由數(shù)據(jù)源輸入,經(jīng)過(guò)濾波處理(這里可以使多次濾波處理)后,經(jīng)過(guò)場(chǎng)景渲染到窗口中:

        圖1 VTK管道流水線

        2圖像預(yù)處理

        這里選取CT掃描固體燃料電磁后,經(jīng)過(guò)FDK重建得到的0~730共731幅切片數(shù)據(jù)作為可視化數(shù)據(jù)源進(jìn)行可視化,該數(shù)據(jù)由國(guó)家重大儀器專項(xiàng)提供。這里每幅切片大小為8 033 KB(大小為:1 434*1 434,類型為:float型),總共為5.59 GB的數(shù)據(jù)量。對(duì)于一個(gè)32位的系統(tǒng)而言,Windows對(duì)于每個(gè)進(jìn)程提供4 GB虛擬空間,除去代碼段等,可用空間不足2 GB,顯然,直接加載5.59 GB數(shù)據(jù)進(jìn)行可視化是不可取的。對(duì)于這個(gè)問(wèn)題,眾多學(xué)者為此進(jìn)行了研究,一種有效的方法是八叉樹算法。

        事實(shí)上,多次對(duì)選取單層重建切片研究發(fā)現(xiàn),圖片中有大量無(wú)效信息,如圖2所示。圖中,除去燃料電池外為無(wú)用信息。這里對(duì)所有切片進(jìn)行旋轉(zhuǎn)變換截取,剔除圖像中無(wú)用信息,所得如圖3所示。

        圖2 第358副圖像     圖3 數(shù)據(jù)截取后部分圖像

        經(jīng)過(guò)以上數(shù)據(jù)截取后,得到圖像總大小為:816 MB(單副切片大小為:425*690,數(shù)據(jù)類型為:float型),這樣以來(lái),數(shù)據(jù)量得到了有效壓縮。

        對(duì)三維數(shù)據(jù)的可視化,數(shù)據(jù)量的減小將能帶來(lái)更快的可視化速度,甚至達(dá)到實(shí)時(shí)的要求。經(jīng)過(guò)研究發(fā)現(xiàn),國(guó)內(nèi)LED液晶灰度多為8位,國(guó)際上為10位,12位已經(jīng)可以做充足的數(shù)據(jù)變化[9]。顯然,32位float型攜帶的許多信息超出液晶屏所能表達(dá)的范圍,這里對(duì)其進(jìn)行多次嘗試后,發(fā)現(xiàn)即使將浮點(diǎn)型數(shù)據(jù)映射到unsigned char的字符型數(shù)據(jù),在顯示器上依然難以分辨,圖4,圖5為選取的兩幅float型壓縮到unsigned char型數(shù)據(jù)前后對(duì)比。

        圖4 浮點(diǎn)型數(shù)據(jù)圖像

        圖5 字浮型數(shù)據(jù)圖像    圖6 最終壓縮圖像

        最終得到如圖6所示壓縮圖像,總圖像大小為204 MB,這極大地壓縮了可視化源數(shù)據(jù),當(dāng)然受限于實(shí)驗(yàn)中所用的LED屏,若選用更高級(jí)別灰度等級(jí),可以將圖像映射到unsigned short型,這樣一來(lái),數(shù)據(jù)量為408 MB,對(duì)于使用VTK來(lái)可視化,仍然滿足要求。

        3軟件設(shè)計(jì)

        這里使用VTK與MFC結(jié)合基于單文檔多視圖進(jìn)行三維可視化軟件設(shè)計(jì)。本軟件共設(shè)計(jì)四個(gè)窗口,主窗口進(jìn)行三維可視化及任意角度切分,其余三個(gè)窗口可以聯(lián)動(dòng)顯示物體沿著X、Y、Z軸方向上任意層切片信息及灰度值,也可以動(dòng)態(tài)調(diào)整窗寬窗位。這里選用visual studio 2010進(jìn)行作為開發(fā)工具,參數(shù)輸入均在新增功能Ribbon控件中進(jìn)行。設(shè)計(jì)中,VTK提供了vtkSmartPointer與vtkMFCWindow輔助進(jìn)行內(nèi)存管理。

        幾個(gè)關(guān)鍵步驟為:

        1) 在MainFrm.cpp中,重寫CMainFrame::OnCreateClient()函數(shù),實(shí)現(xiàn)多視圖切分;

        2) 在視圖類中,需要重寫OnDraw()函數(shù)、OnSize()函數(shù)、OnCreate()函數(shù)、OnInitialUpdate()函數(shù)等函數(shù)。

        3) 主視圖類中使用SetVolumeRayCastFunction(compositeFunction)來(lái)實(shí)現(xiàn)光線透射算法中合成算法設(shè)置。

        4) 主視圖類中使用vtkBoxWidget類進(jìn)行任意角度包圍盒切分。

        5) 多視圖間相互數(shù)據(jù)傳遞及視圖更新通過(guò)全局變量及調(diào)用Invalidate()函數(shù)進(jìn)行。

        6) 對(duì)于各切片視圖,這里使用vtkInteractorStyleUser類進(jìn)行交互,可以較好地定位相機(jī)位置。

        7) 在各切片視圖中,需調(diào)用GetActiveCamera()函數(shù)獲取當(dāng)前視圖窗口相機(jī),并調(diào)用相機(jī)相應(yīng)的SetViewUp()、Azimuth()、SetViewUp()函數(shù)來(lái)調(diào)整相機(jī)到合適的視角。

        結(jié)合以上幾個(gè)關(guān)鍵步驟,按照VTK提供的管道流水線,結(jié)合單文檔設(shè)計(jì)進(jìn)行軟件編寫,軟件設(shè)計(jì)結(jié)果如圖7,8,9所示。

        圖7 軟件讀取燃料電池截圖

        圖8 對(duì)燃料電池進(jìn)行刨切并查看任意層切片

        圖9 對(duì)固體火箭發(fā)動(dòng)機(jī)模型的三維可視化

        4總結(jié)

        論文使用VTK與MFC結(jié)合,實(shí)現(xiàn)了固體燃料電池三維數(shù)據(jù)的可視化,并可以進(jìn)行任意角度刨切等功能;另外,軟件同樣在固體火箭發(fā)動(dòng)機(jī)重建數(shù)據(jù)的三維可視化上,也同樣適用,軟件具有一定的應(yīng)用價(jià)值。另外,軟件統(tǒng)一選用了合成光線透射算法,功能上稍顯不足,需要進(jìn)一步進(jìn)行完善。

        參考文獻(xiàn)

        [1]呂金坤.基于VTK的工業(yè)圖像三維可視化技術(shù)研究[D].太原:中北大學(xué),2013.

        [2]William J Schroeder.The VTK User’s Guide[M].Kitware.USA,2001.

        [3]袁清偉.CT序列圖像三維可視化技術(shù)的研究與實(shí)現(xiàn)[D].濟(jì)南:山東大學(xué),2009:45-47.

        [4]Levoy M.Display of Surfaces From Volume Data[J].IEEE Computer Graphics and Applications,1988,8(3):29- 37.

        [5]Kitware Inc.Visualizing with VTK a Tutorial[J].IEEE CG &A,2000,9:20-27.

        [6]William Schroeder,Kenneth Martin,Bill Lorensen.The VisualizationToolkit-An Objectoriented to 3D Grapics(Third Edition)[Z].KitwareInc,2002.

        [7]洪濤,潘志方,林立本,等.VTK醫(yī)學(xué)圖像三維重建應(yīng)用及實(shí)現(xiàn)[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2011,20(4):127-131.

        [8]Frédéric Magoulès,Roman Putanowicz.Visualization of Large Data Sets by Mixing Tcl and C++ Interfaces to the VTK Library[J].Computers and Structures,2007,85:536-552.

        [9]黃河鸛雀樓.LED顯示屏灰度等級(jí)[EB/OL].http://www.360doc.com/content/10/1007/01/735811_58962384.shtml,2010-10-17/2016-01-07.

        收稿日期:2016-01-19

        基金項(xiàng)目:國(guó)家自然基金資助項(xiàng)目(61171177);國(guó)家重大儀器設(shè)備開發(fā)專項(xiàng)(2013YQ240803)

        作者簡(jiǎn)介:李世虎(1988- ),男,安徽阜陽(yáng)人,碩士研究生,主要研究方向?yàn)槿S可視化、GPU重建加速等。

        文章編號(hào):1674- 4578(2016)02- 0064- 03

        中圖分類號(hào):TP391

        文獻(xiàn)標(biāo)識(shí)碼:A

        The Design of 3D Visualization Software Based on VTK

        Li Shihu1,2, Wang Mingquan1,2, Chen peixing1,2

        (1.KeyLaboratoriesoftheDynamicTestingTechnology,NorthUniversityofChina,TaiyuanShanxi030051,China;2.SchoolofInformationandCommunicationEngineering,NorthUniversityofChina,TaiyuanShanxi030051,China)

        Abstract:3D visualization is the current research hotspot which can be conducive to intuitively find internal details of objects. This paper analyzes and introduces the VTK and 3D visualization algorithm, gives the ray tracing composite algorithm provided by VTK as an interface, then realizes the design and development of 3D visualization software combined with MFC.

        Key words:VTK; 3D visualization; MFC

        日本少妇爽的大叫高潮了| 夜夜欢性恔免费视频| 看黄网站在线| 国产一区二区三区视频免费在线| 日本师生三片在线观看| 领导边摸边吃奶边做爽在线观看| 国产婷婷一区二区三区| 日本加勒比东京热日韩| 中文字幕人妻激情在线视频| 人人妻人人添人人爽欧美一区 | 黄色视频免费在线观看| 亚洲高清有码在线观看| 九九久久精品一区二区三区av| 日本高清在线一区二区三区| 精品午夜福利无人区乱码一区| 中文AV怡红院| 日产一区二区三区的精品| 精品久久久久久亚洲综合网| 国产免费av片在线观看播放| 亚洲专区一区二区在线观看| 美女一区二区三区在线视频| 国产成人av在线免播放观看新| 亚洲另类精品无码专区 | 日韩中文字幕一区二十| 日本道色综合久久影院| 国产熟妇人妻精品一区二区动漫 | 中文字幕日本最新乱码视频| 国产精品久久这里只有精品| 中文字幕亚洲入口久久| 亚洲国产精品无码专区| 99热这里只有精品3| 中文字幕一区二区三区喷水| 无套内谢孕妇毛片免费看| 全球av集中精品导航福利| 99久久亚洲国产高清观看| 亚洲国产日韩一区二区三区四区| 欧美成人aaa片一区国产精品| 精品欧美乱子伦一区二区三区 | 国产精品密播放国产免费看| 国产精品av免费网站| 亚洲综合天堂av网站在线观看|