Skip to content

Supervised Predictive Medical Image Registration Model

Notifications You must be signed in to change notification settings

jw4hv/deepflash

Repository files navigation

************************** DeepFLASH ************************** 
This repository contains source code and data of a predictive diffeomorphic image registration (https://arxiv.org/abs/2004.02097).


************************** Disclaimer ************************** 
This software is published for academic and non-commercial use only.

The implementation includes network training, testing for 2D and 3D medical image registration. We request you to cite our research paper if you use it:

DeepFLASH: An Efficient Network for Learning-based Medical Image Registration.
Jian Wang, Miaomiao Zhang. IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2020.

```
@inproceedings{wang2020deepflash,
  title={DeepFLASH: An Efficient Network for Learning-based Medical Image Registration},
  author={Wang, Jian and Zhang, Miaomiao},
  booktitle={Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition},
  pages={4444--4452},
  year={2020}
}
```

************************** Setup ************************** 
* [PyTorch 3.4](http:https://pytorch.org/)
* [PyCA](https://bitbucket.org/scicompanat/pyca) 
* [FLASH] (https://bitbucket.org/FlashC/flashc/src/master/)
* [CUDA 9.0](https://developer.nvidia.com/cuda-downloads)
* [Anaconda 4.3.1](https://anaconda.org)

************************** Usage ************************** 
Below is a *QuickStart* guide on how to use DeepFLASH for network training and testing.

========================= Training ========================
Required Input Data: pairwise images and associated initial velocity field.
Please note that the optimal registration solutions (bandlimited initial velocity fields) of our network training is generated by FLASH algorithm [1] (https://bitbucket.org/FlashC/flashc).
You may also run other registration algorithm to estimate the initial velocity fields and use our provided MATLAB preprocess scripts (/DeepFLASH/preprocess/processmhd.m, please follow the instruction in /DeepFLASH/preprocess/Preprocessing_instruction.txt) to extract the frequencies.

Steps: 

cd DeepFLASH/
sh runDeepFLASH_training.sh

python3 DeepFLASH_train.py -h
  --network_type 
                        specify network type
  --im_src_realpart IM_SRC_REALPART
                        root directory of real parts of source images
  --im_tar_realpart IM_TAR_REALPART
                        root directory of real parts of target images
  --im_vel_realX IM_VEL_REALX
                        root directory of real parts of velocity fields 
                        (X direction)
  --im_vel_realY IM_VEL_REALY
                        root directory of real parts of velocity fields 
                        (Y direction)
  --im_vel_realZ IM_VEL_REALZ
                        root directory of real parts of velocity fields
                        (Z direction)
  --im_src_imaginarypart IM_SRC_IMAGINARYPART
                        root directory of imaginary parts of source images
  --im_tar_imaginarypart IM_TAR_IMAGINARYPART
                        root directory of imaginary parts of target images
  --im_vel_imagX IM_VEL_IMAGX
                        root directory of imaginary parts of velocity fields 
                        (X direction)
  --im_vel_imagY IM_VEL_IMAGY
                        root directory of imaginary parts of velocity fields
                        (Y direction)
  --im_vel_imagZ IM_VEL_IMAGZ
                        root directory of imaginary parts of velocity fields
                        (Z direction)


========================= Testing ========================
sh runDeepFLASH_testing.sh

python3 DeepFLASH_test.py -h
--network_type 
                        specify network type
--saved_model 
                        root directory of the saved model
--im_src_realpart IM_SRC_REALPART
                        root directory of real parts of source images
--im_tar_realpart IM_TAR_REALPART
                        root directory of real parts of target images
--im_src_imaginarypart IM_SRC_IMAGINARYPART
                        root directory of imaginary parts of source images
--im_tar_imaginarypart IM_TAR_IMAGINARYPART
                        root directory of imaginary parts of target images
                        
                        
 ************************** Reference **************************                   
 [1]. Zhang et. al, Fast diffeomorphic image registration via Fourier-approximated Lie algebras, 2019 IJCV. 







About

Supervised Predictive Medical Image Registration Model

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages