[安裝] [用法] [用戶指南] [示例] [API參考]
⚡️Datoviz是一種跨平台,開源,高性能的GPU科學數據可視化庫,用C/C ++在Khronos vulkan Graphics API和GLFW窗口庫上寫成的C/C ++。它在Python中提供了原始的CTYPES綁定嗎? 。從長遠來看,Datoviz將主要用作Vispy 2.0後端。
它專為速度,視覺質量和可擴展性的數據集而設計,包括數百萬個點,可通過Dear Imgui支持2D/3D交互式渲染和最小GUI。
?路線圖。在中期:增加操作系統和硬件兼容性,提供更多的視覺效果,交互性模式和GUI控件。從長遠來看:挑選,自定義視覺和著色器,非線性變換,WebGPU/WebAssembly兼容性,與Ipython,Jupyter和QT集成。
學分:鼠標腦量:艾倫SDK。法國:自然地球。分子:pDB中鏈球菌Cas9的晶體結構(感謝Eric轉換為OBJ網格)。地球:Pixabay。柵格圖:ibl。 3D人腦:Anneke Alkemade等。 2020年,感謝Pierre-Louis Bazin和Julia Huntenburg。
這些功能目前已計劃用於v0.3 :
這些功能目前計劃在v0.4及以後進行:
要求:
注意:您不再需要安裝Vulkan SDK或手動構建庫。用於Linux,Windows和MacOS的預編譯車輪已上傳到PYPI。
pip install datovizPython中的簡單散點圖示例(具有隨機位置,顏色和大小的點),該示例緊隨C API。
import numpy as np
import datoviz as dvz
app = dvz . app ( 0 )
batch = dvz . app_batch ( app )
scene = dvz . scene ( batch )
figure = dvz . figure ( scene , 800 , 600 , 0 )
panel = dvz . panel_default ( figure )
dvz . panel_panzoom ( panel )
visual = dvz . point ( batch , 0 )
n = 100_000
dvz . point_alloc ( visual , n )
pos = np . random . normal ( size = ( n , 3 ), scale = .25 ). astype ( np . float32 )
dvz . point_position ( visual , 0 , n , pos , 0 )
color = np . random . uniform ( size = ( n , 4 ), low = 50 , high = 240 ). astype ( np . uint8 )
dvz . point_color ( visual , 0 , n , color , 0 )
size = np . random . uniform ( size = ( n ,), low = 10 , high = 30 ). astype ( np . float32 )
dvz . point_size ( visual , 0 , n , size , 0 )
dvz . panel_visual ( panel , visual , 0 )
dvz . scene_run ( scene , app , 0 )
dvz . scene_destroy ( scene )
dvz . app_destroy ( app )查看示例文檔以獲取更多用法示例。
2012年,各種GPU科學可視化庫的開發人員(Galry,Glumpy,Pyqtgraph,Visvis)合作創建了Vispy ,這是Python的基於OpenGL的科學可視化庫。
2015年,Khronos宣布了OpenGL的繼任者Vulkan引發了未來基於Vulkan的可視化庫的想法。
2019年,最初的Vispy開發人員之一Cyrille Rossant開始嘗試Vulkan。
在2021年,釋放了Datoviz V0.1的第一個實驗版本。最初的版本為進一步發展奠定了基礎。
在接下來的三年中,該技術成熟,由2021年Vispy授予Vispy的Chan Zuckerberg倡議(CZI)贈款的幫助。
2024年,Datoviz V0.2發布。此版本從地面重新設計以增強模塊化和穩定性,以確保它可以跟上GPU硬件和圖形渲染API的持續進步。它具有模塊化體系結構,將允許Datoviz技術移植到非Vulkan環境中,例如啟用WebGPU的Web瀏覽器(這要歸功於第二個CZI贈款)。
Datoviz與Vispy密切相關,因為它是由一位Vispy聯合創始人開發的。 Cyrille Rossant和Nicolas Rougier發起的Vispy 2.0將通過公共中等級別的可視化層“圖形服務器協議(GSP)”提供高級科學API,Matplotlib和其他渲染器。
長期的視覺是在多個平台,環境(桌面,Web,基於雲的遠程可視化)和編程語言(C/C ++,Python,Julia,Julia,Rust等)和編程語言(C/C ++)和編程語言(C/C ++)和編程語言(C/C ++)中,可在多個平台(桌面,Web,基於雲的遠程可視化)和編程語言(C/C ++)中均勻地提供基於GPU的2D/3D科學可視化。
請參閱貢獻筆記。
請參閱MIT許可證。
Datoviz是由Cyrille Rossant在世界各地神經科學研究實驗室聯盟的國際腦實驗室開發的。
它是由Chan Zuckerberg Initiative的科學計劃基本開源軟件特別資助的。