Changes for page Widget PSE

Last modified by teodoramisan on 2023/07/21 14:55

From version 5.1
edited by teodoramisan
on 2023/03/24 15:56
Change comment: Uploaded new attachment "launch.png", version {1}
To version 18.1
edited by teodoramisan
on 2023/07/21 12:17
Change comment: Deleted image "launch.png"

Summary

Details

Page properties
Title
... ... @@ -1,0 +1,1 @@
1 +Widget PSE
Parent
... ... @@ -1,0 +1,1 @@
1 +Collabs.tvb-widgets.WebHome
Content
... ... @@ -1,0 +1,120 @@
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, HPC Configuration)
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 more parameters: a simulator, a list of connectivities and an HPC configuration (only the simulator being a required argument). For HPC launch, besides the configuration part, an EBrains token needs to be stored. A custom initialization, which includes the HPC launch, is shown below:
61 +
62 +(% class="box" %)
63 +(((
64 +os.environ['CLB_AUTH'] = 'PUT YOUR EBRAINS TOKEN HERE IF YOU WANT HPC RUNS'
65 +
66 +from pyunicore.helpers.jobs import Resources
67 +res = Resources(cpus_per_node=4)
68 +
69 + # !! Pay attention to env name and dir you might need to change if in conflict on the SAME project with another colleague of yours!!
70 +
71 +hpc_config = HPCConfig(site="JUSUF", project="icei-hbp-2021-0007", 
72 + env_dir="tvb_widget", env_name="venv_tvb", n_threads=None, resources=res)
73 +)))
74 +
75 +(% class="box" %)
76 +(((
77 +sim = simulator.Simulator(connectivity = connectivity.Connectivity.from_file())
78 +conn_66 = connectivity.Connectivity.from_file("connectivity_66.zip")
79 +conn_68 = connectivity.Connectivity.from_file("connectivity_68.zip")
80 +conn_76 = connectivity.Connectivity.from_file()
81 +launch = PSELauncher(sim, [conn_66, conn_68, conn_76], hpc_config)
82 +)))
83 +
84 +The outcome will be something like in the image bellow.
85 +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.
86 +
87 +[[image:setup_parameters.png||alt="setup_parameters" style="float:left"]]
88 +
89 +
90 +
91 +
92 +
93 +
94 +
95 +
96 +
97 +
98 +
99 +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.
100 +
101 +
102 +The progress of the launch can be monitored by a progress bar, as shown below:
103 +
104 +(% style="text-align:center" %)
105 +[[image:image-20230721150554-1.png]]
106 +
107 +A file with the name you specified will be generated in both approaches, HPC or local launch.
108 +
109 +Then, the PSEVisualizer can be called with the required parameter(file_name) as it shows below:
110 +
111 +(% class="box" %)
112 +(((
113 +pse = PSEWidget("test.h5")
114 +)))
115 +
116 + The outcome will be something like in the image bellow.
117 +
118 + 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.
119 +
120 +[[image:result.png||alt="result" style="float:left"]]
launch.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.teodoramisan
Size
... ... @@ -1,1 +1,0 @@
1 -236.9 KB
Content
image-20230721150554-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.teodoramisan
Size
... ... @@ -1,0 +1,1 @@
1 +21.3 KB
Content
image-20230721151330-2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.teodoramisan
Size
... ... @@ -1,0 +1,1 @@
1 +21.4 KB
Content
XWiki.DocumentSheetBinding[0]
Sheet
... ... @@ -1,0 +1,1 @@
1 +Collaboratory.Apps.Article.Code.ArticleViewSheet
XWiki.DocumentSheetBinding[1]
Sheet
... ... @@ -1,0 +1,1 @@
1 +Collaboratory.Apps.Article.Code.ArticlePreviewSheet
Public

TVB Widgets