[설치] [사용법] [사용자 안내서] [예제] [API 참조]
datoviz 는 크로스 플랫폼, 오픈 소스, 고성능 GPU 과학 데이터 시각화 라이브러리로 C/C ++ 로 작성된 Khronos Vulkan Graphics API 및 GLFW 창 라이브러리입니다. 파이썬에서 원시 CTypes 바인딩을 제공합니까? . 장기적으로 Datoviz는 대부분 Vispy 2.0 백엔드 로 사용됩니다.
수백만 포인트로 구성된 데이터 세트에 대한 속도, 시각적 품질 및 확장 성을 위해 설계된이 기능은 Dear Imgui를 통해 2D/3D 대화식 렌더링 및 최소 GUI를 지원합니다.
? 로드맵. 중기 적으로 : OS 및 하드웨어 호환성 증가, 더 많은 시각적, 상호 작용 패턴 및 GUI 컨트롤을 제공합니다. 장기적으로 : 선택, 사용자 정의 비주얼 및 셰이더, 비선형 변환, WebGPU/WebAssembly 호환성, Ipython, Jupyter 및 QT와의 통합.
크레딧 : 마우스 뇌 볼륨 : Allen SDK. 프랑스 : 자연 지구. 분자 : PDB의 S. pyogenes cas9의 결정 구조 (OBJ 메쉬로의 전환에 대한 Eric에게 감사). 지구 : Pixabay. 래스터 플롯 : IBL. 3D 인간 뇌 : Anneke Alkemade et al. 2020 년 Pierre-Louis Bazin과 Julia Huntenburg 덕분에.
이러한 기능은 현재 v0.3을 위해 계획되어 있습니다.
이러한 기능은 현재 V0.4 이상 으로 계획되어 있습니다.
요구 사항 :
참고 : 더 이상 Vulkan SDK를 설치하거나 라이브러리를 수동으로 구축 할 필요가 없습니다. Linux, Windows 및 MacOS 용 프리 컴파일 된 휠이 PYPI에 업로드되었습니다.
pip install datovizPython에서 간단한 산점도 플롯 예제 (임의의 위치, 색상 및 크기가있는 점).
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 개발자 중 한 명인 Cyrille Rossant는 Vulkan을 실험하기 시작했습니다.
2021 년 에 Datoviz v0.1 의 첫 실험 버전이 출시되었습니다. 이 초기 릴리스는 추가 개발을위한 토대를 마련했습니다.
향후 3 년간,이 기술은 2021 년 Vispy에 수여 된 Chan Zuckerberg 이니셔티브 (CZI) 보조금의 지원을 받았다.
2024 년 에 Datoviz v0.2가 출시되었습니다. 이 버전은 모듈성 및 안정성을 향상시키기 위해 처음부터 재 설계되어 GPU 하드웨어 및 그래픽 렌더링 API의 지속적인 발전에 보조를 맞출 수 있습니다. WebGPU 지원 웹 브라우저 (두 번째 CZI 보조금 덕분)와 같은 Vulkan 환경으로 Datoviz 기술을 포팅 할 수있는 모듈 식 아키텍처가 특징입니다.
Datoviz는 Vispy 공동 창립자 중 하나가 개발하고 있기 때문에 Vispy 와 밀접한 관련이 있습니다. Cyrille Rossant와 Nicolas Rougier가 시작한 Vispy 2.0은 "그래픽 서버 프로토콜 (GSP)"이라는 일반적인 중간 수준의 시각화 계층을 통해 Datoviz, Matplotlib 및 기타 렌더러 위에 고급 과학 API를 제공 할 것입니다.
장기 비전은 고성능 GPU 기반 2D/3D 과학적 시각화가 여러 플랫폼, 환경 (데스크탑, 웹, 클라우드 기반 원격 시각화) 및 프로그래밍 언어 (C/C ++, Python, Julia, Rust 등)에서 균일하게 사용할 수 있도록하는 것입니다.
기여 노트를 참조하십시오.
MIT 라이센스를 참조하십시오.
Datoviz는 Cyrille Rossant가 전 세계 신경 과학 연구 실험실의 컨소시엄 인 International Brain Laboratory에서 개발했습니다.
Chan Zuckerberg Initiative의 Essential Open Source 소프트웨어 소프트웨어에 의해 자금을 지원합니다.