Changes for page Extension tvb-ext-xircuits
Last modified by teodoramisan on 2026/02/13 10:11
From version 79.1
edited by teodoramisan
on 2026/02/13 10:07
on 2026/02/13 10:07
Change comment:
There is no comment for this version
To version 67.2
edited by teodoramisan
on 2026/02/12 11:29
on 2026/02/12 11:29
Change comment:
There is no comment for this version
Summary
-
Page properties (1 modified, 0 added, 0 removed)
-
Attachments (0 modified, 0 added, 4 removed)
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> ... ... @@ -67,7 +67,7 @@ 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 ... ... @@ -142,7 +142,7 @@ 142 142 [[image:export-model-configuration.png||alt="image-20221116130425-1.png" data-xwiki-image-style-alignment="center" height="763" width="1000"]] 143 143 144 144 145 -=== 2. Visualize time series resulted from TVBsimulations ===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 ... ... @@ -156,27 +156,6 @@ 156 156 157 157 [[image:timeseries-plotly.png||alt="view3.png" height="593" width="1100"]] 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,26 +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 - ContainsallVBI components required to run aninferenceworkflow,from __prior sampling__ and __simulation__ to __posteriortraining__and __posteriorsampling__.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 -Next, **SimulationRunner** executes the selected **VBI model** for a batch of parameter samples (theta) using the chosen backend (//cpp//, //cupy// or //numba//). It selects the requested output signal from the model result and extracts the summary features defined in cfg, producing the feature matrix used for training. 201 - 202 -The resulting features and parameter samples are then passed to **TrainPosterior**, which standardizes the feature matrix with //StandardScaler //and trains a posterior distribution using an SBI method (for example //SNPE//, //SNLE//, or //SNRE//). In the last step, **SamplePosterior** draws parameter samples from the trained posterior distribution, conditioned on the selected observed feature vector. 203 - 204 -[[image:vbi_workflow.png||height="590" width="1100"]] 205 - 206 -=== 3. Configuring model parameters using the PhasePlaneWidget: === 207 - 208 208 Same workflow as before, but the parameter for the model used in simulation are set using the PhasePlaneWidget. 209 209 210 210 {{html}} ... ... @@ -211,8 +211,9 @@ 211 211 <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> 212 212 {{/html}} 213 213 214 -=== 4. Using siibra to retrieve connectivities from the EBRAINS KG === 215 215 183 +=== 3. Using siibra to retrieve connectivities from the EBRAINS KG === 184 + 216 216 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. 217 217 218 218 {{html}} ... ... @@ -219,18 +219,10 @@ 219 219 <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> 220 220 {{/html}} 221 221 222 -=== 5. Run a workflow as an HPB job === 223 223 192 +=== 4. Run a workflow as an HPB job === 193 + 224 224 A workflow simulation which is run remotely, by submitting a job to an HPC site and getting back the results (TimeSeries object). 225 225 226 -=== 6. Parallel simulations workflow === 227 - 228 -This example demonstrates **Parameter Space Exploration** (PSE) by running multiple TVB simulations in parallel for different parameter combinations. 229 - 230 -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). 231 - 232 -[[image:parallel-simulations.png||height="590" width="1100"]] 233 - 234 - 235 235 {{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}} 236 236
- 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