GithubHelp home page GithubHelp logo

sankaushik / unpaired-cross-modality-image-synthesis Goto Github PK

View Code? Open in Web Editor NEW

This project forked from gyhandy/unpaired_mr_to_ct_image_synthesis

0.0 0.0 0.0 1.34 GB

Whole-body MR to CT image mapping

Python 98.56% Shell 1.44%

unpaired-cross-modality-image-synthesis's Introduction

Unpaired-Cross-modality-Image-Synthesis

This is our PyTorch implementation for Unpaired whole-body MR to CT Image Synthesis. It is still under active development.

The code was written by Yunhao Ge Website based on the structure of Cycle-GAN (Jun-Yan Zhu).

**Unpaired MR to CT Synthesis with Explicit Structural Constrained Adversarial Learning: PDF

**Unpaired Whole-body MR to CT Synthesis with Correlation Coefficient Constrained Adversarial Learning: PDF

Citation

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

Unpaired MR to CT Synthesis with Explicit Structural Constrained Adversarial Learning. Yunhao Ge∗,Dongming Wei∗,Zhong Xue, Qian Wang, Xiang Zhou, Yiqiang Zhan, Shu Liao. In IEEE International Symposium on Biomedical Imaging (ISBI), 2019. (* equal contributions)

Unpaired Whole-body MR to CT Synthesis with Correlation Coefficient Constrained Adversarial Learning. Yunhao Ge, Zhong Xue, Tuoyu Cao, Shu Liao. In SPIE-Medical Imaging, 2019.

Abstract

MR to CT image synthesis plays an important role in medical image analysis, and its applications included, but not limited to PET-MR attenuation correction and MR only radiation therapy planning.Recently, deep learning-based image synthesis techniques have achieved much success. However, most of the current methods require large scales of paired data from two different modalities, which greatly limits their usage as in some situation paired data is infeasible to obtain. Some efforts have been proposed to relax this constraint such as cycle-consistent adversarial networks (Cycle-GAN). However, the cycle consistency loss is an indirect structural similarity constraint of input and synthesized images, and it sometimes lead to inferior synthesized results.
Contribution
1 Proposed an explicit structural constrained adversarial learning method to improve both the realistic and precise of the synthesized images which were unique to cross-modality medical image mapping
2 Designed a novel correlation coefficient loss, which directly constrained the structural similarity between the input Magnetic Resonance (MR) and synthesized Computed Tomography (CT) image, to solve the mismatch of anatomical structures in synthesized CT images
3 Developed a shape discriminator to incorporate the shape consistency information by extracting shape masks from two modality images to improve the synthesis quality. Gained substantial quality improvement especially in the surface shape and bone in whole body image mapping

original_data

pipeline

performance

Code description

data

Medical raw data preprocess and dataset class

  • Turn the 3D slice Medical image to 2D slice and satisfy the data structure of algorithm,dataset_pre_new.py
  • Dataset containing (MR, CT, MR_mask) when training,unaligned_dataset.py
  • Sigle dataset containing MR only when testing/mapping,single_dataset.py
  • Basic dataset class of Cycle-GAN,base_dataset.py

models

Models define and structures

  • Basic model structure,base_model.py
  • Explicit constraint adversarial learning model based on Cycle-GAN,cycle_gan_model.py
  • Mapping model when testing,test_model.py
  • Basic class and networks,networks.py

options

Parameter settings when training and testing

datasets

  • test original data from one patient with 4 modality MR images and unpaired CT images,ZS18158187
  • training dataset with trainA(MR), trainB(CT), maskA(MR_mask), testA(MR) and testB(CT)MR2CT

CT_segmentation

Training a shape extractor for our explicit constraint adversarial learning

Unet

Shape extractor defination of structure of Unet

checkpoints

Our trained model with unpaired whole-body MR and CT images

  • our best performance model with our method,Self+Lcc_finetune
  • trained model with only correlation coefficient loss,cycle_Lcc

output

output of test-adapt or test_pipeline

fill_hole.py

Prepare training data for MR and CT mask

train.py

Train a new model with our explicit constraint adversarial learning

test-adapt.py

Make a image synthesis with our trained model on one patient (We have already made the data preprocess, and you can find the synthesised data in output)

test-pipeline.py

Make image synthesis with our trained model on multiple data

Getting Started

Installation

pip install visdom dominate
  • Alternatively, all dependencies can be installed by
pip install -r requirements.txt
  • Clone this repo:
git clone https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix
cd pytorch-CycleGAN-and-pix2pix
  • For Conda users, we include a script ./scripts/conda_deps.sh to install PyTorch and other libraries.

train a explicit constraint model on MR to CT mapping

For the dataset in training and testing, please create a new document 'datasets' and prepare the data by yourself.

python train.py

The trained model will be saved to : ./checkpoints/{model_name}.

test our trained model

python test-adapt.py

The test results will be saved to : ./output/{model_name}.

cite

Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks Jun-Yan Zhu*, Taesung Park*, Phillip Isola, Alexei A. Efros In ICCV 2017. (* equal contributions) [Bibtex]

unpaired-cross-modality-image-synthesis's People

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.