We used this dataset based on the paper by Yamashita et al.. To run this code, the data should be downloaded and extracted (~75 GB compressed, ~250 GB uncompressed).
To run the preprocessing:
- Download some or all of the dataset. Should be a folder called
SRPBS_OPEN
with a bunch of metadata files*.tsv
and adata
subdirectory. - Change the file extensions on the rsfMRI scans to .nii (not clear why these aren't already like this...):
python Preprocessing/rename_nii_files.py <path-to-SBPBS_OPEN>
- Run the MATLAB preprocessing script for a particular subject:
preproprocessing_pipeline('path-to-SRPBS_OPEN', subject-number)
- For batch preprocessing, save the ids of the subjects to be processed in a text file and call
run_propro('path-to-SRPBS_OPEN', 'path-to-ids-file', Nth-subject-in-ids-file-to-run)
. An example is shown inPreprocessing/prepro_COI.sh
to run on the ETH computing cluster. - Additionally,
preproprocessing_pipeline
can be called with a third parameter, specifying which steps of the pipeline to run.
The final output for rDCM is rDCM/dcm_A_<subject-number>.mat
and for correlations is correlation/correlation_components_<subject-number>.mat
Classifier and cross validation protocols are specified in Classifier/run_classifiers.py
. Different datasets variations are specified in Classifier/run_different_classifier_splits.ipynb
, and this notebook is also used to launch classifier training.
Summary classification results graphs are generated in Dataset Analysis/Stats_on_Classifiers.ipynb
. Statistical tests are performed in Dataset Analysis/descriptive_stats.ipynb
.
Some information about the scan protocols they used is here. (Actually, just found that some of the missing field map parameters might be specified in the .nii metadata when opening an individual scan volume in SPM).