UFA-Net method proposed in paper Unsupervised Cross-Domain Functional MRI Adaptation for Automated Major Depressive Disorder Identification
Project description
UFANet
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".
0. Dependencies
torch==1.10.0
torchvision==0.2.1
numpy==1.21.2
scikit_learn==1.1.3
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.npy
(SrcNum, 1, T, NodeNum, 1)
src_lbl.npy(SrcNum, )
tgt_data.npy(TgtNum, 1, T, NodeNum, 1)
tgt_lbl.npy(TgtNum, )
adj_matrix.npy(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: main_pretrain.py
The pretrained model is saved in: checkpoints_pretrain
2.2. Using $L_{C}$ and $L_{MMD}$ to train the whole network
Run: main_UDA.py
The classification results are saved in: checkpoints
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.