ROI-to-ROI connectivity

ROI-to-ROI measures

ROI-to-ROI connectivity metrics characterize the connectivity between all pairs of ROIs among a pre-defined set of regions. The definition of these metrics follows exactly the same organization and properties as the seed-based connectivity measures in the previous section, but avoids the SBC asymmetry between seeds (ROIs) and targets (voxels). These metrics are often used when researchers are interested in the simultaneously study of entire networks of connections.

ROI-to-ROI Connectivity (RRC) matrices

RRC matrices represent the level of functional connectivity between each pair of ROIs. Each element in an RRC matrix is defined as the Fisher-transformed bivariate correlation coefficient between a pair of ROI BOLD timeseries:

where R is the BOLD timeseries within each ROI (for simplicity all timeseries here are considered centered to zero mean), r is a matrix of correlation coefficients, and Z is the RRC matrix of Fisher-transformed correlation coefficients

Example 870-ROIs RRC matrix during rest, average across 198 subjects (one-sample T-test statistics)
Example 8-networks 32-ROIs RRC matrix during rest, average across 198 subjects (one-sample T-test statistics)
Implementation notes: BOLD timeseries are preprocessed and denoised (e.g. aCompCor , detrended, and band-pass filtered) separately for each run/session, then concatenated and normalized to build the S(x,t) and R(t) timeseries above. ROI-to-ROI correlation analyses are defined in the first-level analyses tab, selecting 'functional connectivity (weighted GLM)' and 'ROI-to-ROI' in the analysis type section, and 'bivariate correlation' and 'no weighting' in the analysis options section

Multivariate ROI-to-ROI Connectivity (mRRC) matrices

Semipartial or multivariate RRC matrices represent the level of effective or direct connectivity between each pair of ROIs after discounting effects that may be mediated or accounted for by other seeds/ROIs. Each element in a mRRC matrix is defined as the semipartial correlation coefficient between each pair of ROIs among a pre-defined set of ROIs while controlling for all other ROIs in the same set:

where R is the average BOLD timeseries within each ROI among a predefined set of ROIs, B is the matrix of multivariate regression coefficients, estimated using an Ordinary Least Squares (OLS) solution to the above linear model, and Z is the mRRC matrix of Fisher-transformed semipartial correlation coefficients among each pair of ROIs

Implementation notes: correlation measures are computed by first fitting the appropriate linear regression model, and then re-scaling the resulting regression coefficients. Multivariate ROI-to-ROI connectivity analyses are defined in the first-level analyses tab, selecting 'functional connectivity (weighted GLM)' and 'ROI-to-ROI' in the analysis type section, and 'semipartial correlation'/'multivariate regression' and 'no weighting' in the analysis options section

Weighted ROI-to-ROI Connectivity (wRRC) matrices

Weighted RRC measures are used to characterize task- or condition- specific functional connectivity strength (i.e. functional connectivity during each task/condition) among a pre-defined set of ROIs. wRRC matrices are computed using a weighted Least Squares (WLS) linear model with user-defined temporal weights identifying each individual experimental task/condition. In block- or event- related task designs, weights are defined as a condition-specific boxcar timeseries convolved with a canonical hemodynamic response function. In pure resting-state analyses, weights are defined to encompass entire runs or sessions (e.g. in a pre- vs. post- intervention design):

where R is the average BOLD timeseries within each ROI, w is the temporal weighting function for each condition, computed as the rectified convolution of the task/condition boxcar timeseries h and a canonical hemodynamic response function f, B is the matrix of bivariate regression coefficients for each condition estimated using a Weighted Least Squares (WLS) solution to the above linear model, and Z is the wRRC matrix of Fisher-transformed bivariate correlation coefficients for each task/condition

Implementation notes: weighted ROI-to-ROI connectivity analyses are defined in the first-level analyses tab, selecting 'functional connectivity (weighted GLM)' and 'ROI-to-ROI' in the analysis type section, and 'hrf weighting' in the analysis options section. ROI orthogonalization to task effects is defined in the Denoising tab, selecting 'effect of task' in the confounding effects list

Generalized Psycho-Physiological Interaction (gPPI) matrices

gPPI measures represent the level of task-modulated effective connectivity between two ROIs (i.e. changes in functional association strength covarying with the external or experimental factor). gPPI is computed using a separate multiple regression model for each target ROI timeseres (outcome). Each model includes as predictors: a) all of the selected task effects convolved with a canonical hemodynamic response function (main psychological factor in PPI nomenclature); b) each seed ROI BOLD timeseries (main physiological factor in PPI nomenclature); and c) the interaction term specified as the product of (a) and (b) (PPI term). gPPI output is defined as the regression coefficients associated with the interaction term in these models


where R is the BOLD timeseries at each ROI (for simplicity all BOLD timeseries are considered orthogonal to task effects and centered to zero mean), h is the task/condition boxcar timeseries which is convolved with a canonical hemodynamic response function f, and gamma is the gPPI matrix of regression coefficients for each condition, estimated jointly with alpha and beta parameters using a Ordinary Least Squares (OLS) solution to the above linear model

Implementation notes: this implementation of gPPI in CONN is similar to that in FSL, and differs from the one in SPM, by modeling the interaction in terms of the raw BOLD signal and convolved psychological factors, rather than in terms of the deconvolved BOLD signals and raw psychological factors. ROI-to-ROI gPPI analyses are defined in the first-level analyses tab, selecting 'task modulation (gPPI)' and 'ROI-to-ROI' in the analysis type section, and 'bivariate regression' in the analysis options section

How to compute RRC matrices in CONN

CONN's RRC measures can be computed using any of the following options:

Option 1: using CONN's gui

If you have already imported and denoised your data in CONN (either through the GUI or batch commands) go to CONN's Analyses (1st-level) tab, and select 'Seed-to-Voxel' connectivity measures (optionally select 'Create/rename new first-level analysis' if defining multiple sets of first-level analyses). All options here will be set by default to compute SBC maps as described in the previous section, so simply change the option that reads 'Seed-to-Voxel analyses only' to 'ROI-to-ROI analyses only', and then 'click 'Done' and 'Start' to compute RRC maps for each subject, condition, and seed ROI (optionally change the 'local processing' option available in that window to 'distributed processing' if you want to parallelize this pipeline across multiple processors or nodes in an HPC cluster)

Option 2: using CONN's batch commands

Similarly, if you have already imported and denoised your data in CONN (either through the GUI or batch commands) , you may compute standard RRC matrices across all subjects, conditions, and seed ROIs, using Matlab command syntax:

conn_batch( 'Analysis.name', 'RRC', 'Analysis.type', 'ROI-to-ROI', 'Analysis.done', true )

optionally adding to this command any desired alternative field name/value pairs (see doc conn_batch for additional details), for example:

conn_batch( 'filename',           '/data/Cambridge/conn_Cambridge.mat', ... 

            'Analysis.name',      'RRC', ...

            'Analysis.type',      'ROI-to-ROI', ...

            'Analysis.measure',   'correlation (bivariate)', ...

            'Analysis.sources',   {'networks.DefaultMode','networks.Language'}, ... 

            'Analysis.weight',    'none', ...

            'Analysis.done',      true)