Wiki source code of Widget PSE
Version 12.1 by teodoramisan on 2023/07/21 11:37
Show last authors
| author | version | line-number | content |
|---|---|---|---|
| 1 | (% class="wikigeneratedid" id="HWidgetPSE" %) | ||
| 2 | Source code: [[https:~~/~~/github.com/the-virtual-brain/tvb-widgets>>https://github.com/the-virtual-brain/tvb-widgets]] | ||
| 3 | |||
| 4 | == **Purpose** == | ||
| 5 | |||
| 6 | |||
| 7 | It is composed of two separate Jupyter Widgets(PSE Launcher and PSE Visualizer) intended for the visualization of launching custom simulations. The launcher works locally and on HPC. | ||
| 8 | |||
| 9 | The simulation can be customized by: | ||
| 10 | |||
| 11 | * Getting a list of connectivities and an HPC configuration given as APIs | ||
| 12 | * Setting up parameters and ranges | ||
| 13 | * Selecting multiple metrics | ||
| 14 | * Observing the progress of the launch by a monitor progress bar | ||
| 15 | |||
| 16 | == **Inputs** == | ||
| 17 | |||
| 18 | * PSELauncher(Simulator, List_of_Connectivities) | ||
| 19 | * PSEVisualizer(Filename), the file will contain all the customized parameters from the launcher | ||
| 20 | |||
| 21 | == **Requirements and installation** == | ||
| 22 | |||
| 23 | Before installing the tvb-widgets library containing the PSE widgets, the following python library and Jupyter extensions should be installed: | ||
| 24 | |||
| 25 | * Libraries | ||
| 26 | ** [[plotly>>https://plotly.com/python/getting-started/#installation]] | ||
| 27 | * Extensions | ||
| 28 | |||
| 29 | (% class="box" %) | ||
| 30 | ((( | ||
| 31 | jupyter labextension install @jupyter-widgets/jupyterlab-manager | ||
| 32 | |||
| 33 | jupyter labextension install jupyter-matplotlib | ||
| 34 | ))) | ||
| 35 | |||
| 36 | Then, to install the tvb-widgets library, just type: | ||
| 37 | |||
| 38 | (% class="box" %) | ||
| 39 | ((( | ||
| 40 | pip install tvb-widgets | ||
| 41 | ))) | ||
| 42 | |||
| 43 | == **API usage ** == | ||
| 44 | |||
| 45 | First, the correct matplotlib backend must be set, which enables the interaction with the PSE widgets, by running the following command: | ||
| 46 | |||
| 47 | (% class="box" %) | ||
| 48 | ((( | ||
| 49 | %matplotlib widget | ||
| 50 | ))) | ||
| 51 | |||
| 52 | Then, the PSELauncher and PSEWidget(from the tvb-widgets API) and the package lab(from tvb simulator) should be imported: | ||
| 53 | |||
| 54 | (% class="box" %) | ||
| 55 | ((( | ||
| 56 | from tvbwidgets.api import PSELauncher, PSEWidget | ||
| 57 | from tvb.simulator.lab import * | ||
| 58 | ))) | ||
| 59 | |||
| 60 | The launcher widget can be initialized with the required parameters (simulator and the list of connectivities) as it shows below: | ||
| 61 | |||
| 62 | (% class="box" %) | ||
| 63 | ((( | ||
| 64 | sim = simulator.Simulator(connectivity = connectivity.Connectivity.from_file()) | ||
| 65 | conn_66 = connectivity.Connectivity.from_file("connectivity_66.zip") | ||
| 66 | conn_68 = connectivity.Connectivity.from_file("connectivity_68.zip") | ||
| 67 | conn_76 = connectivity.Connectivity.from_file() | ||
| 68 | launch = PSELauncher(sim, [conn_66, conn_68, conn_76]) | ||
| 69 | ))) | ||
| 70 | |||
| 71 | The outcome will be something like in the image bellow. | ||
| 72 | You can create a customized simulation by choosing different values for parameters, by setting ranges for them and by selecting the metrics for the simulation. | ||
| 73 | |||
| 74 | [[image:setup_parameters.png||alt="setup_parameters" style="float:left"]] | ||
| 75 | |||
| 76 | Then, a file name has to be inserted in the indicated box(for storing the data) and as a last set-up, a launch type has to be chosen. | ||
| 77 | |||
| 78 | [[image:launch.png||alt="launch" style="float:left"]] | ||
| 79 | |||
| 80 | A file with the name you specified will be generated. | ||
| 81 | |||
| 82 | Then, the PSEVisualizer can be called with the required parameter(file_name) as it shows below: | ||
| 83 | |||
| 84 | (% class="box" %) | ||
| 85 | ((( | ||
| 86 | pse = PSEWidget("test.h5") | ||
| 87 | ))) | ||
| 88 | |||
| 89 | The outcome will be something like in the image bellow. | ||
| 90 | |||
| 91 | There will be a representation for every metric that was chosen before, in the launcher. The widget has some features for the type of visualization, the change of color and the option for choosing between metrics. | ||
| 92 | |||
| 93 | [[image:result.png||alt="result" style="float:left"]] |