Brain Age Prediction
Overview
We present the brainage prediction training and inference code for BrainIAC as a downstream task. The pipeline is trained and infered on T1 scans, with MAE as evaluation metric.
Data Requirements
- Input: T1-weighted MRI scans
- Format: NIFTI (.nii.gz)
- Preprocessing: Bias field corrected, registered to standard space, skull stripped
- CSV Structure:
pat_id,scandate,label subject001,20240101,65 # brain age in years
refer to quickstart.ipynb to find how to preprocess data and generate csv file.
Setup
Configuration: change the config.yml file accordingly.
# config.yml data: train_csv: "path/to/train.csv" val_csv: "path/to/val.csv" test_csv: "path/to/test.csv" root_dir: "../data/sample/processed" collate: 1 # single scan framework checkpoints: "./checkpoints/brainage_model.00" # for inference/testing train: finetune: 'yes' # yes to finetune the entire model freeze: 'no' # yes to freeze the resnet backbone weights: ./checkpoints/brainiac.ckpt # path to brainiac weightsTraining:
python -m Brainage.train_brainageInference:
python -m Brainage.infer_brainage