GithubHelp home page GithubHelp logo

lfxuan / synseg-net Goto Github PK

View Code? Open in Web Editor NEW

This project forked from masilab/synseg-net

0.0 0.0 0.0 1.17 MB

SynSeg-Net: Synthetic Segmentation Without Target Modality Ground Truth

Python 100.00%

synseg-net's Introduction

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

synseg-net's People

Contributors

yuankaihuo avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.