Hello everyone,
I'm still fighting my first project in whole-brain modeling and facing some challenges.
My project involves a version of the Deco et al. (2014) Excitation-Inhibition Dynamic Mean Field (DMF) model. I'm using resting-state fMRI data from healthy subjects, from the UCLA dataset (available at
https://openfmri.org/s3-browser/?prefix=ds000030),
preprocessed via the fMRIPrep pipeline. Model utilizes average structural connectivity weights derived from a large cohort of healthy subjects and is parcellated according to the Schaefer 100 atlas, which is available by default in software that I used.
However, I'm encountering an issue with low correlation values between the simulated and empirical FC matrices. The correlations are around 0.05 for the upper parts of the matrices, excluding diagonals, and this varies with the model's stochasticity.
I've been adjusting the default parameters for healthy subjects by ±100%, which affects the matrices, but the correlations remain low at almost every point (max I got about 0.15 for -40% of default G however I believe that most of the gain was due to stochasticity.
I have tested it for several subjects.
As this is my first project, I suspect that the issue might be related to processing steps for empirical data or post-simulation processing of the simulated data, but I've been unable to pinpoint the exact problem. I would greatly appreciate it if someone
experienced could review the following code and FC plots to maybe suggest a direction for diagnosing and addressing this issue. I want to rule out the pre- and post-processing problems before digging into problems with simulations which are set in a very standard
way.
Thank you in advance,
Respectfully,
Szymon Tyras
#Python Code:
import numpy as np
import nibabel as nib
from nilearn import datasets, input_data
from nilearn.connectome import ConnectivityMeasure
from nilearn import signal
#Empircal part
# Load the fMRI data
fmri_img = nib.load(fmri_file) # It is downloaded from dataset file "MNI152NLin2009cAsym_preproc.nii.gz", preprocessed with standard fMRIPrep
# Load the Schaefer atlas
atlas = datasets.fetch_atlas_schaefer_2018(n_rois=100, yeo_networks=7) # Same as structural weights data
atlas_filename = atlas.maps
# Parcellate the signal
masker = input_data.NiftiLabelsMasker(labels_img=atlas_filename, standardize=False)
BOLD_E = masker.fit_transform(fmri_img) # BOLD_E has shape 152, 100
# Filtering
low_freq, high_freq = 0.01, 0.1
BOLD_E= signal.clean(BOLD_E, low_pass=high_freq, high_pass=low_freq, t_r=2)
# Create a connectivity measure object with correlation metric
connectivity_measure = ConnectivityMeasure(kind='correlation')
# Compute the connectivity matrix
connectivity_matrix_e = connectivity_measure.fit_transform([BOLD_E])[0]
#Simulation part
# Deleting first and last 10 seconds, filtering
trans = 5;
low_freq, high_freq = 0.01, 0.1
BOLD_S = BOLD_S[:,trans:-trans] # BOLD_S is output of the simulations, it has 162 timepoints for each of 100 brain regions, BOLD_S.shape is 100, 162
BOLD_S=BOLD_S.T
BOLD = signal.clean(BOLD_S, low_pass=high_freq, high_pass=low_freq, t_r=2)
connectivity_matrix_s = connectivity_measure.fit_transform([BOLD_S])[0]
--
You received this message because you are subscribed to the Google Groups "TVB Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to
tvb-users+...@googlegroups.com.
To view this discussion on the web visit
https://groups.google.com/d/msgid/tvb-users/97a87761-9c32-452c-bb76-a51dba29168bn%40googlegroups.com.