[インストール] [使用] [ユーザーガイド] [例] [APIリファレンス]
datoVizは、 Khronos Vulkan Graphics APIおよびGLFWウィンドウライブラリの上にあるC/C ++で書かれたクロスプラットフォーム、オープンソース、高性能GPU科学データ視覚化ライブラリです。 Pythonで生のctypesバインディングを提供しますか? 。長期的には、DatoVizは主にVispy 2.0バックエンドとして使用されます。
数百万ポイントで構成されるデータセットの速度、視覚品質、およびスケーラビリティ向けに設計されており、2D/3Dインタラクティブレンダリングと最小限のGUIを介して最小限のGUIをサポートします。
?ロードマップ。中期的には、OSとハードウェアの互換性の向上、より多くのビジュアル、インタラクティブパターン、およびGUIコントロールを提供します。長期的には、ピッキング、カスタムビジュアルとシェーダー、非線形変換、WebGPU/WebAssembly互換性、IPython、Jupyter、QTとの統合。
クレジット:マウスの脳容積:アレンSDK。フランス:自然地球。分子:PDBからのS. pyogenes cas9の結晶構造(OBJメッシュへの変換については、Ericに感謝します)。地球:ピクサベイ。ラスタープロット:IBL。 3Dヒト脳:Anneke Alkemade et al。 2020年、Pierre-Louis BazinとJulia Huntenburgに感謝します。
これらの機能は現在、 v0.3のために計画されています:
これらの機能は現在、 v0.4以降で計画されています。
要件:
注:Vulkan SDKをインストールしたり、ライブラリを手動で構築する必要はありません。 Linux、Windows、およびMacOの事前コンパイルホイールが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)の開発者は、Python用のOpenGLベースの科学的視覚化ライブラリであるVispyを作成しました。
2015年、OpenGLの後継者であるVulkanはKhronosによって発表され、将来のVulkanベースの視覚化ライブラリのアイデアを引き起こしました。
2019年、オリジナルのVispy開発者の1人であるCyrille Rossantは、Vulkanの実験を開始しました。
2021年、DatoViz v0.1の最初の実験バージョンがリリースされました。この最初のリリースは、さらなる開発のための基礎を築きました。
今後3年間で、 2021年にVispyに授与されたChan Zuckerbergイニシアチブ(CZI)助成金によって支援された技術は成熟しました。
2024年、Datoviz v0.2がリリースされました。このバージョンは、モジュール性と安定性を高めるためにゼロから再設計されており、GPUハードウェアとグラフィックスレンダリングAPIの継続的な進歩に対応できるようにします。 DatoVizテクノロジーの移植を、WebGPU対応のWebブラウザーなどの非ブルカン環境に移植できるようにするモジュラーアーキテクチャを備えています(2番目のCZI助成金のおかげです)。
Datovizは、Vispy共同設立者の1人によって開発されているため、 Vispyと密接に関連しています。 Cyrille RossantとNicolas Rougierによって開始されたVispy 2.0は、「Graphics Server Protocol(GSP)」と呼ばれる一般的なメディアレベルの視覚化レイヤーを介して、DatoViz、Matplotlib、およびその他のレンダラーの上に高レベルの科学的APIを提供します。
長期的なビジョンは、高性能GPUベースの2D/3D科学的視覚化が、複数のプラットフォーム、環境(デスクトップ、Web、クラウドベースのリモート視覚化)、およびプログラミング言語(C/C ++、Python、Julia、錆など)で均一に利用できるようにすることです。
貢献メモを参照してください。
MITライセンスを参照してください。
Datovizは、世界中の神経科学研究ラボのコンソーシアムであるInternational Brain LaboratoryのCyrille Rossantによって開発されています。
これは、特にChan Zuckerberg InitiativeのEssential Open Source Software for Scienceプログラムによって資金提供されています。