[Instalação] [Uso] [Guia do Usuário] [Exemplos] [Referência da API]
⚡️ O DATOVIZ é uma biblioteca de dados científicos de dados científicos da GPU, de plataforma aberta e de alto desempenho, escrito em C/C ++ na parte superior da API de gráficos Khronos Vulkan e da biblioteca de janelas GLFW . Ele fornece ligações cruas de ctypes em Python? . A longo prazo, o DATOVIZ será usado principalmente como um back -end visposo 2.0 .
Projetado para velocidade, qualidade visual e escalabilidade para conjuntos de dados que compreendem milhões de pontos, ele suporta renderização interativa 2D/3D e GUIs mínimas por meio de caro imgui.
? Roteiro. No médio prazo: o aumento da compatibilidade do sistema operacional e do hardware, fornecendo mais visuais, padrões de interatividade e controles da GUI. A longo prazo: Escolha, visuais e shaders personalizados, transformações não lineares, compatibilidade com WebGPU/WebAssembly, integração com ipython, jupyter e qt.
Créditos: Volume cerebral do mouse: Allen SDK. França: Terra natural. Molécula: Estrutura cristalina de S. pyogenes Cas9 do PDB (graças a Eric pela conversão em malha obj). Terra: Pixabay. Lote raster: ibl. Cérebro humano 3D: Anneke Alkemade et al. 2020, graças a Pierre-Louis Bazin e Julia Huntenburg.
Atualmente, esses recursos estão planejados para v0.3 :
Atualmente, esses recursos estão planejados para v0.4 e mais tarde :
Requisitos:
NOTA : Você não precisa mais instalar o SDK Vulkan ou para construir manualmente a biblioteca. As rodas pré -compiladas para Linux, Windows e MacOS foram carregadas para Pypi.
pip install datovizExemplo simples de plotagem de dispersão (pontos com posições aleatórias, cores e tamanhos) no Python, que seguem de perto a 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 )Confira a documentação dos exemplos para obter mais exemplos de uso.
Em 2012 , desenvolvedores de várias bibliotecas de visualização científica da GPU (Galry, Glumpy, Pyqtgraph, Visvis) colaboraram para criar vispy , uma biblioteca de visualização científica baseada em OpenGL para Python.
Em 2015 , Vulkan , o sucessor do OpenGL, foi anunciado pela Khronos, provocando a idéia de uma futura biblioteca de visualização baseada em Vulkan.
Em 2019 , Cyrille Rossant, um dos desenvolvedores de visita original, começou a experimentar Vulkan.
Em 2021 , a primeira versão experimental do DATOVIZ v0.1 foi lançada. Este lançamento inicial lançou as bases para um desenvolvimento posterior.
Nos três anos seguintes, a tecnologia amadureceu, auxiliada por uma concessão de Chan Zuckerberg Initiative (CZI) concedida à Vispy em 2021 .
Em 2024 , o DATOVIZ V0.2 é lançado. Esta versão é redesenhada desde o início para melhorar a modularidade e a estabilidade, garantindo que ela possa acompanhar os avanços contínuos nas APIs de renderização de hardware e gráficos da GPU. Possui uma arquitetura modular que permitirá que a porte da tecnologia DATOVIZ para ambientes não vulkan, como navegadores da Web habilitados para WebGPU (graças a uma segunda concessão da CZI).
O DATOVIZ está intimamente relacionado à visppia , pois está sendo desenvolvido por um dos co -fundadores visppíses. O Vispy 2.0, iniciado por Cyrille Rossant e Nicolas Rougier, oferecerá uma API científica de alto nível em cima do DATOVIZ, MATPLOTLIB e outros renderizadores por meio de uma camada de visualização de nível médio comum chamada "Protocol de servidor Graphics (GSP)".
A visão de longo prazo é para a visualização científica 2D/3D baseada em GPU, baseada em GPU de alto desempenho, para estar uniformemente disponível em várias plataformas, ambientes (desktop, Web, visualização remota baseada em nuvem) e linguagens de programação (C/C ++, Python, Julia, Rust, etc.).
Veja as notas contribuintes.
Veja a licença do MIT.
O DATOVIZ é desenvolvido por Cyrille Rossant no International Brain Laboratory, um consórcio de laboratórios de pesquisa em neurociência em todo o mundo.
É financiado notavelmente pelo software essencial de código aberto da iniciativa Chan Zuckerberg.