This repository contains the code for CPCE-3D network introduced in the following paper
Make sure you have Python 2.7 installed, then install TensorFlow and Scikit-learn on your system.
In order to start the training process, please prepare your training data
in the following form:
data
: N x D x W x Hlabel
: N x W x H
Here N, D, W, and H are number, depth, width, and height of the input data, respectively. Each label corresponds to the central slice of input data. Then data
and label
are stored in a hdh5
file.
Please also download the pre-trained VGG model from here. Link updated on Jan 23, 2019.
python main.py
If you want to use the transfer learning from 2D to 3D, please train a 2D model first. The CPCE-3D
model here can automatically deal with 2D input and 3D input with various depths (3, 5, 7, and 9), relying on the input size. A simple 2D model CPCE-2D
and its shortcut connection version are added for only 2D case.
If you found this code or our work useful please cite us
@article{shan20183d,
title={3-D Convolutional Encoder-Decoder Network for Low-Dose CT via Transfer Learning from a 2-D Trained Network},
author={Shan, Hongming and Zhang, Yi and Yang, Qingsong and Kruger, Uwe and Kalra, Mannudeep K and Sun, Ling and Cong, Wenxiang and Wang, Ge},
journal={IEEE Transactions on Medical Imaging},
volume={37},
number={6},
pages={1522--1534},
year={2018},
publisher={IEEE}
}
shanh at rpi dot edu
Any discussions, suggestions and questions are welcome!