Pseudo-code for nonlinear SC-to-FC completion (FC virtual duals to SC)
| Algorithm non-linear SC-to-FC completion is |
| External input: empirical SC (SCemp) |
| Output: non-linear virtual FC (FCMFM) |
| Fixed parameters: noise level ( σ), simulation time (T), range to scan Gstart ≤ G ≤ Gstop, range to scan τstart ≤ τ ≤ τstop, other frozen Wong-Wang neural mass parameters |
| Begin |
| 1. Construct a MFM embedding SCemp and the default frozen Wong-Wang neural mass parameters |
| For Gstart ≤ G ≤ Gstop |
| For τstart ≤ τ ≤ τstop |
| 2.1 Simulate the MFM with current parameter values for a short time 0.2*T (discarding an initial transient) |
| 2.2 Compute surrogate BOLD from MFM time series via Balloon–Windkessel model |
| 2.3 Compute Corr(BOLD), i.e. the time-averaged FC matrix |
| 2.4 Compute stream of time-resolved FC(t) and the associated dFC matrix |
| 2.5 Compute and store Crit1[G, τ] (Spatial heterogeneity of activations) |
| 2.6 Compute and store Crit2[G, τ] (Clustering coefficient of time-averaged FC matrix) |
| 2.7 Compute and store Crit3[G, τ] (Clustering coefficient of dFC matrix) |
| End |
| End |
| 3. Identify G* and τ* for which Crit1[G, τ], Crit2[G, τ] and Crit3[G, τ] are jointly optimum |
| 4. Simulate the MFM with parameter values G* and τ* for a time T (discarding an initial transient) |
| 5. Compute surrogate BOLD from MFM time series via Balloon–Windkessel model |
| 6. Compute C = Corr(BOLD), i.e. the time-averaged FC matrix at G* and τ* |
| Return FCMFM = C |
| End |