複製鏈接
請複製以下鏈接發送給好友

vtk

鎖定
Vtk,(visualization toolkit)是一個開源的免費軟件系統,主要用於三維計算機圖形學、圖像處理和可視化。Vtk是在面向對象原理的基礎上設計和實現的,它的內核是用C++構建的,包含有大約250,000行代碼,2000多個類,還包含有幾個轉換界面,因此也可以自由的通過Java,Tcl/Tk和Python各種語言使用vtk。
中文名
vtk
外文名
visualization toolkit
性    質
免費軟件系統,BSD許可證
特    點
具有強大的三維圖形功能
源代碼庫
gitlab.kitware.com/vtk/vtk
語    言
C++,Tcl,Python,Java
開發者
Kitware Inc. [3] 

vtk簡介

視覺化工具函式庫(VTK,Visualization Toolkit)是一個開放源碼,跨平台、支持並行處理(VTK曾用於處理大小近乎1個Petabyte的資料,其平台為美國Los Alamos國家實驗室所有的具1024個處理器之大型系統)的圖形應用函式庫。2005年時曾被美國陸軍研究實驗室用於即時模擬俄羅斯制反導彈戰車ZSU23-4受到平面波攻擊的情形,其計算節點高達2.5兆之多。Vtk幾乎可以在任何一個基於Unix的平台上操作,以及Windows 95/98/NT/2000/XP。 [1] 

vtk程序特點

它以用户使用的方便性和靈活性為主要原則,具有如下的特點 [2] 
1: 具有強大的三維圖形功能。Visualization Toolkit 既支持基於體素Voxel-basedrendering 的體繪製Volume Rendering又保留了傳統的面繪製,從而在極大的改善可視化效果的同時又可以充分利用現有的圖形庫和圖形硬件。
2: Visualization Toolkit 的體系結構使其具有非常好的流streaming和高速緩存caching 的能力,在處理大量的數據時不必考慮內存資源的限制。
3: Visualization Toolkit 能夠更好的支持基於網絡的工具比如Java 和VRML 。隨着Web 和Internet 技術的發展VisualizationToolkit 有着很好的發展前景
4: 能夠支持多種着色如OpenGL 等。
5: Visualization Toolkit 具有設備無關性,其代碼具有良好的可移植性。同時,官方也給出了各個編譯器的技術文檔與案例、教程。
6: VTK應用程序使用Filter(過濾器)操作數據,每個過濾器檢查其接受的數據併產生輸出數據。多個Filter與數據源組成一個數據流網絡。可配置的網絡將原始數據轉換為更易理解的模式。
6: Visualization Toolkit 中定義了許多宏,這些宏極大的簡化了編程工作並且加強了一致的對象行為
vtk網格 vtk網格
7: Visualization Toolkit 具有更豐富的數據類型,支持對多種數據類型進行處理。其核心數據模型能夠表示幾乎所有與物理科學相關的現實世界問題,適合涉及有限差分和有限元解決方案的醫學成像和工程工作。
8: 既可以工作於Windows 操作系統又可以工作於Unix 操作系統極大的方便了用户。

vtk發展歷史

Kitwar logo Kitwar logo
VTK最早是作為Prentice Hall出版的"The Visualization Toolkit: An Object-Oriented Approach to 3DGraphics"一書的附件釋出,該書及其軟件是由GE研發部 Corporate R&D的三位研究人員:Will Schroeder、Ken Martin與Bill Lorensen用其閒暇時間合作,在獲得GE公司的許可下完成的(故該軟件的授權完全是由這三位決定),由於其開放源碼式的授權,該書一上市後,VTK 很快地建立了其使用及開發者社羣,同時,GE與其他數間公司也開始提供對VTK的支援。 Will Schroeder和Ken Martin在1998年時離開GE,創立了Kitware公司。
有了Kitware的資金挹注,VTK社羣快速地成長,其在學術研究及商業應用的領域受到重用,例如Slicer 生物醫學計算軟件使用VTK作為其核心,許多討論研究VTK的IEEE論文出現。VTK也是許多大型研究機構如Sandia, Los Alamosn及Livermore國家實驗室與Kitware的合作基礎。這些研究中心使用VTK來作為視覺化資料的基礎處理工具。 VTK亦是新創的美國國家衞生研究院所規劃,作為開發未來計算工具之基石的美國國家醫學影像計算合作聯盟(National Alliance for Medical Image Computing, NA-MIC)的關鍵計算工具。

vtk應用

VTK是一個開放源碼、自由獲取的軟件系統,全世界的數以千計的研究人員和開發人員用它來進行3D計算機圖形,圖像處理,可視化。VTK包含一個c++類庫,眾多的翻譯接口層,包括Tcl/Tk,Java,Python。 Visualization Toolkit 是一個用於可視化應用程序構造與運行的支撐環境,它是在三維函數庫OpenGL 的基礎上採用面向對象的設計方法發展起來的,它將我們在可視化開發過程中會經常遇到的細節屏蔽起來,並將一些常用的算法封裝起來。比如 Visualization Toolkit 將我們在表面重建中比較常見的MarchingCubes 算法封裝起來,以類的形式給我們以支持,這樣我們在對三維規則點陣數據進行表面重建時就不必再重複編寫MarchingCubes 算法的代碼,而直接使用Visualization Toolkit 中已經提供的vtkMarchingCubes 類。 Visualization Toolkit 是給從事可視化應用程序開發工作的研究人員提供直接的技術支持的一個強大的可視化開發工具。

vtk應用領域

通過VTK將科學實驗數據如建築學、氣象學、醫學、生物學或者航空航天學,對體、面、光源等等的逼真渲染,從而幫助人們理解那些採取錯綜複雜而又往往規模龐大的數字呈現形式的科學概念或結果。美國計算機科學家布魯斯·麥考梅克在其1987年關於科學可視化的定義之中,首次闡述了科學可視化的目標和範圍:“利用計算機圖形學來創建視覺圖像,幫助人們理解科學技術概念或結果的那些錯綜複雜而又往往規模龐大的數字表現形式”。
核醫學成像:心臟SPECT圖像(短軸視圖)與心臟三維模型的融合
將儀器採集的實驗數據通過計算機模擬成像,有助於發現醫學問題。在航空航天方面,模擬飛行器軌道實驗、風洞實驗等,通過計算機模擬減少實際實驗次數,可以降低成本,並可以多次實驗找出問題。

vtk獲得

vtk為開源軟件,可以從其官網獲得最新版本 [4]  ,最新版本為9.0.3。同時,官網也提供了歷史版本的下載。
vtk的安裝與配置需使用Kitware公司的Cmake工具。
案例教程可從官網獲取。 [5] 

vtk許可證

VTK 是一個在BSD許可證下許可的開源工具包。
版權所有 (c) 1993-2008 Ken Martin、Will Schroeder、Bill Lorensen
保留所有權利。
如果滿足以下條件,則允許以源代碼和二進制形式重新分發和使用,無論是否修改:
  • 源代碼的重新分發必須保留上述版權聲明、此條件列表和以下免責聲明。
  • 以二進制形式重新分發必須在隨分發提供的文檔和/或其他材料中複製上述版權聲明、此條件列表和以下免責聲明。
  • 未經事先書面許可,不得使用 Ken Martin、Will Schroeder 或 Bill Lorensen 的姓名或任何貢獻者的姓名來認可或推廣從該軟件衍生的產品。
本軟件由版權所有者和貢獻者“按原樣”提供,並提供任何明示或暗示的保證,包括但不限於適銷性和針對特定用途的適用性的暗示保證。在任何情況下,作者或貢獻者均不對任何直接、間接、附帶、特殊、懲戒性或後果性損害(包括但不限於採購替代品或服務、利潤或數據;業務中斷),無論是基於任何責任理論,無論是合同、嚴格責任或侵權行為(包括疏忽或其他原因)因使用本軟件而以任何方式引起的,即使是出於自願的考慮。
參考資料