Wiki source code of Widget TimeSeries

Version 16.1 by rominabaila on 2022/04/12 13:13

Show last authors
1 == Purpose ==
2
3 It is a Jupyter widget intended for the visualization of brain signals represented as time series.
4
5
6 == Inputs ==
7
8 It supports time series inputs of two types:
9
10 * TVB TimeSeries datatype
11 * Numpy arrays
12
13 The widget supports 2-, 3-, and 4-dimensional arrays. In all three cases, there is a fixed shape that the TimeSeries widget expects:
14
15 * for **2D**: (no_timepoints, no_channels)
16 * for **3D**: (no_timepoints, state_variable/mode, no_channels)
17 * for **4D**: (no_timepoints, state_variable, no_channels, mode)
18
19 ~* Note that the TVB TimeSeries datatype is always 4D and already has the expected shape.
20
21 == Requirements and installation ==
22
23 Before installing the tvb-widgets library containing the TimeSeries widget, the following python libraries and  Jupyter Notebook extensions should be installed:
24
25 * **Libraries:**
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
46 == API usage ==
47
48 First, the correct matplotlib backend must be set, which enables the interaction with the TimeSeries widget, by running the following command:
49
50 (% class="box" %)
51 (((
52 %matplotlib widget
53 )))
54
55 Then, the TimeSeries widget (from the tvb-widgets API) and the display function should be imported:
56
57 (% class="box" %)
58 (((
59 from tvbwidgets.api import TimeSeriesWidget
60 from IPython.core.display_functions import display
61 )))
62
63 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):
64
65 (% class="box" %)
66 (((
67 tsw = TimeSeriesWidget()
68 tsw.add_datatype(tsr)
69 )))
70
71 Finally, to display and interact with the TimeSeries widget, the **//get_widget//**// //method is used inside the //**display **//function:
72
73 (% class="box" %)
74 (((
75 display(tsw.get_widget())
76 )))
77
78 {{html}}
79 <iframe src="https://drive.google.com/file/d/1g4ryY1VIFMUD14Mb6Dq_KVb0b2_XU4VX/preview" width="840" height="480" allow="autoplay"></iframe>
80 {{/html}}
Public

TVB Widgets