Attention: The Keycloak upgrade has been completed. As this was a major upgrade, there may be some unexpected issues occurring. Please report any issues you find to support by using the contact form found at https://www.ebrains.eu/contact/. Thank you for your patience and understanding. 


Wiki source code of Widget PhasePlane

Version 2.1 by teodoramisan on 2023/01/03 13:34

Show last authors
1 Source code: [[https:~~/~~/github.com/the-virtual-brain/tvb-widgets>>https://github.com/the-virtual-brain/tvb-widgets]]
2
3 Immediate testing: [[https:~~/~~/lab.ch.ebrains.eu/user/teodoramisan/lab/workspaces/auto-3/tree/shared/TVB%20Widgets/REPO/tvb-widgets/notebooks/PhasePlane.ipynb>>https://lab.ch.ebrains.eu/user/teodoramisan/lab/workspaces/auto-3/tree/shared/TVB%20Widgets/REPO/tvb-widgets/notebooks/PhasePlane.ipynb]]
4
5 == Purpose ==
6
7 It is a Jupyter Widget intended for the visualization of the interactive phase-plane.
8
9 It provides sliders for setting:
10
11 * (((
12 The value of all parameters of the Model.
13 )))
14 * (((
15 The extent of the axes.
16 )))
17 * (((
18 A fixed value for the state-variables which aren't currently selected.
19 )))
20 * (((
21 The noise strength, if a stochastic integrator is specified.
22 )))
23
24 and dropdown lists for selecting:
25
26 * (((
27 Which state-variables to show on each axis.
28 )))
29 * (((
30 Which mode to show, if the Model has them.
31 )))
32
33 Entering the coordinates in the X,Y Coordinate Boxes will generate a sample
34 trajectory, originating from the coordinates entered.
35
36 == Inputs ==
37
38 Phase-Plane viewer will be represented in the beginning based on the parameters that it receives:
39
40 * Model (Generic2dOscillator, Epileptor, Hopfield, etc.)
41 * Integrator (HeunDeterministic, HeunStochastic, Identity, etc.)
42
43 == Requirements and installation ==
44
45 Before installing the tvb-widgets library containing the PhasePlane widget, the following python libraries and Jupyter extensions should be installed:
46
47 * **Libraries:​​​​​**
48 ** ​​​​​​[[ipympl>>https://github.com/matplotlib/ipympl#installation]]
49 * **Extensions:**
50
51 (% class="box" %)
52 (((
53 jupyter labextension install @jupyter-widgets/jupyterlab-manager
54
55 jupyter labextension install jupyter-matplotlib
56 )))
57
58 Then, to install the tvb-widgets library, just type:
59
60 (% class="box" %)
61 (((
62 pip install tvb-widgets
63 )))
64
65 == API usage ==
66
67 First, the correct matplotlib backend must be set, which enables the interaction with the TimeSeries widget, by running the following command:
68
69 (% class="box" %)
70 (((
71 %matplotlib widget
72 )))
73
74 Then, the PhasePlaneWidget (from the tvb-widgets API), the package lab (from tvb simulator) and the display function should be imported:
75
76 (% class="box" %)
77 (((
78 {{{from tvbwidgets.api import PhasePlaneWidget
79 from tvb.simulator.lab import *
80 }}}
81
82 {{{from IPython.core.display_functions import display}}}
83 )))
84
85 The widget can be initialized with the required parameters (Model and Integrator) as it shows below:
86
87 (% class="box" %)
88 (((
89 {{{w = PhasePlaneWidget(model=models.Generic2dOscillator(),
90 integrator=integrators.HeunDeterministic())}}}
91 )))
92
93 Finally, to display and interact with the PhasePlane widget, the **//get_widget//**// //method is used inside the //**display **//function:
94
95 (% class="box" %)
96 (((
97 {{{display(w.get_widget(plot_size=(6,7)))}}}
98 )))
Public

TVB Widgets