Wiki source code of Widget TimeSeries

Version 15.1 by rominabaila on 2022/04/12 11:31

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

TVB Widgets