[Installation] [Verwendung] [Benutzerhandbuch] [Beispiele] [API -Referenz]
⚡️ Datoviz ist eine plattformübergreifende, leistungsstarke, leistungsstarke GPU-Bibliothek für wissenschaftliche Datenvisualisierung, die in C/C ++ über der Khronos Vulkan -Grafik-API und der GLFW- Fensterbibliothek geschrieben wurde. Es liefert RAW CTypes -Bindungen in Python? . Langfristig wird Datoviz hauptsächlich als Visspy 2.0 -Backend verwendet.
Es wurde für Geschwindigkeit, visuelle Qualität und Skalierbarkeit von Datensätzen mit Millionen von Punkten entwickelt und unterstützt das 2D/3D -Interaktive -Rendering und die minimale GUIs über Dear IMgui.
? Roadmap. Mittelfristig: Erhöhung der Betriebssystem- und Hardwarekompatibilität, mehr Visuals, Interaktivitätsmuster und GUI -Steuerelemente. Langfristig: Auswahl, benutzerdefinierte Grafik und Shader, nichtlineare Transformationen, Kompatibilität von WebGPU/WebAssembly, Integration mit Ipython, Jupyter und QT.
Credits: Maus -Gehirnvolumen: Allen SDK. Frankreich: Natürliche Erde. Molekül: Kristallstruktur von S. pyogenes Cas9 aus PDB (dank Eric für die Umwandlung in OBJ Mesh). Erde: Pixabay. Raster Plot: IBL. 3D Human Brain: Anneke Alkemade et al. 2020 dank Pierre-Louis Bazin und Julia Huntenburg.
Diese Funktionen sind derzeit für V0.3 geplant:
Diese Funktionen sind derzeit für V0.4 und später geplant:
Anforderungen:
Hinweis : Sie müssen den Vulkan SDK nicht mehr installieren oder die Bibliothek manuell erstellen. Vorkompilierte Räder für Linux, Windows und MacOS wurden auf PYPI hochgeladen.
pip install datovizEinfaches Streudiagrammbeispiel (Punkte mit zufälligen Positionen, Farben und Größen) in Python, die der C -API genau folgen.
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 )Weitere Verwendungsbeispiele finden Sie in der Beispiele -Dokumentation.
Im Jahr 2012 arbeiteten Entwickler verschiedener GPU-Bibliotheken für wissenschaftliche Visualisierungsbibliotheken (Galry, Glumpy, Pyqtgraph, Visvis) zusammen, um Visspy , eine OpenGL-basierte wissenschaftliche Visualisierungsbibliothek für Python, zu erstellen.
Im Jahr 2015 wurde Vulkan , der Nachfolger von OpenGL, von Khronos angekündigt, wobei die Idee einer zukünftigen Visualisierungsbibliothek in Vulkan ausgelöst wurde.
Im Jahr 2019 begann Cyrille Rossant, einer der ursprünglichen Visspy -Entwickler, mit Vulkan zu experimentieren.
Im Jahr 2021 wurde die erste experimentelle Version von Datoviz v0.1 veröffentlicht. Diese erste Veröffentlichung legte den Grundstein für die Weiterentwicklung.
In den nächsten drei Jahren reifte die Technologie, unterstützt von einem Chan Zuckerberg -Initiativstipendium (CZI), der 2021 an Vispy vergeben wurde.
Im Jahr 2024 wird Datoviz v0.2 veröffentlicht. Diese Version wird von Grund auf neu gestaltet, um die Modularität und Stabilität zu verbessern und sicherzustellen, dass sie mit den kontinuierlichen Fortschritten in GPU -Hardware und Grafik -Rendering -APIs Schritt halten kann. Es verfügt über eine modulare Architektur, mit der die Portierung der Datoviz-Technologie in Nicht-Vulkan-Umgebungen wie WebGPU-fähige Webbrowser (dank eines zweiten CZI-Zuschusss) ermöglicht wird.
Datoviz ist eng mit Visspy verwandt, da es von einem der Visspy -Mitbegründer entwickelt wird. Visspy 2.0, initiiert von Cyrille Rossant und Nicolas Rougier, wird über eine gemeinsame Visualisierungsschicht mit mittlerer Ebene mit dem Namen "Graphics Server Protocol (GSP) eine gemeinsame Visualisierungsschicht mit mittlerer Ebene namens" Graphics Server Protocol (GSP) "eine hochrangige wissenschaftliche API anbieten.
Die Langzeitvision gilt für leistungsstarke GPU-basierte 2D/3D-wissenschaftliche Visualisierung, die über mehrere Plattformen, Umgebungen (Desktop, Web, Cloud-basierte Remote-Visualisierung) und Programmiersprachen (C/C ++, Python, Julia, Rost usw.) einheitlich verfügbar ist.
Siehe die beitragenden Notizen.
Siehe die MIT -Lizenz.
Datoviz wurde von Cyrille Rossant im International Brain Laboratory entwickelt, einem Konsortium von Neurowissenschaftsforschungslabors auf der ganzen Welt.
Es wird insbesondere von der wichtigsten Open -Source -Software für Wissenschaftsprogramm von Chan Zuckerberg Initiative finanziert.