[安装] [用法] [用户指南] [示例] [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的科学计划基本开源软件特别资助的。