This repository contains the reference implementation for automated cardiac segmentation and diasease classification introduced in the following paper: "Fully Convolutional Multi-scale Residual DenseNets for Cardiac Segmentation and Automated Cardiac Diagnosis using Ensemble of Classifiers" https://doi.org/10.1016/j.media.2018.10.004
If you find this reference implementation useful in your research, please consider citing:
@article{khened2019fully,
title={Fully convolutional multi-scale residual DenseNets for cardiac segmentation and automated cardiac diagnosis using ensemble of classifiers},
author={Khened, Mahendra and Kollerathu, Varghese Alex and Krishnamurthi, Ganapathy},
journal={Medical image analysis},
volume={51},
pages={21--45},
year={2019},
publisher={Elsevier}
}
- Register and download ACDC-2017 dataset from https://www.creatis.insa-lyon.fr/Challenge/acdc/index.html
- Create a folder outside the project with name ACDC_DataSet and copy the dataset.
- From the project folder open file data_preprocess/acdc_data_preparation.py.
- In the file, set the path to ACDC training dataset is pointed as:
complete_data_path = '../../ACDC_DataSet/training'
. - Run the script acdc_data_preparation.py.
- The processed data for training is generated outside the project folder named processed_acdc_dataset.
- From the project folder open file estimators/train.py and configure the network hyper-parameters.
- From the project folder open file estimators/config.py and configure the training hyper-parameters.
- Run the script train.py.
- Outside the project in the folder named trained_models/ACDC/ the model weights and tensorboard summary are saved.
- While training the training summary can be accessed running:
tensorboard --logdir='path_to/trained_models/ACDC/FCRD_ACDC/summary'
.
- From the project folder open file estimators/test.py and configure the testing hyper-parameters, path to trained model weights and ACDC-2017 testing dataset.
- Run the script test.py.
- The predictions are saved in the path trained_models/ACDC/FCRD_ACDC/predictions_TIMESTAMP
- Extract Features from the training dataset by running: generate_cardiac_features_train.py
- Extract Features from the testing dataset by running: generate_cardiac_features_test.py
- Run the scripts stage_1_diagnosis.py and stage_2_diagnosis.py in sequence
- The final cardiac disease prediction results on the test set are generated in the prediction folder