Neurobridge aims to investigate how to reconcile structural and functional brain connectivity using network clustering and structural refinement techniques, as a preparatory step for dynamical modeling.
The focus is on:
- identifying ordered or hierarchical clusters of functionally coherent brain regions;
- using those partitions to refine structural connectivity matrices into equitable versions;
- laying the foundation for later integration into neural dynamical models.
- Load and preprocess functional and structural connectivity data.
- Apply functional clustering via Peixoto’s SBM framework (ordered and nested variants).
- Select a representative session using clustering consistency (Fowlkes–Mallows index).
- Derive an equitable structural matrix ( A_k ) compatible with the functional partition.
- Prepare the system for downstream dynamical simulation (not implemented here).
- Peixoto's stochastic block model via
graph-tool
(both ordered and nested SBM variants). - Baruzzi et al.’s structural refinement method, enforcing equitable input across functionally clustered groups.
- Data Loading: Import fMRI-based functional matrices and diffusion MRI structural matrices across 10 sessions.
- Functional Clustering:
- Compute one clustering per session.
- Select the most representative session via average Fowlkes–Mallows similarity.
- Store clustering assignments and visualize inferred community structure.
- Structural Matrix Averaging:
- Compute the average of the 10 structural matrices → ( A_0 ).
- Structural Refinement:
- Solve a convex optimization problem to find matrix ( A_k ) as close as possible to ( A_0 ), while ensuring equitable connectivity w.r.t. the functional clusters.
- Output:
- Save ( A_0 ), ( A_k ), and the functional partition.
- Save visualizations of the input and clustered graphs.
- Functional matrices: session-level edgelists, 48x48 correlation matrices (after preprocessing).
- Structural matrices: session-level connectomes derived from diffusion tractography, also 48x48.
-
Baruzzi, V., Lodi, M., Sorrentino, F., & Storace, M. (2023). Bridging functional and anatomical neural connectivity through cluster synchronization. Scientific Reports, 13, 22430.
DOI: 10.1038/s41598-023-49746-2 -
Peixoto, T.P. (2022). Ordered community detection in directed networks. Phys. Rev. E, 106(2), 024305.
This project uses Python and Conda for environment and package management.
graph-tool
numpy
,scikit-learn
,matplotlib
,cvxpy
,seaborn
conda env create -f environment.yml
conda activate neurobridge
-
Download the data from the open-neurodata portal:
-
Organize it under:
./data/subject-<ID>/ ├── functional/ └── structural/
-
Edit configuration in
config/settings.json
to reflect:- input paths
- graph type
- clustering model
- thresholding strategy
-
Run the pipeline:
python scripts/run_pipeline.py
All results are saved under:
results/subject-<ID>/
Including:
graph_thresh-XX_directed.pdf
: raw functional graphgraph_nested_clustered.pdf
: graph with inferred clustersA0_structural_mean.csv
: mean structural matrixAk_structural_equitable.csv
: refined equitable matrixfunctional_partition.csv
: selected clustering labels
src/
├── io/ # loading and saving
├── graph/ # graph building
├── clustering/ # nested SBM
└── structural/ # A_k optimization
TBD