[Instalasi] [Penggunaan] [Panduan Pengguna] [Contoh] [Referensi API]
⚡️ Datoviz adalah cross-platform, open-source, dan berkinerja tinggi pustaka visualisasi data ilmiah GPU yang ditulis dalam C/C ++ di atas Khronos Vulkan Graphics API dan GLFW Window Library. Ini memberikan binding ctypes mentah dalam python? . Dalam jangka panjang, Datoviz sebagian besar akan digunakan sebagai backend Vispy 2.0 .
Dirancang untuk kecepatan, kualitas visual, dan skalabilitas untuk set data yang terdiri dari jutaan poin, ini mendukung rendering interaktif 2D/3D dan GUI minimal melalui Imgui yang terhormat.
? Peta jalan. Dalam jangka menengah: meningkatkan kompatibilitas OS dan perangkat keras, memberikan lebih banyak visual, pola interaktivitas, dan kontrol GUI. Dalam jangka panjang: Memilih, Visual Kustom dan Shader, Transformasi Nonlinear, Kompatibilitas WebGPU/WebAssembly, Integrasi dengan Ipython, Jupyter dan Qt.
Kredit: Volume Otak Tikus: Allen SDK. Prancis: Bumi Alami. Molekul: Struktur kristal S. pyogenes Cas9 dari PDB (terima kasih kepada Eric untuk konversi ke OBJ mesh). Bumi: Pixabay. Plot Raster: Ibl. Otak manusia 3D: Anneke Alkemade et al. 2020, terima kasih kepada Pierre-Louis Bazin dan Julia Huntenburg.
Fitur -fitur ini saat ini direncanakan untuk v0.3 :
Fitur -fitur ini saat ini direncanakan untuk v0.4 dan yang lebih baru :
Persyaratan:
CATATAN : Anda tidak perlu lagi menginstal SDK Vulkan atau untuk membangun perpustakaan secara manual. Roda yang dikompilasi untuk Linux, Windows, dan macO telah diunggah ke PYPI.
pip install datovizContoh plot sebaran sederhana (titik dengan posisi acak, warna, dan ukuran) dalam python, yang mengikuti API C.
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 )Lihatlah dokumentasi contoh untuk contoh penggunaan lebih lanjut.
Pada 2012 , pengembang berbagai perpustakaan visualisasi ilmiah GPU (Galry, Glumpy, Pyqtgraph, Visvis) berkolaborasi untuk membuat Vispy , perpustakaan visualisasi ilmiah berbasis OpenGL untuk Python.
Pada 2015 , Vulkan , penerus OpenGL, diumumkan oleh Khronos, memicu gagasan perpustakaan visualisasi berbasis Vulkan di masa depan.
Pada 2019 , Cyrille Rossant, salah satu pengembang Vispy asli, mulai bereksperimen dengan Vulkan.
Pada tahun 2021 , versi eksperimental pertama dari Datoviz V0.1 dirilis. Rilis awal ini meletakkan dasar untuk pengembangan lebih lanjut.
Selama tiga tahun ke depan, teknologi matang, dibantu oleh hibah Chan Zuckerberg Initiative (CZI) yang diberikan kepada Vispy pada tahun 2021 .
Pada tahun 2024 , Datoviz V0.2 dirilis. Versi ini didesain ulang dari bawah ke atas untuk meningkatkan modularitas dan stabilitas, memastikannya dapat mengimbangi kemajuan berkelanjutan dalam perangkat keras GPU dan API yang membuat grafik. Ini fitur arsitektur modular yang akan memungkinkan porting teknologi Datoviz ke lingkungan non-Vulkan, seperti browser web yang diaktifkan WebGPU (berkat hibah CZI kedua).
Datoviz terkait erat dengan Vispy , karena sedang dikembangkan oleh salah satu pendiri Vispy. Vispy 2.0, yang diprakarsai oleh Cyrille Rossant dan Nicolas Routier, akan menawarkan API ilmiah tingkat tinggi di atas Datoviz, Matplotlib, dan renderer lainnya melalui lapisan visualisasi tingkat menengah umum yang disebut "Graphics Server Protocol (GSP)".
Visi jangka panjang adalah untuk visualisasi ilmiah 2D/3D berbasis kinerja tinggi yang tersedia secara seragam di berbagai platform, lingkungan (desktop, web, visualisasi jarak jauh berbasis cloud), dan bahasa pemrograman (C/C ++, Python, Julia, Rust, dll.).
Lihat catatan yang berkontribusi.
Lihat lisensi MIT.
Datoviz dikembangkan oleh Cyrille Rossant di International Brain Laboratory, sebuah konsorsium laboratorium penelitian ilmu saraf di seluruh dunia.
Ini didanai terutama oleh perangkat lunak open source esensial Chan Zuckerberg Initiative for Science.