Huabing Liu*, Jiawei Huang, Dengqiang Jia, Qian Wang, Jun Xu, and Dinggang Shen
@article{liu2024transferring, title={Transferring Adult-like Phase Images for Robust Multi-view Isointense Infant Brain Segmentation}, author={Liu, Huabing and Huang, Jiawei and Jia, Dengqiang and Wang, Qian and Xu, Jun and Shen, Dinggang}, journal={IEEE Transactions on Medical Imaging}, year={2024}, publisher={IEEE} }
This repo includes the source codes and pretrained models for our latest work on isointense infant brain segmentation. The two major components are 1) disentangled cycle-consistent adversarial network (dcan) for style transfer between isointense and adult-like phase images; 2) the segmentation network coseg that implements multi-view learning to incorporate adult-like phase images in isointense infant brain segmentation. If you find this repo useful, please give it a star ⭐ and consider citing our paper in your research. Thank you.
pip install -r requirements.txtBuild up the workspace, so that everything can be correctly stored:
sh install.shFor your own dataset, format each data as:
|--<name_of_the_data>
|-- t1.nii.gz
|-- t2.nii.gz
|-- seg.nii.gzfor T1-weighted images, T2-weighted images, and segmentation (if exists), respectively.
Then put formatted data into correct folders:
- for isointense phase images, put them into <pwd>/dcan/data/raw/6m
- for adult-like phase images, put them into <pwd>/dcan/data/raw/12m
Suppose <pwd> is the directory of this repo
For test-only purpose of this repo, we have shared all the pretrained models:
| Method | Model Zoo |
|---|---|
| dcan | Google Drive |
| coseg | Google Drive |
Put downloaded *.pth into Results folders
3. Run DCAN
Run proc.ipynbModify the proc.ipynb:
- for processing isointense phase images:
data_path = 'data/raw/6m'
out_path = 'data/processed/6m'- for processing adult-like phase images:
data_path = 'data/raw/12m'
out_path = 'data/processed/12m'Python3 train.pyRun syn.ipynbModify the syn.ipynb:
- for transferring isointense phase images to adult-like contrast
config.dataset.src_dir = 'data/processed/6m'
config.dataset.dst_dir = 'data/processed/12m'- for transferring adult-like phase images to isointense contrast:
config.dataset.src_dir = 'data/processed/12m'
config.dataset.dst_dir = 'data/processed/6m'4. Run COSEG
Run proc.ipynbModify the proc.ipynb
- for processing source isointense phase images:
data_path = '../dcan/data/processed/6m'
out_path = 'data/processed/6m'- for processing synthetic isointense phase images:
data_path = '../dcan/data/syn/6m'
out_path = 'data/syn/6m'- for processing source adult-like phase images:
data_path = '../dcan/data/processed/12m'
out_path = 'data/processed/12m'- for processing synthetic adult-like phase images:
data_path = '../dcan/data/syn/12m'
out_path = 'data/syn/12m'sh train.shpython3 test.pyIf you find any bugs upon running this repo, please raise an issue in the github page or send me an email (hbliu98@gmail.com).