Warning: The EBRAINS Drive and EBRAINS Lab will down on Tuesday, the 8th of July 2025 starting from 5pm CEST (my timezone) for up to 1 hour.


Changes for page Widget TimeSeries

Last modified by ldomide on 2023/05/23 14:34

From version 5.1
edited by rominabaila
on 2022/04/12 09:11
Change comment: There is no comment for this version
To version 20.1
edited by rominabaila
on 2022/04/14 16:30
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -2,7 +2,78 @@
2 2  
3 3  It is a Jupyter widget intended for the visualization of brain signals represented as time series.
4 4  
5 -
6 6  == Inputs ==
7 7  
8 -The inputs
7 +Time series can be given as inputs in two forms:
8 +
9 +* TVB TimeSeries datatype
10 +* Numpy arrays
11 +
12 +This widget supports 2D, 3D, and 4D arrays. In all three cases, there is a fixed shape that the TimeSeries widget expects:
13 +
14 +* for **2D**: (no_timepoints, no_channels)
15 +* for **3D**: (no_timepoints, state_variable/mode, no_channels)
16 +* for **4D**: (no_timepoints, state_variable, no_channels, mode)
17 +
18 +~* Note that the TVB TimeSeries datatype is always 4D and already has the expected shape.
19 +
20 +== Requirements and installation ==
21 +
22 +Before installing the tvb-widgets library containing the TimeSeries widget, the following python libraries and Jupyter extensions should be installed:
23 +
24 +* **Libraries:**
25 +** [[mne>>https://mne.tools/0.24/install/index.html]] version 0.24
26 +** [[ipympl>>https://github.com/matplotlib/ipympl#installation]]
27 +* (((
28 +**Extensions:**
29 +
30 +(% class="box" %)
31 +(((
32 +jupyter labextension install @jupyter-widgets/jupyterlab-manager
33 +
34 +jupyter labextension install jupyter-matplotlib
35 +)))
36 +)))
37 +
38 +Then, to install the tvb-widgets library, just type:
39 +
40 +(% class="box" %)
41 +(((
42 +pip install tvb-widgets
43 +)))
44 +
45 +== API usage ==
46 +
47 +First, the correct matplotlib backend must be set, which enables the interaction with the TimeSeries widget, by running the following command:
48 +
49 +(% class="box" %)
50 +(((
51 +%matplotlib widget
52 +)))
53 +
54 + Then, the **TimeSeriesWidget** (from the tvb-widgets API) and the **//display//** function should be imported:
55 +
56 +(% class="box" %)
57 +(((
58 +from tvbwidgets.api import TimeSeriesWidget
59 +from IPython.core.display_functions import display
60 +)))
61 +
62 +Assuming that the user has already created or imported a valid input, this is how the widget can be initialized and how an input can be assigned to it, using the //**add_datatype** //method (example below assumes that **//tsr//  **is a TVB TimeSeries datatype):
63 +
64 +(% class="box" %)
65 +(((
66 +tsw = TimeSeriesWidget()
67 +tsw.add_datatype(tsr)
68 +)))
69 +
70 +Finally, to display and interact with the TimeSeries widget, the **//get_widget//**// //method is used inside the //**display **//function:
71 +
72 +(% class="box" %)
73 +(((
74 +display(tsw)
75 +)))
76 +
77 +{{html}}
78 +<iframe src="https://drive.google.com/file/d/1g4ryY1VIFMUD14Mb6Dq_KVb0b2_XU4VX/preview" width="840" height="480" allow="autoplay"></iframe>
79 +{{/html}}
image-20220412103041-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.rominabaila
Size
... ... @@ -1,0 +1,1 @@
1 +680.1 KB
Content
image-20220412103045-2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.rominabaila
Size
... ... @@ -1,0 +1,1 @@
1 +680.1 KB
Content
Public

TVB Widgets