Warning:  Due to planned infrastructure maintenance, the EBRAINS Wiki and EBRAINS Support system will be unavailable for up to three days starting Monday, 14 July. During this period, both services will be inaccessible, and any emails sent to the support address will not be received.

Attention: The EBRAINS Chat will down on Thursday, the 10th of July 2025 starting from 18.00pm CEST (my timezone) for up to 1 hour. 

Warning: The EBRAINS Drive, EBRAINS Bucket and EBRAINS Lab will down today, Wednesday, the 9th of July 2025 starting from 19:30 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 29.1
edited by rominabaila
on 2023/05/15 10:46
Change comment: Uploaded new attachment "plotly.png", version {1}
To version 9.1
edited by rominabaila
on 2022/04/12 09:30
Change comment: Uploaded new attachment "image-20220412103041-1.png", version {1}

Summary

Details

Page properties
Content
... ... @@ -1,85 +7,47 @@
1 -Source code: [[https:~~/~~/github.com/the-virtual-brain/tvb-widgets>>url:https://github.com/the-virtual-brain/tvb-widgets]]
2 -
3 -This is part of a Pypi release: [[https:~~/~~/pypi.org/project/tvb-widgets/>>url:https://pypi.org/project/tvb-widgets/]]
4 -
5 -//**tvb-widgets**// is also already installed in the official image released for EBRAINS lab, where you can test it directly.
6 -
7 7  == Purpose ==
8 8  
9 -It is a Jupyter Widget intended for the visualization of brain signals represented as time series.
3 +It is a Jupyter widget intended for the visualization of brain signals represented as time series.
10 10  
5 +
11 11  == Inputs ==
12 12  
13 -Time series can be given as inputs in two forms:
8 +It supports time series inputs of two types:
14 14  
15 15  * TVB TimeSeries datatype
16 16  * Numpy arrays
17 17  
18 -This widget supports 2D, 3D, and 4D arrays. In all three cases, there is a fixed shape that the TimeSeries widget expects:
13 +The widget supports 2-, 3-, and 4-dimensional arrays. In all three cases, there is a fixed shape that the TimeSeries widget expects:
19 19  
20 20  * for **2D**: (no_timepoints, no_channels)
21 21  * for **3D**: (no_timepoints, state_variable/mode, no_channels)
22 22  * for **4D**: (no_timepoints, state_variable, no_channels, mode)
23 23  
24 -~* Note that the TVB TimeSeries datatype is always 4D and already has the expected shape.
19 +~* Note that the TVB TimeSeries datatype is always is always 4D and already has the expected shape.
25 25  
21 +
26 26  == Requirements and installation ==
27 27  
28 -Before installing the tvb-widgets library containing the TimeSeries widget, the following python libraries and Jupyter extensions should be installed:
24 +Before installing the tvb-widgets library containing the TimeSeries widget, the following python libraries and  Jupyter Notebook extensions should be installed:
29 29  
30 30  * **Libraries:**
31 -** [[mne>>https://mne.tools/0.24/install/index.html]] version 0.24
32 32  ** [[ipympl>>https://github.com/matplotlib/ipympl#installation]]
33 33  * (((
34 -**Extensions:**
29 +**Extensions:***
35 35  
36 36  (% class="box" %)
37 37  (((
38 38  jupyter labextension install @jupyter-widgets/jupyterlab-manager
34 +)))
39 39  
36 +* (% class="box" %)
37 +(((
40 40  jupyter labextension install jupyter-matplotlib
41 41  )))
42 42  )))
43 43  
44 -Then, to install the tvb-widgets library, just type:
42 +Then, to install the tvb-widgets library just type:
45 45  
46 46  (% class="box" %)
47 47  (((
48 48  pip install tvb-widgets
49 49  )))
50 -
51 -== API usage ==
52 -
53 -First, the correct matplotlib backend must be set, which enables the interaction with the TimeSeries widget, by running the following command:
54 -
55 -(% class="box" %)
56 -(((
57 -%matplotlib widget
58 -)))
59 -
60 - Then, the **TimeSeriesWidget** (from the tvb-widgets API) and the **//display//** function should be imported:
61 -
62 -(% class="box" %)
63 -(((
64 -from tvbwidgets.api import TimeSeriesWidget
65 -from IPython.core.display_functions import display
66 -)))
67 -
68 -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):
69 -
70 -(% class="box" %)
71 -(((
72 -tsw = TimeSeriesWidget()
73 -tsw.add_datatype(tsr)
74 -)))
75 -
76 -Finally, to display and interact with the TimeSeries widget, the **//get_widget//**// //method is used inside the //**display **//function:
77 -
78 -(% class="box" %)
79 -(((
80 -display(tsw)
81 -)))
82 -
83 -{{html}}
84 -<iframe width="840" height="480" src="https://www.youtube.com/embed/VmueiXMxbVk" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>
85 -{{/html}}
image-20220412103045-2.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.rominabaila
Size
... ... @@ -1,1 +1,0 @@
1 -680.1 KB
Content
matplotlib.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.rominabaila
Size
... ... @@ -1,1 +1,0 @@
1 -184.9 KB
Content
plotly.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.rominabaila
Size
... ... @@ -1,1 +1,0 @@
1 -351.7 KB
Content
Public

TVB Widgets