Skip to content
SynSeg-Net: Synthetic Segmentation Without Target Modality Ground Truth
Python
Branch: master
Clone or download
Latest commit df3c261 Mar 29, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
data add source code Feb 1, 2018
imgs update Feb 1, 2018
models
options
sublist add sublist Feb 1, 2018
torchsrc add source code Feb 1, 2018
util add source code Feb 1, 2018
LICENSE1 update Feb 1, 2018
LICENSE2 update Feb 1, 2018
README.md Update README.md Mar 29, 2019
sublist.py add source code Feb 1, 2018
train_yh.py update Feb 1, 2018

README.md

SynSeg-Net

(End-to-end Synthesis and Segmentation Network)

Adversarial Synthesis Learning Enables Segmentation Without Target Modality Ground Truth

This is our ongoing PyTorch implementation for end-to-end synthesis and segmentation without groudtruth. The paper can be found in arXiv for ISBI 2018 The video can be found in video on youtube

The code was written by Yuankai Huo and developed upon CycleGAN Torch.

If you use this code for your research, please cite :

Yuankai Huo, Zhoubing Xu, Shunxing Bao, Albert Assad, Richard G. Abramson, Bennett A. Landman. Adversarial Synthesis Learning Enables Segmentation Without Target Modality Ground Truth. In arXiv (2017).

or

Yuankai Huo, Zhoubing Xu, Hyeonsoo Moon, Shunxing Bao, Albert Assad, Tamara K. Moyo, Michael R. Savona, Richard G. Abramson, and Bennett A. Landman. SynSeg-Net: Synthetic Segmentation Without Target Modality Ground Truth. IEEE transactions on medical imaging (2018).

Prerequisites

  • Linux or macOS
  • Python 2
  • CPU or NVIDIA GPU + CUDA CuDNN
  • pytorch 0.2

Training Data and Testing Data

We used MRI and CT 2D slices (from coronal view) as well as MRI segmentatons as training data. We used CT 2D slices (from coronal view) as testing data The data orgnization can be seen in the txt files in sublist directory

Training

  • Train the model
python train_yh.py --dataroot ./datasets/yh --name yh_cyclegan_imgandseg --batchSize 4 --model cycle_seg --pool_size 50 --no_dropout --yh_run_model Train --dataset_mode yh_seg --input_nc 1  --seg_norm CrossEntropy --output_nc 1 --output_nc_seg 7 --checkpoints_dir /home-local/Cycle_Deep/Checkpoints/ --test_seg_output_dir /home-local/Cycle_Deep/Output/  --display_id 0 
  • 'name' is --model "cycle_seg" means EssNet --yh_run_model " Train" means do training --output_nv_seg defines number of segmentation labels --checkpoints_dir the place to save checkpoint (model) --test_seg_output_dir the place to save the test segmentation

Testing

  • Test the synthesis
python train_yh.py --dataroot ./datasets/yh --name yh_cyclegan_imgandseg --batchSize 4 --model cycle_gan --pool_size 50 --no_dropout --yh_run_model Test --dataset_mode yh --input_nc 1 --output_nc 1 --checkpoints_dir /home-local/Cycle_Deep/Checkpoints/ --test_seg_output_dir /home-local/Cycle_Deep/Output/ --which_epoch 50
  • Test the segmentation
python train_yh.py --dataroot ./datasets/yh --name yh_cyclegan_imgandseg --batchSize 4 --model test_seg --pool_size 50 --no_dropout --yh_run_model TestSeg --dataset_mode yh_test_seg  --input_nc 1 --output_nc 1 --checkpoints_dir/home-local/Cycle_Deep/Checkpoints/ --test_seg_output_dir /home-local/Cycle_Deep/Output/ --which_epoch 50
  • 'name' is --which_epoch which training epoch to load

Citation

If you use this code for your research, please cite our papers.

@article{huo2017adversarial,
  title={Adversarial Synthesis Learning Enables Segmentation Without Target Modality Ground Truth},
  author={Huo, Yuankai and Xu, Zhoubing and Bao, Shunxing and Assad, Albert and Abramson, Richard G and Landman, Bennett A},
  journal={arXiv preprint arXiv:1712.07695},
  year={2017}
}
You can’t perform that action at this time.