Divyanshu Tak
V0-commit
5a169ab

Brain Age Prediction

Brain Age Prediction Example

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

  1. 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 weights
    
  2. Training:

    python -m Brainage.train_brainage
    
  3. Inference:

    python -m Brainage.infer_brainage