/UFANet

Primary LanguagePython

Unsupervised Cross-Domain Functional MRI Adaptation

This is a code implemention of the UFA-Net method proposed in the manuscipt "Unsupervised Cross-Domain Functional MRI Adaptation for Automated Major Depressive Disorder Identification".

1. Data Construction

We construct a demo consisting of 10 source examples and 10 target examples.

Run: synthesize_data.py

The shape of the constructed data and label:
src_data (SrcNum, 1, T, NodeNum, 1)
src_lbl (SrcNum, )
tgt_data (TgtNum, 1, T, NodeNum, 1)
tgt_lbl (TgtNum, )
adj_matrix (NodeNum, NodeNum)

where
SrcNum is the number of subjects in the source domain
TgtNum is the number of subjects in the target domain
T is the number of time points of a fMRI scan (here is 200)
NodeNum is the number of brain nodes/ROIs (here is 116, corresponding to AAL116 atlas)

2. Model Training and Validation

This is a two-step optimization method.

2.1. Using $L_{C}$ to initialize the network parameter (not involve domain adaptation)

Run: ../codes/main_pretrain.py
The pretrained model is saved in: ../codes/checkpoints_pretrain/

2.2. Using $L_{C}$ and $L_{MMD}$ to train the whole network

Run: ../codes/main_UDA.py
The classification results are saved in: ../codes/checkpoints/