Structural Connectivity of Brain Areas Linked to the Cognitive Architecture ACT-R and Spontaneous Thought
Marten de Vries
Abstract: Diffusion tensor imaging (DTI) makes it possible to generate a structural brain network from anatomical brain data. This study analyses such networks using network theoretic measures. The study has two goals. First, it focuses on brain areas that have been linked to modules of the cognitive architecture Adaptive Control of Thought - Rational (ACT-R), which has been used to model a wide variety of cognitive processes. Second, on brain areas linked to spontaneous thought (ST) networks, like the default network (DMN) and the frontoparietal control network (FPCN), which are used to explain phenomena like mind-wandering. These two groups of areas were compared to the remainder of the brain areas to see if their measure values differ. Significant differences were found between areas linked to ACT-R modules and the remainder of brain areas for five measures, suggesting (among others) that these areas play an integrative role in the brain. No significant results were found when comparing areas linked to ST networks and the remainder of brain areas.
See for the full thesis: http://fse.studenttheses.ub.rug.nl/18269/
This repository provides all code necessary to reproduce the analysis described in my Bachelor's Project thesis, of which the abstract is given above.
- download the NKI Rockland data set from http://umcd.humanconnectomeproject.org/umcd/default/get_study_data/NKI_Rockland and unzip it into ./data/NKI_Rockland
- (optional): get the ACTR-ROIs directory from Borst et al. (2015) and place it in ./data/ACTR-ROIs ; only the ACTR-ROIs/actrROIs.xls file is really required.
- (optional): obtain the Hagmann et al. (2008) DSI_release2_2011.mat file and place it in ./data/DSI_release2_2011.mat
- (optional): download the dti2eeg repo from https://github.com/hfinger/dti2eeg and place it in ./data/dti2eeg
While optional data sets are not necessary to reproduce the main result tables, some of them are required for e.g. the mapping figures & tables.
-
install R
-
install the BayesFactor package from an R shell
install.packages('BayesFactor')
-
create & install a Python environment
python3 -m venv venv
source venv/bin/activate
pip install matplotlib numpy scipy rpy2 pandas networkx joblib xlrd git+https://github.com/aestrivex/bctpy.git@b4afc777b04f0a2ff9ea9cd8b1d2a382cb131ac3
source venv/bin/activate
python -m analysis.run_all all
(can take hours to run the first time)- it is also possible to instead run individual measures, e.g.
python -m analysis.degree
. All other files in the analysis/ directory (with the exception of init) should be similarly runnable. Some measures not included in the final thesis haven't been tested in a while, though.
- it is also possible to instead run individual measures, e.g.
You can influence the analysis using configuration options set in analysis/utils/config.py. Interesting options include:
DATA_SET
; In theory, this allows switching out data sets. In practise, this hasn't been tested in a while and is probably broken.STATISTICAL_VALIDITY_CHECK
; this randomizes all mapping labels. As a result, all statistics (in the tables generated by analysis.tables) should yield inconclusive results after correcting for multiple comparisons.GENERATE_RAW_PLOTS
; this generates separate plots for each individual subject. Slow and untested recently, but perhaps useful.GLOBAL_RANDOM_DISTRIBUTION_SIZE
; this multiplied by the amount of subjects is the amount of rounds the permutation test uses.MODULE_LEVEL_CONDITION
: controls simplified plots with only three groups: ACT--R, ST and other. (Instead of all ACT-R modules & ST networks.)SHOW_3D_REPR
: open a 3d representation, handy for manual inspection of measures. Not recommended in combination withanalysis.run_all
.STORE_ANIMATION
: generate mapping animation in mp4 format as used for the Bachelor's project presentation when runninganalysis.mapping
.
Output will be written to the ./out directory. Note that most images will be in .pgf format, which can be included in a LaTeX document easily. If you prefer another format, search and replace '.pgf' with e.g. '.png' in utils/ui.py.