Skip to content

tmquan/RefineGAN

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RefineGAN


This repository holds the code for RefineGAN,

Overview of the proposed method: it aims to reconstruct the images which are satisfied the constraint of under-sampled measurement data; and whether those look similar to the fully aliasing-free results. Additionally, if the fully sampled images taken from the database go through the same process of under-sampling acceleration; we can still receive the reconstruction as expected to the original images.

Two learning processes are trained adversarially to achieve better reconstruction from generator G and to fool the ability of recognizing the real or fake MR image from discriminator D

The cyclic data consistency loss, which is a combination of under-sampled frequency loss and the fully reconstructed image loss.

Generator G, built by basic building blocks, can reconstruct inverse amplitude of the residual component causes by reconstruction from under-sampled k-space data. The final result is obtained by adding the zero-filling reconstruction to the output of G


It is developed for research purposes only and not for commercialization. If you use it, please refer to our work.

@ARTICLE{8327637, 
author={T. M. Quan and T. Nguyen-Duc and W. Jeong}, 
journal={IEEE Transactions on Medical Imaging}, 
title={Compressed Sensing MRI Reconstruction Using a Generative Adversarial Network With a Cyclic Loss}, 
year={2018}, 
volume={37}, 
number={6}, 
pages={1488-1497}, 
doi={10.1109/TMI.2018.2820120}, 
ISSN={0278-0062}, 
month={June},
}

Directory structure of data:

 tree data
 data/
├── brain
│   ├── db_train
│   └── db_valid
├── knees
│   ├── db_train
│   └── db_valid
└── mask
    ├── cartes
    │   ├── mask_1
    │   ├── mask_2
    │   ├── ...
    │   └── mask_9
    ├── gauss
    │   ├── mask_1
    │   ├── mask_2
    │   ├── ...
    │   └── mask_9
    ├── radial
    │   ├── mask_1
    │   ├── mask_2
    │   ├── ...
    │   └── mask_9
    └── spiral
        ├── mask_1
        ├── mask_2
        ├── ...
        └── mask_9

Brain data is used for magnitude-value experiment, it is extracted from http://brain-development.org/ixi-dataset/

Knees data is used for complex-value experiment, it is extracted from http://mridata.org


Prerequisites

sudo pip install tensorflow_gpu==1.4.0
sudo pip install tensorpack==0.8.2
sudo pip install scikit-image==0.13.0
sudo pip install whatever-missing_libraries

To begin, the template for such an experiment is provided in exp_dset_RefineGAN_mask_strategy_rate.py

For example, if you want to run the training and testing for case knees data, mask radial 10%, please make a soft link to the experiment name, like this

ln -s exp_dset_RefineGAN_mask_strategy_rate.py 	 \
	  exp_knees_RefineGAN_mask_radial_1.py

To train the model

python exp_knees_RefineGAN_mask_radial_1.py  	 \
	    --gpu='0'				 \
	    --imageDir='data/knees/db_train/'    \
	    --labelDir='data/knees/db_train/'    \
	    --maskDir='data/mask/radial/mask_1/' 

Checkpoint of training will be save to directory train_log


To test the model

mkdir result 


python exp_knees_RefineGAN_mask_radial_1.py  	 \
	    --gpu='0' 				 \
	    --imageDir='data/knees/db_valid/' 	 \
	    --labelDir='data/knees/db_valid/' 	 \
	    --maskDir='data/mask/radial/mask_1/' \
	    --sample='result/exp_knees_RefineGAN_mask_radial_1/' \
	    --load='train_log/exp_knees_RefineGAN_mask_radial_1/max-validation_PSNR_boost_A.data-00000-of-00001'   

The authors would like to thank Dr. Yoonho Nam for the helpful discussion and MRI data, and Yuxin Wu for the help on Tensorpack.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages