This chainer implementation is based on "Tanno R. et al. (2017) Bayesian Image Quality Transfer with CNNs: Exploring Uncertainty in dMRI Super-Resolution. In: Descoteaux M., Maier-Hein L., Franz A., Jannin P., Collins D., Duchesne S. (eds) Medical Image Computing and Computer Assisted Intervention − MICCAI 2017. Lecture Notes in Computer Science, vol 10433. Springer, Cham".
Note that this is not official implementation.
The difference between original paper and this as follow:
-
Dataset
-
I only implement baseline model (3D-ESPCN).
-
Definition of pixel shuffler
I think this is correct definition.
F: input feature map
c: number of output image channel
S: Pixel shuffler
i, j, k, c: coordinate in output image
r: upsampling rate
-
chainer
-
cupy
-
SimpleITK
-
pyyaml
-
Download dataset here.
Please put all dataset to
data/raw
after you unzipped it. -
Make mhd data and LR image
# Make mhd data in data/interim python util\miscs\clean_data.py # Make LR and HR images in data/processed python util\miscs\make_lr_img.py
- LR image sample (x1/4)
- HR image sample
-
Train model
python training.py -g 0
-
Infer HR images and evaluate infered HR images in terms of PSNR and SSIM.
python inference.py -g 0 -m results\training\gen_iter_100000.npz
-
I think I cant reconstruct detail of image, e.g. texture 😭
-
If you use this implementation, you should optimize this model for your task.
-
Note that this is just my hobby. So, please dont care this results. 😸