Multi-task fMRI outperforms resting-state fMRI for revealing task-invariant organization of the human brain
The 10 matches · 2 of them tie a paragraph to a whole file, not to given lines: weak matches, whose lines are not tinted
- [1] § Methods › Functional Data preprocessing ↔ Functional_Fusion/atlas_map.py, lines 1041–1090 · score 0.76 · pial surface, white matter surfaces, functional fusion, FreeSurfer, vertex, atlas
- [2] § Methods › Cross-tentorial correlation ratio ↔ scripts/internal_validity.py, lines 80–118 · score 0.68 · dilated voxels, MNI152NLin6Asym, cerebellar mask, wholebrain, neocortical, space
- [3] § Methods › Cross-tentorial correlation ratio ↔ scripts/internal_validity_masks.sh, the whole file · a weak match · score 0.67 · MNI152NLin6Asym, MNI space, cerebellar mask, dilating, resampling, correlations
- [4] § Methods › Data types › Cleaned time series ↔ preprocessing/fix_language.py, lines 70–132 · score 0.64 · automated classifier, hand classification, component, subset, training, noise
- [5] § Methods › Functional Data preprocessing ↔ preprocessing/somatotopic_imana.m, the whole file · a weak match · score 0.60 · FreeSurfer, reconstructed, preprocessed, diedrichsenlab, pipeline, resampled
- [6] § Methods › Parcellations › Evaluation ↔ parcellation_evaluation.py, lines 58–106 · score 0.56 · voxel pairs, individual parcellation, metric, DCBC, Distance, correlations
- [7] § Methods › Parcellations ↔ HierarchBayesParcel/emissions.py, lines 449–484 · score 0.56 · von Mises Fisher, hierarchical, parcels, voxel, model
- [8] § Methods › Dependence on task set › Generalization to novel task set ↔ notebooks/evaluate_similarity_hcp.ipynb, lines 28–64 · score 0.54 · working memory, gambling, emotion, social, language, HCP
- [9] § Methods › Covariance matrices ↔ scripts/export_matrix.py, lines 122–196 · score 0.53 · voxel covariance matrix, MNISymC3, icosahedron, neocortex, space, cerebellum
- [10] § Methods › Data acquisition › HCP Dataset ↔ notebooks/evaluate_similarity_hcp.ipynb, lines 28–64 · score 0.53 · working memory, gambling, emotion, HCP, social, language
Paper
Loaded from Europe PMC by your browser, not stored by OSCR: doi.org · Europe PMC
The paper is loaded when this pane is shown.
The authors' code
Jupyter notebook · 147 lines · 5.6 KB · MIT · 2 matches
- # %% [markdown]
- # # Evaluate the similarity between covariances
- # %%
- import numpy as np
- import TaskRest.paths as trest_paths
- import numpy as np
- import covariance as cov
- import pandas as pd
- import matplotlib.pyplot as plt
- import seaborn as sb
- import TaskRest.plotting as plotting
- from scipy.stats import ttest_rel
- # Set trest_paths
- base_dir = trest_paths.set_base_dir()
- atlas_dir = trest_paths.set_atlas_dir(base_dir)
- figure_dir = trest_paths.set_figure_dir()
- model_dir = trest_paths.set_model_dir(base_dir)
- fusion_dir = trest_paths.set_fusion_dir(base_dir)
- # results_dir = trest_paths.set_results_dir(base_dir)
- results_dir = '/Users/callithrix/Documents/Projects/TaskRest/'
- # %%
- results_dir
- # %%
- # duration per run in seconds
- wm = 301 # working memory hcp task
- gamb = 192 # gambling hcp task
- mot = 180+34 # motor hcp task
- lang = 180 + 57 # language hcp task
- soc = 180 + 27 # social hcp task
- rel = 120 + 56 # relational hcp task
- emot = 120 + 16 # emotion hcp task
- # Multiply all by number of runs (2) to get total task time per subject
- wm_total = wm * 2
- gamb_total = gamb * 2
- mot_total = mot * 2
- lang_total = lang * 2
- soc_total = soc * 2
- rel_total = rel * 2
- emot_total = emot * 2
- print(f"Working Memory Task Time (minutes): {wm_total / 60.:.2f} minutes")
- print(f"Gambling Task Time (minutes): {gamb_total / 60.:.2f} minutes")
- print(f"Motor Task Time (minutes): {mot_total / 60.:.2f} minutes")
- print(f"Language Task Time (minutes): {lang_total / 60.:.2f} minutes")
- print(f"Social Task Time (minutes): {soc_total / 60.:.2f} minutes")
- print(f"Relational Task Time (minutes): {rel_total / 60.:.2f} minutes")
- print(f"Emotion Task Time (minutes): {emot_total / 60.:.2f} minutes")
- print(f"Total Task Times (minutes): {(wm_total + gamb_total + mot_total + lang_total + soc_total + rel_total + emot_total) / 60.:.2f} minutes")
- rest_trs = 2400 * 2 # two resting state runs of 2400 TRs each
- tr_duration = 0.72 # duration of each TR in seconds
- rest_time = rest_trs * tr_duration # total resting state time in seconds
- print(f"Total Resting State Time (minutes): {rest_time / 60.:.2f} minutes")
- # show leave-one-task-out total time
- total_task_time = (wm_total + gamb_total + mot_total + lang_total + soc_total + rel_total + emot_total)
- for task_time, task_name in zip([wm_total, gamb_total, mot_total, lang_total, soc_total, rel_total, emot_total],
- ['Working Memory', 'Gambling', 'Motor', 'Language', 'Social', 'Relational', 'Emotion']):
- loo_time = (total_task_time - task_time)
- print(f"Leave-One-Task-Out Time without {task_name} (minutes): {loo_time / 60.:.2f} minutes")
- # %%
- results_cov = pd.read_csv(results_dir + 'results/hcp/similarity_hcp_loo_method-cov_rerun.tsv', sep='\t')
- # Calculate for each subject and each structure the similarity_cov of all tasks to the left out task and the similarity_cov of the rest to the left out task
- similarity_cov = []
- task_cols = [col for col in results_cov.columns if ('hcptask' in col) and ('_other' not in col)]
- for s,subject in enumerate(results_cov['subject'].unique()):
- for structure in results_cov['structure'].unique():
- mask = (results_cov['subject'] == subject) & (results_cov['structure'] == structure)
- task_similarity = results_cov.loc[mask, task_cols].mean(axis=1).values[0]
- rest_similarity = results_cov.loc[mask, 'hcprest_tseriesfix_complete'].mean()
- similarity_cov.append({'subject': subject, 'structure': structure, 'task_similarity': task_similarity, 'rest_similarity': rest_similarity})
- similarity_cov = pd.DataFrame(similarity_cov)
- similarity_cov = similarity_cov.melt(id_vars=['subject', 'structure'], var_name='covariance', value_name='similarity')
- noise_ceiling_cov = results_cov[['noise_ceiling', 'subject', 'structure']]
- # Print the first few rows of the data
- similarity_cov.head()
- # %%
- covariance_order = ['task_similarity', 'rest_similarity']
- covariance_palette = {
- 'task_similarity': (0.3882, 0.4745, 0.2235),
- 'rest_similarity': (0.5176, 0.2353, 0.2235),
- }
- # %% [markdown]
- # ## Plot similarity for task and rest
- # %%
- def plot_similarity(similarity, outname='similarity_hcp_cov', ylim=(0, 0.4)):
- """Plot similarity for each structure and covariance method."""
- plt.figure(figsize=(8, 4), facecolor='white')
- # Use seaborn's set_theme instead of deprecated matplotlib style
- sb.set_theme(style="white")
- structure = ['cortex', 'cereb', 'cc']
- for i, s in enumerate(structure):
- plt.subplot(1, 3, i + 1)
- data_s = similarity[similarity['structure'] == s].sort_values(by='similarity', ascending=False)
- if i == 2:
- leg = True
- ax = sb.barplot(
- data=data_s,
- x='covariance', y='similarity',
- order=covariance_order,
- palette=covariance_palette,
- hue='covariance',
- legend=False,
- )
- sb.stripplot(
- data=data_s,
- x='covariance', y='similarity',
- order=covariance_order,
- color='black', size=4, alpha=0.2, jitter=True
- )
- sb.despine(ax=ax)
- ax.set_xticklabels(['task', 'rest'])
- plt.xlabel(f'{s}', fontsize=14)
- plt.ylabel(f'Similarity ({outname.split("_")[-1]})', fontsize=14)
- plt.ylim(ylim)
- plt.tight_layout()
- plt.savefig(figure_dir + outname + '.pdf', bbox_inches='tight')
- plt.show()
- # %%
- plot_similarity(similarity_cov, outname='similarity_hcp_cov', ylim=(0, 0.8))
- # %% [markdown]
- # ## Statistics
- # %%
- # Perform paired t-tests for each structure for covariance
- for structure in ['cortex', 'cereb', 'cc']:
- plotting.test_paired('task_similarity', 'rest_similarity', similarity_cov, structure)
evaluate_similarity_hcp.ipynb at commit 2492fc3, under MIT · at the source
Overview
- Western Centre for Brain and Mind, Western University, London, Ontario, Canada
- Department of Computer Science, Western University, London, Ontario, Canada
- Department of Experimental Psychology, University of Oxford, Oxford, UK
- Department of Psychology, Western University, London, Ontario, Canada
- Department of Statistical and Actuarial Sciences, Western University, London, Ontario, Canada
Abstract
Resting-state functional Magnetic Resonance Imaging (fMRI) is widely used to infer the intrinsic functional organization of the brain, yet it remains unclear how well this approach can predict the structure of brain activity observed across a diverse set of mental states. Here we compare resting-state to task-based fMRI using diverse task batteries within the same individuals. We find that multi-task fMRI data consistently outperform resting-state estimates in predicting functional organization during novel tasks. This advantage persists across preprocessing strategies, brain regions, and independent datasets. While task activation estimates do show task-dependency when using only few tasks, increasing task diversity reduced task-specific bias, with convergence achieved using modest task sets. These improvements translate into superior individual parcellations and connectivity models. Together, our results dissociate reliability from validity in neuroimaging and challenge the prevailing assumption that rest provides a privileged window into intrinsic brain organization. Instead, functional architecture appears most faithfully revealed when the brain is actively driven through diverse task states.
Reproduced under the paper's license (CC BY), from the paper cited above.
Repositories
Its files are read in the Code ↔ Paper reader above, with 10 matches between paragraphs and lines of code.
DiedrichsenLab/Functional_Fusion
f9a47ef263e63f1cfc148043521ffc5031b3a0e0, 22 September 2026Availability: 1 check, the latest on 29 September 2026: the link answers
- 29 September 2026: the link answers
120 files
- Functional_Fusion/
__init__.py , Python, 1 line - Functional_Fusion/
array_convert.py , Python, 45 lines - Functional_Fusion/
atlas_map.py , Python, 1,227 lines, 1 match - Functional_Fusion/
dataset.py , Python, 1,396 lines - Functional_Fusion/
import_data.py , Python, 267 lines - Functional_Fusion/
matrix.py , Python, 175 lines - Functional_Fusion/
plot.py , Python, 905 lines - Functional_Fusion/
reliability.py , Python, 409 lines - Functional_Fusion/
util.py , Python, 274 lines - deprecated/
DataSetDmcc_class.py , Python, 100 lines - deprecated/
ants_deform.py , Python, 27 lines - deprecated/
correct_header.sh , Shell, 18 lines - deprecated/
decompose_pattern_varian , Python, 167 linesce/ decompose_pattern_into_g roup_indv_noise.py - deprecated/
extract_demand_data.py , Python, 55 lines - deprecated/
extract_dmcc.py , Python, 65 lines - deprecated/
extract_hcp_data.py , Python, 116 lines - deprecated/
extract_ibc_data.py , Python, 186 lines - deprecated/
extract_language_task.py , Python, 39 lines - deprecated/
extract_mdtb_data.py , Python, 180 lines - deprecated/
extract_nishi_data.py , Python, 134 lines - deprecated/
extract_pontine_data.py , Python, 98 lines - deprecated/
extract_somatotopic.py , Python, 67 lines - deprecated/
extract_wmfs.py , Python, 72 lines - deprecated/
feat_analysis.py , Python, 43 lines - deprecated/
get_language_data.py , Python, 29 lines - deprecated/
glm_folder.py , Python, 54 lines - deprecated/
import_language.py , Python, 72 lines - deprecated/
old_datasets.py , Python, 698 lines - deprecated/
old_extract_hcp_data.py , Python, 281 lines - deprecated/
old_hcp_resting.py , Python, 499 lines - deprecated/
rerun_glm.m , MATLAB, 54 lines - deprecated/
sandbox.sh , Shell, 44 lines - deprecated/
smooth_correction.py , Python, 41 lines - deprecated/
task_mdtb_deprecated.py , Python, 35 lines - deprecated/
test_decomp.py , Python, 45 lines - docs/
conf.py , Python, 103 lines - notebooks/
check_nishi_design.ipynb , Jupyter, 73 lines - notebooks/
data_averaging.ipynb , Jupyter, 46 lines - notebooks/
extract_data_ince.ipynb , Jupyter, 445 lines - notebooks/
individual_parcellation. , Jupyter, 213 linesipynb - notebooks/
multitask_alignment.ipyn , Jupyter, 136 linesb - notebooks/
plot_cerebellar_maps.ipy , Jupyter, 31 linesnb - notebooks/
plot_maps.ipynb , Jupyter, 168 lines - notebooks/
region_definition_exampl , Jupyter, 39 linese.ipynb - notebooks/
reliability_maps.ipynb , Jupyter, 132 lines - notebooks/
reliability_overall.ipyn , Jupyter, 274 linesb - notebooks/
variance_decomposition.i , Jupyter, 94 linespynb - notebooks/
weightedVMF_model.ipynb , Jupyter, 520 lines - preprocessing/
bids_somatotopic.sh , Shell, 41 lines - preprocessing/
describe_langdata.py , Python, 47 lines - preprocessing/
dmcc_imana_mni.m , MATLAB, 725 lines - preprocessing/
hcptask_imana.m , MATLAB, 107 lines - preprocessing/
ibc_imana.m , MATLAB, 1,879 lines - preprocessing/
import_ibc.py , Python, 439 lines - preprocessing/
make_reginfo.py , Python, 35 lines - preprocessing/
nishimoto_coreg.m , MATLAB, 240 lines - preprocessing/
nishimoto_imana.m , MATLAB, 1,525 lines - preprocessing/
organize_language_datase , Shell, 15 linest.sh - preprocessing/
sandbox.py , Python, 33 lines - preprocessing/
script_dmcc_make_xfm_nii , Python, 72 lines.py - preprocessing/
somatotopic_imana.m , MATLAB, 141 lines, 1 match - preprocessing/
temp.sh , Shell, 16 lines - scripts/
archive_dataset.py , Python, 53 lines - scripts/
bold_normalize.py , Python, 88 lines - scripts/
extract_all.py , Python, 76 lines - scripts/
ff_migration/ , Python, 85 lines1.copy.py - scripts/
ff_migration/ , Python, 521 lines2.clean_imported_tsvs.py - scripts/
ff_migration/ , Python, 28 lines3.merge_HCPur100_rest.py - scripts/
ff_migration/ , Python, 67 lines5.group_Avg.py - scripts/
ff_migration/ , Python, 64 lines6.compare_version.py - scripts/
fusion_paths.py , Python, 69 lines - scripts/
hcp_tfmri/ , Python, 144 lines1.hcp_tfmri_clean.py - scripts/
hcp_tfmri/ , Python, 95 lines2.hcp_tfmri_glm.py - scripts/
hcp_tfmri/ , Python, 39 lines2a.hcp_tfmri_suit_isolat e.py - scripts/
hcp_tfmri/ , Python, 305 lines3.hcp_tfmri_import.py - scripts/
hcp_tfmri/ , Python, 43 lines4.hcp_tfmri_extract.py - scripts/
hcp_tfmri/ , Python, 28 lines5.average_data.py - scripts/
hcp_tfmri2/ , Python, 79 lines1.hcp_tfmri_clean.py - scripts/
hcp_tfmri2/ , Python, 150 lines2.hcp_tfmri_glm.py - scripts/
hcp_tfmri2/ , Python, 223 lines3.hcp_tfmri_import.py - scripts/
hcp_tfmri2/ , Python, 42 lines4.hcp_tfmri_extract.py - scripts/
hcp_tfmri2/ , Python, 28 lines5.average_data.py - scripts/
hippocampus_ROI.py , Python, 44 lines - scripts/
import/ , Python, 64 linesimport_data_demand.py - scripts/
import/ , Python, 231 linesimport_data_dmcc.py - scripts/
import/ , Python, 239 linesimport_data_ibc.py - scripts/
import/ , Python, 140 linesimport_data_mtlearn.py - scripts/
import/ , Python, 108 linesimport_data_nishi.py - scripts/
import/ , Python, 52 linesimport_data_pontine.py - scripts/
import/ , Python, 34 linesimport_functional_atlase s.py - scripts/
import/ , Python, 151 linesimport_hcp.py - scripts/
import/ , Python, 117 linesimport_language_task.py - scripts/
import/ , Python, 132 linesimport_mdtb.py - scripts/
import/ , Python, 183 linesimport_somatotopic.py - scripts/
individual_parcellation. , Python, 152 linespy - scripts/
make_cifti_subcortical_m , Python, 38 linesask.py - scripts/
make_subcort_atlas.py , Python, 101 lines - scripts/
make_suit_surf.py , Python, 38 lines - scripts/
make_suitmask.py , Python, 57 lines - scripts/
make_xfm.py , Python, 17 lines - scripts/
mdtb_cond_codes.py , Python, 56 lines - scripts/
mdtb_rerun_glm.py , Python, 133 lines - scripts/
plot_cerebellum.py , Python, 114 lines - scripts/
run_gica_hcp.sh , Shell, 80 lines - scripts/
script_download_dmcc.py , Python, 136 lines - scripts/
seed_correlation.py , Python, 145 lines - scripts/
test_extract_multiatlas. , Python, 44 linespy - scripts/
var_decomp.py , Python, 172 lines - tests/
test_atlas.py , Python, 286 lines - tests/
test_atlasmap.py , Python, 36 lines - tests/
test_cifti.py , Python, 147 lines - tests/
test_dataset.py , Python, 109 lines - tests/
test_extract.py , Python, 45 lines - tests/
test_group_by.ipynb , Jupyter, 20 lines - tests/
test_optimal_contrast.py , Python, 54 lines - tests/
test_parcel.py , Python, 127 lines - tests/
test_plot_vol.py , Python, 24 lines - tests/
test_region.py , Python, 53 lines - tests/
test_reliability.py , Python, 107 lines - README.md, Text, 35 lines
carobellum/RestMultitask
2492fc3f78c7b3659e3eac9f475c22f90e16d1b7, 26 April 2026Availability: 1 check, the latest on 29 September 2026: the link answers
- 29 September 2026: the link answers
39 files
- covariance.py, Python, 730 lines
- fit.py, Python, 110 lines
- notebooks/
connectivity_model.ipynb , Jupyter, 256 lines - notebooks/
evaluate_similarity.ipyn , Jupyter, 276 linesb - notebooks/
evaluate_similarity_corr , Jupyter, 194 lines.ipynb - notebooks/
evaluate_similarity_hcp. , Jupyter, 147 lines, 2 matchesipynb - notebooks/
internal_validity.ipynb , Jupyter, 168 lines - notebooks/
mds.ipynb , Jupyter, 511 lines - notebooks/
overlap_mask.ipynb , Jupyter, 136 lines - notebooks/
parcellation.ipynb , Jupyter, 234 lines - notebooks/
reliability_covariance.i , Jupyter, 344 linespynb - notebooks/
schematic_plot.ipynb , Jupyter, 70 lines - notebooks/
task_balancing.ipynb , Jupyter, 104 lines - parcellation.py, Python, 266 lines
- parcellation_evaluation.
py , Python, 167 lines, 1 match - paths.py, Python, 90 lines
- plotting.py, Python, 388 lines
- preprocessing/
connectivity.py , Python, 370 lines - preprocessing/
extract_hcp_resting.py , Python, 46 lines - preprocessing/
extract_newff.py , Python, 82 lines - preprocessing/
extract_replication_newf , Python, 37 linesf.py - preprocessing/
fix_language.py , Python, 134 lines, 1 match - preprocessing/
hcp_dataset_class.py , Python, 84 lines - preprocessing/
import_replication.py , Python, 147 lines - preprocessing/
mdtb_rerun_glm.py , Python, 133 lines - preprocessing/
replication_preprocessin , MATLAB, 6 linesg.m - scripts/
correlate_covariance.py , Python, 274 lines - scripts/
evaluate_similarity.py , Python, 304 lines - scripts/
export_matrix.py , Python, 621 lines, 1 match - scripts/
internal_validity.py , Python, 496 lines, 1 match - scripts/
internal_validity_masks. , Shell, 66 lines, 1 matchsh - scripts/
mds.py , Python, 76 lines - scripts/
parcellate_cerebellum.py , Python, 420 lines - scripts/
parcellate_neocortex.py , Python, 351 lines - scripts/
reliability_covariance.p , Python, 146 linesy - scripts/
train_eval_connectivity. , Python, 233 linespy - simulation.py, Python, 123 lines
- LICENSE, License, 21 lines
- README.md, Text, 193 lines
DiedrichsenLab/HierarchBayesParcel
d6060db0c9821ac9097cbfeb6949ec1716d8bf30, 20 May 2026Availability: 1 check, the latest on 29 September 2026: the link answers
- 29 September 2026: the link answers
30 files
- HierarchBayesParcel/
__init__.py , Python, 6 lines - HierarchBayesParcel/
arrangements.py , Python, 1,935 lines - HierarchBayesParcel/
emissions.py , Python, 743 lines, 1 match - HierarchBayesParcel/
evaluation.py , Python, 1,011 lines - HierarchBayesParcel/
full_model.py , Python, 869 lines - HierarchBayesParcel/
model.py , Python, 141 lines - HierarchBayesParcel/
spatial.py , Python, 217 lines - HierarchBayesParcel/
util.py , Python, 139 lines - depreciated/
AIS_test.py , Python, 214 lines - depreciated/
EM_clustering.py , Python, 261 lines - depreciated/
arrangements_old.py , Python, 680 lines - depreciated/
bin_sparse_coding.py , Python, 49 lines - depreciated/
closed_form.py , Python, 160 lines - depreciated/
data_estimation.py , Python, 111 lines - depreciated/
dict_learn.py , Python, 152 lines - depreciated/
emission_models_develop. , Python, 892 linespy - depreciated/
examples.py , Python, 636 lines - depreciated/
full_model_old.py , Python, 43 lines - depreciated/
full_model_symmetric.py , Python, 347 lines - depreciated/
hopfield_network.py , Python, 279 lines - depreciated/
mdtb_neocortical.py , Python, 49 lines - depreciated/
rbm.py , Python, 490 lines - depreciated/
sample_vmf.py , Python, 242 lines - depreciated/
simulate.py , Python, 32 lines - depreciated/
test_plots.ipynb , Jupyter, 18 lines - depreciated/
test_plots.py , Python, 18 lines - depreciated/
test_surfplot.ipynb , Jupyter, 43 lines - depreciated/
visualize_maps.ipynb , Jupyter, 94 lines - repository limit reached (2,000 files or 30 MB): the rest is at the source (42 files)
- LICENSE, License, 21 lines
- README.md, Text, 70 lines
DiedrichsenLab/cortico_cereb_connectivity
a0d38b52ba64aea5ed09d17e065ff05550f84124, 24 May 2025Availability: 1 check, the latest on 29 September 2026: the link answers
- 29 September 2026: the link answers
36 files
- cio.py, Python, 152 lines
- data.py, Python, 66 lines
- depreciated/
Evaluate_model_fusion_no , Jupyter, 40 linesint.ipynb - depreciated/
Evaluate_model_noint.ipy , Jupyter, 141 linesnb - depreciated/
Evaluate_models_MTDB.ipy , Jupyter, 89 linesnb - depreciated/
Evaluate_noscale.ipynb , Jupyter, 21 lines - depreciated/
Evaluate_training.ipynb , Jupyter, 42 lines - depreciated/
model_legacy.py , Python, 344 lines - depreciated/
rest_intercept.ipynb , Jupyter, 41 lines - depreciated/
script_run_models_demand , Python, 109 lines.py - depreciated/
script_run_models_mdtb.p , Python, 187 linesy - depreciated/
script_run_models_nishim , Python, 111 linesoto.py - evaluation.py, Python, 71 lines
- globals.py, Python, 19 lines
- model.py, Python, 217 lines
- notebooks/
.ipynb_checkpoints/ , Jupyter, 51 linesEvaluate_models-checkpoi nt.ipynb - notebooks/
0.1.Application_example. , Jupyter, 101 linesipynb - notebooks/
0.2.Training_models.ipyn , Jupyter, 3 linesb - notebooks/
0.3.Noiseceilings.ipynb , Jupyter, 52 lines - notebooks/
0.4.Averaging_and_visual , Jupyter, 80 linesizing.ipynb - notebooks/
1.Evaluation_simulation. , Jupyter, 124 linesipynb - notebooks/
2.Model_recovery_simulat , Jupyter, 153 linesions.ipynb - notebooks/
3. Cortex_vs_cerebellum_glo , Jupyter, 98 linesbal.ipynb - notebooks/
4. Evaluate_group_individua , Jupyter, 103 linesl.ipynb - notebooks/
5. Evaluate_model_fusion_in , Jupyter, 51 linest.ipynb - notebooks/
6. Evaluate_model_int.ipynb , Jupyter, 168 lines - notebooks/
7. Evaluate_NNLS.ipynb , Jupyter, 68 lines - run_model.py, Python, 782 lines
- scripts/
script_export_models.py , Python, 40 lines - scripts/
script_fuse_models.py , Python, 186 lines - scripts/
script_summarize_weights , Python, 303 lines.py - scripts/
script_train_eval_models , Python, 307 lines.py - simulate.py, Python, 301 lines
- tests/
test_nnls.py , Python, 212 lines - LICENSE, License, 21 lines
- README.md, Text, 71 lines
diedrichsenlab/MultiTaskBattery
c980ff65152e15d490ed6820577e7abaedfa7550, 26 September 2026Availability: 1 check, the latest on 29 September 2026: the link answers
- 29 September 2026: the link answers
22 files
- MultiTaskBattery/
__init__.py , Python, 1 line - MultiTaskBattery/
battery.py , Python, 223 lines - MultiTaskBattery/
experiment_block.py , Python, 308 lines - MultiTaskBattery/
screen.py , Python, 191 lines - MultiTaskBattery/
task_blocks.py , Python, 2,041 lines - MultiTaskBattery/
task_file.py , Python, 2,061 lines - MultiTaskBattery/
ttl_clock.py , Python, 72 lines - MultiTaskBattery/
utils.py , Python, 192 lines - docs/
conf.py , Python, 103 lines - docs/
extension/ , Python, 361 linestask_docs.py - docs/
mds/ , Python, 170 linesmake_flatmaps.py - docs/
mds/ , Python, 119 linesmake_mds_data.py - experiments/
example_custom_task/ , Python, 48 linesconstants.py - experiments/
example_custom_task/ , Python, 77 linesmake_files.py - experiments/
example_custom_task/ , Python, 130 linesmy_tasks.py - experiments/
example_custom_task/ , Python, 24 linesrun.py - experiments/
example_minimal/ , Python, 45 linesconstants.py - experiments/
example_minimal/ , Python, 69 linesmake_files.py - experiments/
example_minimal/ , Python, 22 linesrun.py - install.py, Python, 56 lines
- LICENSE, License, 21 lines
- README.md, Text, 43 lines
Code Availability
The code for generating the results and figures in this paper is publicly available as the GitHub repository https://
Reproduced under the paper's license (CC BY), from the paper cited above.
Tracing map
Proposed by the machine: these links were found in the paper and verified at the source, without human review. The map will receive a Zenodo DOI once one of the paper's authors has validated it with their ORCID.
What the map holds:
- 5 repositories of the authors' code, each at its verified commit, with its license and how the link was found in the paper;
- 238 scripts, each with its path and the digest of its content;
- 10 matches between paragraphs of the paper and lines of the code (method lexical-v1);
- neither the text of the paper nor the code itself.
Its JSON (tracing-map.json) is deposited on Zenodo with its DOI once the map is validated.
Data
Datasets cited
- doi:10.18112/
openneuro.ds002105.v1.1. , at OpenNeuro; found in “Data Availability”0 - humanconnectome.org/
study/ , at Human Connectome Project; found in “Data Availability”hcp-young-adult
Data Availability
The raw task and rest fMRI data of the MDTB has been deposited in the openneuro database under accession code ds002105 [doi: 10.18112/
Reproduced under the paper's license (CC BY), from the paper cited above.
Versions
The history of this record: each version stored by the harvester or made by a correction of its authors or of the maintainers of its code, and what changed in its facts. The texts of the paper (its abstract, its availability statements) are not part of it; versions that changed only those are not listed.
Version 1, 30 September 2026: the first record
Recorded: type, journal, dates, 7 authors, 7 keywords, 1 funder, 106 references.
Cite
This paper
Nettekoven, C., Shahbazi, A., Arafat, B., Skenderija, M., Xiang, J. D., Luísa Pinho, A., & Diedrichsen, J. (2026). Multi-task fMRI outperforms resting-state fMRI for revealing task-invariant organization of the human brain. bioRxiv (preprint). https://
BibTeX
@article{nettekoven2026m
author = {Nettekoven, Caroline and Shahbazi, Ali and Arafat, Bassel and Skenderija, Matea and Xiang, Jinkang Derrick and Luísa Pinho, Ana and Diedrichsen, Jörn},
title = {{Multi-task fMRI outperforms resting-state fMRI for revealing task-invariant organization of the human brain}},
journal = {bioRxiv (preprint)},
year = {2026},
month = mar,
publisher = {bioRxiv},
issn = {2692-8205},
doi = {10.64898/
url = {https://
}
RIS
TY - JOUR
AU - Nettekoven, Caroline
AU - Shahbazi, Ali
AU - Arafat, Bassel
AU - Skenderija, Matea
AU - Xiang, Jinkang Derrick
AU - Luísa Pinho, Ana
AU - Diedrichsen, Jörn
TI - Multi-task fMRI outperforms resting-state fMRI for revealing task-invariant organization of the human brain
T2 - bioRxiv (preprint)
J2 - bioRxiv
PY - 2026
DA - 2026/
SN - 2692-8205
PB - bioRxiv
DO - 10.64898/
UR - https://
ER -
CSL-JSON
{
"id": "10.64898/
"type": "article",
"title": "Multi-task fMRI outperforms resting-state fMRI for revealing task-invariant organization of the human brain",
"container-title": "bioRxiv (preprint)",
"author": [
{
"family": "Nettekoven",
"given": "Caroline"
},
{
"family": "Shahbazi",
"given": "Ali"
},
{
"family": "Arafat",
"given": "Bassel"
},
{
"family": "Skenderija",
"given": "Matea"
},
{
"family": "Xiang",
"given": "Jinkang Derrick"
},
{
"family": "Luísa Pinho",
"given": "Ana"
},
{
"family": "Diedrichsen",
"given": "Jörn"
}
],
"container-title-short":
"DOI": "10.64898/
"ISSN": "2692-8205",
"publisher": "bioRxiv",
"URL": "https://
"issued": {
"date-parts": [
[
2026,
3,
10
]
]
}
}
The tracing map gets a citation of its own once an author has validated it and it has a DOI.
Similar papers
The papers with a page that share the most with this one: the tools found in their code, their categories, datasets, cited references and authors, the rarest counting most.
- [1] doi:10.21203/rs.3.rs-9326213/v1 [code]
- Multi-task fMRI outperforms resting-state fMRI for revealing task-invariant organization of the human brainJournal: Research Square (preprint)In common: neuromaps, statannotations, PsychoPy, 20 other tools, OpenNeuro 10.18112/openneuro.ds002105.v1.1.0, humanconnectome.org/study/hcp-young-adult, fMRI, cognitive, 87 references, 3 authors
- [2] doi:10.1016/j.isci.2026.116903 [code]
- Neurobiological and behavioral relevance of intrinsic functional connectome constraints on task-evoked neural activation.Journal: iScienceIn common: Connectome Workbench, GIfTI library for MATLAB, ANTs, 11 other tools, humanconnectome.org/study/hcp-young-adult, fMRI, cognitive, 11 references
- [3] doi:10.1002/hbm.70483 [code]
- Untamed: Unconstrained Tensor Decomposition and Graph Node Embedding for Cortical Parcellation.Journal: Human brain mappingIn common: Connectome Workbench, GIfTI library for MATLAB, ANTs, 12 other tools, humanconnectome.org/study/hcp-young-adult, fMRI, 10 references
- [4] doi:10.1162/imag.a.1222 [code]
- Network-based near-scalp personalized brain stimulation targets.Journal: Imaging neuroscience (Cambridge, Mass.)In common: Connectome Workbench, GIfTI library for MATLAB, ANTs, 11 other tools, 13 references
- [5] doi:10.1016/j.neuron.2026.04.011 [code]
- Precision fMRI reveals densely interdigitated network patches with conserved motifs in the lateral prefrontal cortex.Journal: NeuronIn common: Connectome Workbench, GIfTI library for MATLAB, ANTs, 11 other tools, fMRI, 13 references
- [6] doi:10.1162/imag.a.1323 [code]
- SUITPy: A Python-based toolbox for the analysis of cerebellar functional and anatomical imaging data across the human lifespan.Journal: Imaging neuroscience (Cambridge, Mass.)In common: ANTs, Nilearn, Plotly, 5 other tools, 3 references, 4 authors
- [7] doi:10.1038/s41467-026-73668-y [code]
- Convergent and divergent brain-cognition development in early adolescence.Journal: Nature communicationsIn common: Connectome Workbench, GIfTI library for MATLAB, ANTs, 13 other tools, fMRI, 8 references
- [8] doi:10.1038/s41467-026-72931-6 [code]
- Three parsimonious spatiotemporal patterns in cerebellum reveal individual traits in function and behavior.Journal: Nature communicationsIn common: Connectome Workbench, Nilearn, NiBabel, 7 other tools, humanconnectome.org/study/hcp-young-adult, fMRI, cognitive, 11 references
- [9] doi:10.1038/s41467-026-71568-9 [code]
- Convergent and selective representations of pain, appetitive processes, aversive processes, and cognitive control in the insula.Journal: Nature communicationsIn common: Connectome Workbench, ANTs, FreeSurfer, 11 other tools, cognitive, 8 references
- [10] doi:10.1038/s41398-026-04025-2 [code]
- Brain energetic landscapes shape state dysregulation in major depressive disorder: a morphological network controllability perspective.Journal: Translational psychiatryIn common: neuromaps, Connectome Workbench, GIfTI library for MATLAB, 15 other tools, 3 references
Contribute
The authors of this paper can claim it, correct its record and validate its tracing map, and the maintainers of its code (its owner, or a public member of its organization) correct what it says of their repository; anyone signed in can ask for its removal. Every request goes to OSCR's own machine, which answers it; your account page follows them.
Sign in with ORCID to claim this paper as one of its authors, correct its record or validate its tracing map: when the paper's metadata lists your ORCID iD, you are recognized at once. Maintainers of its code: sign in with GitHub, then claim the repository on your account page.
Claim this paper
Correct its record
Say what each link of this record is, remove the ones that are not the paper's, add the ones that are missing. The correction becomes a new version of the record, in its Versions section.
Validate its tracing map
You validate the map as this page shows it: 5 repositories of the authors' code, each at its verified commit and with its license, 238 scripts, and 10 matches between paragraphs and code (see the Code and Map sections). It then receives a DOI on Zenodo, with you (your ORCID iD) and OSCR as its creators; the code itself is not deposited.
The map's fingerprint: sha256:e596643e8f470cc1…
Add the badge to its README
The badge links the code to this page. Copy one of these into the README of the paper's code: only you decide where it goes, and nothing is changed for you.
Markdown
[, paste the snippet at the top, then “Commit changes…” and, to review it first, “Create a new branch and start a pull request”. You open the pull request; OSCR asks for no permission.
Request its removal
To ask OSCR to remove this record, the copies of its authors' scripts or its tracing map, use the removal request page: signed in, you say who you are, what to remove and why, then review and confirm the request. Published rules decide every request (how).
Discussion, reproductions, activity
Discussion: questions and error reports about this paper and its code, from signed-in readers and its authors. It opens with sign-in.
Reproductions: reports from readers who ran the authors' code: what they reproduced, with which environment, commit and data. It opens with sign-in.
Activity: what happens around this paper: new versions of its record, its map's validation, discussions and reproductions. It opens with sign-in.
