Thanks to visit codestin.com
Credit goes to github.com

Skip to content

fastplotlib/fastplotlib

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

87 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

fastplotlib

Gitter

A fast plotting library built using the pygfx render engine that can use Vulkan, so it is very fast!

Checkout pygfx! https://github.com/pygfx/pygfx

fastplotlib is very experimental but you're welcome to try it out or contribute!

Questions, ideas? Chat on gitter: https://gitter.im/fastplotlib/community?utm_source=share-link&utm_medium=link&utm_campaign=share-link

Examples

See the examples dir. Start out with simple.ipynb which uses the high level API.

Simple image plot

from fastplotlib import Plot
import numpy as np

plot = Plot()

data = (np.random.rand(512, 512) * 255).astype(np.float32)
plot.image(data=data,  vmin=0, vmax=255, cmap='viridis')

plot.show()

Fast image updates (video)

from fastplotlib import Plot
import numpy as np

plot = Plot()

data = (np.random.rand(512, 512) * 255).astype(np.float32)
image = plot.image(data=data,  vmin=0, vmax=255, cmap='viridis')

def update_data():
    new_data = (np.random.rand(512, 512) * 255).astype(np.float32)
    image.update_data(new_data)

plot.add_animations([update_data])

plot.show()

Installation

Install directly from GitHub until I stabilize things.

pip install git+https://github.com/kushalkolar/fastplotlib.git

Don't install from PYPI (I had to take the name fastplotlib before someone else did).

You will need a GPU that supports Vulkan (iGPUs in CPUs should be fine). Generally if your GPU is from 2017 or later it should support Vulkan.

For development

git clone https://github.com/kushalkolar/fastplotlib.git
cd fastplotlib
pip install -e .

# try the examples
cd examples
jupyter lab

Install Vulkan drivers and other stuff

For more information see: https://github.com/pygfx/wgpu-py#platform-requirements

Windows:

Apparently Vulkan should be installed by default on Windows 11.

Linux:

Debian based distros:

sudo apt install mesa-vulkan-drivers
# for better performance with the remote frame buffer install libjpeg-turbo
sudo apt install libjpeg-turbo

For other distros use Google to find the appropriate vulkan driver package

Mac OSX:

You will need at least MacOSX v10.13, not sure how to install Vulkan drivers on Mac but you can probably find instructions on the internet.

Extremely fast image updates, 5 x 5 gridplot

https://www.youtube.com/embed/-_0Gp_EqepI

Very fast image updates with some synced controllers

fpl_fast_image_updates.mp4

Scatter plot

fastplotlib_scatter-2022-04-27_01.47.27.mp4

Lineplot

fpl_lineplot.mp4