IPLC: Iterative Pseudo Label Correction Guided by SAM for Source-Free Domain Adaptation in Medical Image Segmentation (MICCAI 2024 early accept)
Non-exhaustive list:
- python3.9+
- Pytorch 1.10.1
- nibabel
- Scipy
- NumPy
- Scikit-image
- yaml
- tqdm
- pandas
- scikit-image
- SimpleITK
- Download the M&MS Dataset, and organize the dataset directory structure as follows:
your/data_root/
train/
img/
A/
A0S9V9_0.nii.gz
...
B/
C/
...
lab/
A/
A0S9V9_0_gt.nii.gz
...
B/
C/
...
valid/
img/
lab/
test/
img/
lab/
The network takes nii files as an input. The gt folder contains gray-scale images of the ground-truth, where the gray-scale level is the number of the class (0,1,...K).
-
Download the SAM-Med2D model and move the model to the "your_root/pretrain_model" directory in your project.
-
Train the source model in the source domain, for instance, you can train the source model using domain A on the M&MS dataset:
python train_source.py --config "./config/train2d_source.cfg"
- Adapt the source model to the target domain, for instance, you can adapt the source model to domain B on the M&MS dataset:
python adapt_main.py --config "./config/adapt.cfg"
If you find this project useful for your research, please consider citing:
@inproceedings{zhang2024iplc,
title={IPLC: iterative pseudo label correction guided by SAM for source-free domain adaptation in medical image segmentation},
author={Zhang, Guoning and Qi, Xiaoran and Yan, Bo and Wang, Guotai},
booktitle={International Conference on Medical Image Computing and Computer-Assisted Intervention},
pages={351--360},
year={2024},
organization={Springer}
}
- Thanks to the open-source of the following projects: Segment Anything; SAM-Med2D