Changes for page Widget PhasePlane
Last modified by ldomide on 2023/03/08 17:28
From version 1.2
edited by teodoramisan
on 2023/01/03 12:03
on 2023/01/03 12:03
Change comment:
There is no comment for this version
To version 3.1
edited by teodoramisan
on 2023/01/03 13:35
on 2023/01/03 13:35
Change comment:
There is no comment for this version
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -6,31 +6,93 @@ 6 6 7 7 It is a Jupyter Widget intended for the visualization of the interactive phase-plane. 8 8 9 -It provides sliders for setting: 9 +It provides **//sliders//** for setting: 10 10 11 -* 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 +))) 12 12 13 -{{{ The value of all parameters of the Model.}}} 14 -* 24 +and **//dropdown lists//** for selecting: 15 15 16 -{{{ The extent of the axes.}}} 17 -* 26 +* ((( 27 + Which state-variables to show on each axis. 28 +))) 29 +* ((( 30 + Which mode to show, if the Model has them. 31 +))) 18 18 19 - {{{ A fixedvalueforheate-variables whicharen't currentlyselected.}}}20 - *33 +Entering the coordinates in the X,Y Coordinate Boxes will generate a sample 34 +trajectory, originating from the coordinates entered. 21 21 22 - {{{Thenoise strength, if astochasticintegrator is specified.}}}36 +== Inputs == 23 23 24 -an ddropdownlistsforselecting:38 +Phase-Plane viewer will be represented in the beginning based on the parameters that it receives: 25 25 26 -* 40 +* Model (Generic2dOscillator, Epileptor, Hopfield, etc.) 41 +* Integrator (HeunDeterministic, HeunStochastic, Identity, etc.) 27 27 28 -{{{ Which state-variables to show on each axis. 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 * 29 29 }}} 30 -* 31 31 32 -{{{ Which mode to show, if the Model has them.}}} 82 +{{{from IPython.core.display_functions import display}}} 83 +))) 33 33 85 +The widget can be initialized with the required parameters (Model and Integrator) as it shows below: 34 34 35 -{{{Entering the coordinates in the X,Y Coordinate Boxes will generate a sample 36 -trajectory, originating from the coordinates entered.}}} 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 +)))