Interactive scripting#

Tags: interactivity

interactive scripting
/home/runner/work/docs/docs/.venv/lib/python3.12/site-packages/napari/_qt/qt_event_loop.py:50: UserWarning: System theme detection requires a Qt6 backend. Please switch to PyQt6 or PySide6 to use it.
  theme_type=get_system_theme(),
/home/runner/work/docs/docs/.venv/lib/python3.12/site-packages/napari/_qt/qt_event_loop.py:50: UserWarning: System theme detection requires a Qt6 backend. Please switch to PyQt6 or PySide6 to use it.
  theme_type=get_system_theme(),

import time

import numpy as np

import napari
from napari.qt import thread_worker

# create the viewer with an image
data = np.random.random((512, 512))
viewer = napari.Viewer()
layer = viewer.add_image(data)

def update_layer(data):
    layer.data = data

@thread_worker(connect={'yielded': update_layer})
def create_data(*, update_period, num_updates):
    # number of times to update
    for _k in range(num_updates):
        yield np.random.random((512, 512))
        time.sleep(update_period)

create_data(update_period=0.05, num_updates=50)

if __name__ == '__main__':
    napari.run()

Gallery generated by Sphinx-Gallery