Attention: The Collaboratory IAM will down for up to 1 hour on today, the 8th of July 2025 starting from 4.30pm CEST (my timezone) for up to 1 hour. Any and all services, which require a user login with an EBRAINS account, will be un-available during that time

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 32.1
edited by rominabaila
on 2023/05/15 10:51
Change comment: There is no comment for this version
To version 16.1
edited by rominabaila
on 2022/04/12 13:13
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -1,46 +7,28 @@
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  
11 -== Backends ==
12 12  
13 -Starting with //**tvb-widgets 1.5.0**, //the TS widget comes in 2 forms, corresponding to the 2 different libraries (we called them backends) used for plotting: **matplotlib **and **plotly**. The matplotlib backend, build on top of the **mne** library, offers more advanced scientifical features, while the plotly backend has a more appealing look and moves faster when talking about the basic interactions.
14 -
15 -Below you can see the TS widget with each backend option (first one using the matplotlib backend, the second one using the plotly backend).
16 -
17 -(% style="text-align:center" %)
18 -[[image:matplotlib.png]]
19 -
20 -(% style="text-align:center" %)
21 -[[image:plotly.png]]
22 -
23 23  == Inputs ==
24 24  
25 -Time series can be given as inputs in two forms:
8 +It supports time series inputs of two types:
26 26  
27 27  * TVB TimeSeries datatype
28 28  * Numpy arrays
29 29  
30 -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:
31 31  
32 32  * for **2D**: (no_timepoints, no_channels)
33 33  * for **3D**: (no_timepoints, state_variable/mode, no_channels)
34 34  * for **4D**: (no_timepoints, state_variable, no_channels, mode)
35 35  
36 -~* Note that the TVB TimeSeries datatype is always 4D and already has the expected shape.
19 +~* Note that the TVB TimeSeries datatype is always 4D and already has the expected shape.
37 37  
38 38  == Requirements and installation ==
39 39  
40 -Before installing the tvb-widgets library containing the TimeSeries widget, the following python libraries and Jupyter extensions should be installed:
23 +Before installing the tvb-widgets library containing the TimeSeries widget, the following python libraries and  Jupyter Notebook extensions should be installed:
41 41  
42 42  * **Libraries:**
43 -** [[mne>>https://mne.tools/0.24/install/index.html]] version 0.24
44 44  ** [[ipympl>>https://github.com/matplotlib/ipympl#installation]]
45 45  * (((
46 46  **Extensions:**
... ... @@ -60,6 +60,7 @@
60 60  pip install tvb-widgets
61 61  )))
62 62  
45 +
63 63  == API usage ==
64 64  
65 65  First, the correct matplotlib backend must be set, which enables the interaction with the TimeSeries widget, by running the following command:
... ... @@ -69,7 +69,7 @@
69 69  %matplotlib widget
70 70  )))
71 71  
72 - Then, the **TimeSeriesWidget** (from the tvb-widgets API) and the **//display//** function should be imported:
55 + Then, the TimeSeries widget (from the tvb-widgets API) and the display function should be imported:
73 73  
74 74  (% class="box" %)
75 75  (((
... ... @@ -89,9 +89,9 @@
89 89  
90 90  (% class="box" %)
91 91  (((
92 -display(tsw)
75 +display(tsw.get_widget())
93 93  )))
94 94  
95 95  {{html}}
96 -<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>
79 +<iframe src="https://drive.google.com/file/d/1g4ryY1VIFMUD14Mb6Dq_KVb0b2_XU4VX/preview" width="840" height="480" allow="autoplay"></iframe>
97 97  {{/html}}
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