# MCI Classification

MCI Classification Example

## Overview We present the MCI classification training and inference code for BrainIAC as a downstream task. The pipeline is trained and infered on T1 scans, with AUC and F1 as evaluation metric. ## Data Requirements - **Input**: T1-weighted MR scans - **Format**: NIFTI (.nii.gz) - **Preprocessing**: Bias field corrected, registered to standard space, skull stripped, histogram normalized (optional) - **CSV Structure**: ``` pat_id,scandate,label subject001,20240101,1 # 1 for MCI, 0 for healthy control ``` refer to [ quickstart.ipynb](../quickstart.ipynb) to find how to preprocess data and generate csv file. ## Setup 1. **Configuration**: change the [config.yml](../config.yml) file accordingly. ```yaml # 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/mci_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**: ```bash python -m MCIclassification.train_mci ``` 3. **Inference**: ```bash python -m MCIclassification.infer_mci ```