Last modified by teodoramisan on 2026/02/13 10:11

From version 77.2
edited by teodoramisan
on 2026/02/13 10:05
Change comment: There is no comment for this version
To version 66.1
edited by teodoramisan
on 2026/02/12 11:25
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -8,7 +8,7 @@
8 8  
9 9  == Purpose ==
10 10  
11 -This is a Jupyter Lab extension that offers graphical support for TVB and VBI workflows. It is already available in the EBRAINS Lab and it allows users to configure and execute TVB simulations and VBI inference workflows directly from a GUI, while drastically reducing the complexity of configuring them inside a Jupyter Lab notebook.
11 +This is a Jupyter Lab extension that offers graphical support for TVB and VBI workflows. It is already available in the EBRAINS Lab and it allows users to configure and execute TVB simulations and VBI inference workflows directly from a GUI, while drastically reducing the complexity of configuring them inside a Jupyter Lab notebook. Try edit
12 12  
13 13  {{html}}
14 14  <iframe width="1200" height="450" src="https://www.youtube.com/embed/-cjZOsU6PBg" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>
... ... @@ -61,13 +61,13 @@
61 61  
62 62  The components that are provided in this extensions are configurable, meaning you can set some parameters on almost every component. Some of the parameters are literals, while some parameters are results of other components.
63 63  
64 -Parameters marked with a star () are mandatory, the workflow will not run until all required parameters have values assigned.
64 +Parameters marked with a star (*) are mandatory, the workflow will not run until all required parameters have values assigned.
65 65  
66 66  In case of primitives you need to open the //General// tab from the components tray and drag the appropriate //literal//: float, int, string, dict, etc.
67 67  
68 68  The parameters need to be linked to the inputs of the component by dragging and dropping a connection from the output port of a literal/component towards the corresponding input port of the other component (e.g. the gray connections in the screenshot below).
69 69  
70 -Components and parameters include info buttons (**i**) that explain their purpose and how they are used (e.g. the simulator info panel below).
70 +Components and parameters include info buttons (i) that explain their purpose and how they are used (e.g. the simulator info panel below).
71 71  
72 72  [[image:Screenshot 2026-02-12 115445.png||alt="diagr.png" height="592" width="1100"]]
73 73  
... ... @@ -130,7 +130,7 @@
130 130  To use this functionality, drag any model from the **TVB_MODELS** (inside the components tray) into the workflow area. Then right click on the model and select the **Open Viewer** option:
131 131  
132 132  
133 -[[image:open-viewer-on-models.png||alt="image-20221116125354-2.png" data-xwiki-image-style-alignment="center" height="593" width="1100"]]
133 +[[image:open-viewer-on-models.png||alt="image-20221116125354-2.png" data-xwiki-image-style-alignment="center" height="800" width="1130"]]
134 134  
135 135  
136 136  A new Jupyter tab should open, which contains a read-only Jupyter notebook. After following the instructions provided there, you should be able to see the Phase Plane widget associated with this particular model.
... ... @@ -139,44 +139,23 @@
139 139  
140 140  After configuring the parameters with the desired values, go to the Exports tab of the widget and click on **Export model configuration**. Now all you have to do is to go back to the tab where your workflow is and you will see that the model will have values set for all the parameters that you modified in the Phase Plane widget (that is all the parameters there were assigned values different than the default ones).
141 141  
142 -[[image:export-model-configuration.png||alt="image-20221116130425-1.png" data-xwiki-image-style-alignment="center" height="763" width="1000"]]
142 +[[image:export-model-configuration.png||alt="image-20221116130425-1.png" data-xwiki-image-style-alignment="center" height="900" width="1069"]]
143 143  
144 144  
145 -=== 2. Visualize time series resulted from TVB simulations ===
145 +=== 2. Visualize time series resulted from simulations ===
146 146  
147 147  This functionality is available for the **StoreResultsToDrive** component. Right click on the **StoreResultsToDrive** and select the **Open Viewer** option:
148 148  
149 -[[image:open-viewer-button.png||alt="view.png" height="591" width="1100"]]
149 +[[image:open-viewer-button.png||alt="view.png"]]
150 150  
151 151  A new Jupyter tab should open, which contains a read-only Jupyter notebook. After running the cell, you should be able to see the **TimeSeriesBrowser **widget with the //**Collab**// and //**folder**// you have chosen for the **StoreResultsToDrive **component already loaded.
152 152  
153 -[[image:view2.png||height="576" width="1100"]]
153 +[[image:view2.png]]
154 154  
155 155  Next, you should choose which time series file to display and click the **View time series button**.
156 156  
157 -[[image:timeseries-plotly.png||alt="view3.png" height="593" width="1100"]]
157 +[[image:timeseries-plotly.png||alt="view3.png"]]
158 158  
159 -
160 -=== 3. Visualize posterior samples with a pairplot (VBI inferenece) ===
161 -
162 -This functionality is available for the **SamplePosterior** component. Right click on the component and select the **Open Viewer** functionality.
163 -
164 -This opens a new JupyterLab tab with an editable notebook. After following the instructions in the notebook, you will generate a pairplot of the posterior samples, showing the distribution of each parameter (uncertainty) and the relationships between parameters.
165 -
166 -*Make sure the workflow has been executed so the viewer has data to load.
167 -
168 -[[image:plot-posteriors.png||height="593" width="1100"]]
169 -
170 -
171 -=== 4. Visualize time series from VBI simulations ===
172 -
173 -This functionality is available for the **SimulationRunner** component. Right click on the component and select the **Open Viewer** functionality.
174 -
175 -This opens a new JupyterLab tab with an editable notebook. After following the instructions in the notebook, you will see a simple time-series plot of the simulated model signal over time.
176 -
177 -*Make sure the workflow has been executed so the viewer has data to load.
178 -[[image:plot-timeseries-vbi.png||height="592" width="1100"]]
179 -
180 180  == ==
181 181  
182 182  == Workflow examples ==
... ... @@ -185,23 +185,15 @@
185 185  === 1. Full TVB Simulation workflow ===
186 186  )))
187 187  
188 -Contains all TVB components necessary for running a TVB simulation (e.g., connectivity, coupling, model, integrator, monitor, simulator).
167 +Contains all TVB components necessary for running a TVB simulation (i.e. connectivity, coupling, model, integrator, monitor, simulator).
189 189  
190 190  {{html}}
191 191  <iframe width="1280" height="720" src="https://www.youtube.com/embed/bmqPlIJsWLk" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>
192 192  {{/html}}
193 193  
194 -=== 2. Full VBI Inference workflow ===
195 195  
196 -Contains all VBI components required to run an inference workflow, from prior sampling and simulation to posterior training and posterior sampling.
174 +=== 2. Configuring model parameters using the PhasePlaneWidget: ===
197 197  
198 -The workflow starts with **ConfigInference**, which builds the configuration inputs needed by the workflow. It samples parameter values from the prior distribution to generate theta and prepares the feature-extraction configuration (cfg) used later in the pipeline.
199 -
200 -
201 -[[image:vbi_workflow.png||height="590" width="1100"]]
202 -
203 -=== 3. Configuring model parameters using the PhasePlaneWidget: ===
204 -
205 205  Same workflow as before, but the parameter for the model used in simulation are set using the PhasePlaneWidget.
206 206  
207 207  {{html}}
... ... @@ -208,8 +208,9 @@
208 208  <iframe width="1280" height="720" src="https://www.youtube.com/embed/jhGfYul1z9k" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>
209 209  {{/html}}
210 210  
211 -=== 4. Using siibra to retrieve connectivities from the EBRAINS KG ===
212 212  
183 +=== 3. Using siibra to retrieve connectivities from the EBRAINS KG ===
184 +
213 213  A simulation workflow where **siibra **is used to retrieve a connectivity from the EBRAINS KG. That connectivity is fed into a TVB Simulator, where the rest of the parameters (coupling, model, etc.) are set to default values.
214 214  
215 215  {{html}}
... ... @@ -216,18 +216,10 @@
216 216  <iframe width="1280" height="720" src="https://www.youtube.com/embed/hnqTpFGCYMg" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>
217 217  {{/html}}
218 218  
219 -=== 5. Run a workflow as an HPB job ===
220 220  
192 +=== 4. Run a workflow as an HPB job ===
193 +
221 221  A workflow simulation which is run remotely, by submitting a job to an HPC site and getting back the results (TimeSeries object).
222 222  
223 -=== 6. Parallel simulations workflow ===
224 -
225 -This example demonstrates **Parameter Space Exploration** (PSE) by running multiple TVB simulations in parallel for different parameter combinations.
226 -
227 -The workflow uses two nested ForEach components to iterate over coupling and conduction speed sets of values. For each (coupling, conduction_speed) pair, a simulation run is executed with the help of the RunParallelProcess component, which runs the workflow body in separate worker processes (using multiprocessing + dill).
228 -
229 -[[image:parallel-simulations.png||height="590" width="1100"]]
230 -
231 -
232 232  {{html}}<iframe width="1280" height="720" src="https://www.youtube.com/embed/M6rZClFgRrM" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>{{/html}}
233 233  
parallel-simulations.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.teodoramisan
Size
... ... @@ -1,1 +1,0 @@
1 -325.1 KB
Content
plot-posteriors.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.teodoramisan
Size
... ... @@ -1,1 +1,0 @@
1 -442.0 KB
Content
plot-timeseries-vbi.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.teodoramisan
Size
... ... @@ -1,1 +1,0 @@
1 -579.5 KB
Content
vbi_workflow.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.teodoramisan
Size
... ... @@ -1,1 +1,0 @@
1 -465.2 KB
Content
Public

TVB Widgets