Wiki source code of Widget TimeSeries

Version 19.1 by ldomide on 2022/04/13 10:09

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 == Inputs ==
6
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, [[ipympl>>https://github.com/matplotlib/ipympl#installation]]
26 * (((
27 **Extensions:**
28
29 (% class="box" %)
30 (((
31 jupyter labextension install @jupyter-widgets/jupyterlab-manager
32
33 jupyter labextension install jupyter-matplotlib
34 )))
35 )))
36
37 Then, to install the tvb-widgets library, just type:
38
39 (% class="box" %)
40 (((
41 pip install tvb-widgets
42 )))
43
44 == API usage ==
45
46 First, the correct matplotlib backend must be set, which enables the interaction with the TimeSeries widget, by running the following command:
47
48 (% class="box" %)
49 (((
50 %matplotlib widget
51 )))
52
53 Then, the **TimeSeriesWidget** (from the tvb-widgets API) and the **//display//** function should be imported:
54
55 (% class="box" %)
56 (((
57 from tvbwidgets.api import TimeSeriesWidget
58 from IPython.core.display_functions import display
59 )))
60
61 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):
62
63 (% class="box" %)
64 (((
65 tsw = TimeSeriesWidget()
66 tsw.add_datatype(tsr)
67 )))
68
69 Finally, to display and interact with the TimeSeries widget, the **//get_widget//**// //method is used inside the //**display **//function:
70
71 (% class="box" %)
72 (((
73 display(tsw)
74 )))
75
76 {{html}}
77 <iframe src="https://drive.google.com/file/d/1g4ryY1VIFMUD14Mb6Dq_KVb0b2_XU4VX/preview" width="840" height="480" allow="autoplay"></iframe>
78 {{/html}}
Public

TVB Widgets