Pynaviz Widget Examples#
This guide shows how to generate example data using Pynapple
and visualize it using the widgets provided by pynaviz
.
Prerequisites#
To display Qt Widget, make sure PyQt6 is installed along with pynaviz
pip install pynaviz[pyqt6]
TsdWidget#
import numpy as np
import pynapple as nap
import pynaviz as viz
# Create a Tsd
tsd = nap.Tsd(t=np.arange(1000), d=np.sin(np.arange(1000) * 0.1))
# Show it in the viewer
v = viz.TsdWidget(tsd)
v.show()
TsdFrameWidget#
import numpy as np
import pynapple as nap
import pynaviz as viz
# Create a TsdFrame with two dimensions (cos and sin of a ramp)
tsdframe = nap.TsdFrame(
t=np.arange(1000),
d=np.stack((
np.cos(2 * np.pi * np.arange(0, 100, 0.1)),
np.sin(2 * np.pi * np.arange(0, 100, 0.1))
)).T,
metadata={"label": np.random.randn(2)}
)
# Show it in the viewer
v = viz.TsdFrameWidget(tsdframe)
v.show()
TsdTensorWidget#
import numpy as np
import pynapple as nap
import pynaviz as viz
# Create a TsdTensor (e.g. 10x10 channels over 1000 time steps)
tsdtensor = nap.TsdTensor(
t=np.arange(1000),
d=np.random.randn(1000, 10, 10)
)
# Show it in the viewer
v = viz.TsdTensorWidget(tsdtensor)
v.show()
TsGroupWidget#
import numpy as np
import pynapple as nap
import pynaviz as viz
# Simulate 10 spike trains with varying densities
tsg = nap.TsGroup({
i: nap.Ts(t=np.sort(np.random.uniform(0, 1000, 100 * (i + 1))))
for i in range(10)
}, metadata={"label": np.random.randn(10)})
# Display using TsGroupWidget
v = viz.TsGroupWidget(tsg)
v.show()