Skip to content

SynSeg-Net: Synthetic Segmentation Without Target Modality Ground Truth

Notifications You must be signed in to change notification settings

MASILab/SynSeg-Net

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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}
}

About

SynSeg-Net: Synthetic Segmentation Without Target Modality Ground Truth

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages