[Установка] [Использование] [Руководство пользователя] [Примеры] [Ссылка на API]
⚡ Datoviz -это кроссплатформенная, высокопроизводительная библиотека научных визуализации данных с открытым исходным кодом, написанная в C/C ++ на вершине API Hkronos Vulkan Graphics и библиотеки окон GLFW . Он обеспечивает необработанные привязки Ctypes в Python? Полем В долгосрочной перспективе Datoviz в основном будет использоваться в качестве бэкэнда Vispy 2.0 .
Разработанный для скорости, визуального качества и масштабируемости для наборов данных, содержащих миллионы точек, он поддерживает 2D/3D интерактивный рендеринг и минимальный графический интерфейс через Dear Imgui.
? Дорожная карта. В среднесрочной перспективе: повышение совместимости ОС и аппаратного обеспечения, обеспечивая больше визуальных эффектов, шаблонов интерактивности и управления графическим интерфейсом. В долгосрочной перспективе: выбор, пользовательские визуальные эффекты и шейдеры, нелинейные преобразования, совместимость WebGPU/webassembly, интеграция с iPython, Jupyter и QT.
Кредиты: Объем мозга мыши: Allen SDK. Франция: природная земля. Молекула: кристаллическая структура S. pyogenes cas9 от PDB (благодаря Эрику за превращение в OBJ Mesh). Земля: Pixabay. Растровый сюжет: IBL. 3D человеческий мозг: Anneke Alkemade et al. 2020, благодаря Пьеру-Луи Базин и Джулии Хантенбург.
Эти функции в настоящее время запланированы на v0.3 :
Эти функции в настоящее время запланированы на V0.4 и позже :
Требования:
Примечание : вам больше не нужно устанавливать Vulkan SDK или вручную построить библиотеку. Предварительные колеса для Linux, Windows и MacOS были загружены в PYPI.
pip install datovizПростой пример графика рассеяния (точки со случайными положениями, цветами и размерами) в Python, который внимательно следит за 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 )Проверьте документацию примеров для получения дополнительной информации.
В 2012 году разработчики различных библиотек научной визуализации GPU (Galry, Glumpy, Pyqtgraph, Visvis) сотрудничали для создания виспи , библиотеки научной визуализации на основе OpenGL для Python.
В 2015 году Хронос объявил Вулкан , преемник OpenGL, вызывая идею будущей библиотеки визуализации на основе Вулкана.
В 2019 году Кириль Россант, один из оригинальных разработчиков Vispy, начал экспериментировать с Vulkan.
В 2021 году была выпущена первая экспериментальная версия Datoviz V0.1 . Этот первоначальный выпуск заложил основу для дальнейшего развития.
В течение следующих трех лет технология повзрослела в результате гранта инициативы Чан Цукерберг (CZI), присужденного VISPY в 2021 году .
В 2024 году выпущен Datoviz v0.2 . Эта версия перепроектирована с нуля, чтобы улучшить модульность и стабильность, гарантируя, что она может идти в ногу с непрерывными достижениями в аппаратном и графическом оборудовании GPU и графике. Он оснащен модульной архитектурой, которая позволит портировать технологию DatoViz в не вулканские среды, такие как веб-браузеры с поддержкой WebGPU (благодаря второму гранту CZI).
Datoviz тесно связан с Vispy , так как он разрабатывается одним из соучредителей Vispy. Vispy 2.0, инициированный Cyrille Rossant и Nicolas Rougier, предложит научный API высокого уровня в дополнение к Datoviz, Matplotlib и другим рендеристам через общий уровень визуализации среднего уровня под названием «Протокол графического сервера (GSP)».
Долгосрочное видение предназначено для высокопроизводительного 2D/3D научной визуализации на основе GPU, которая будет равномерно доступна на нескольких платформах, средах (настольный компьютер, веб-сайт, облачная дистанционная визуализация) и языки программирования (C/C ++, Python, Julia, Rust и т. Д.).
Смотрите примечания.
Смотрите лицензию MIT.
Datoviz разрабатывается Сирилем Россантом из Международной лаборатории мозга, консорциума лабораторий исследований нейробиологии по всему миру.
Он финансируется в значительной степени благодаря важной программе Инициативы Chan Zuckerberg Insivey Open Source For Science.