Implementation of the paper "A novel approach to keypoint detection for the aesthetic evaluation of breast cancer surgery outcomes" by Tiago Gonçalves, Wilson Silva, Maria J. Cardoso and Jaime S. Cardoso.
To clone this repository, open a Terminal window and type:
$ git clone https://github.com/TiagoFilipeSousaGoncalves/Deep-Image-Segmentation-for-Breast-Contour-Detection.git
Then go to the repository's main directory:
$ cd Deep-Image-Segmentation-for-Breast-Contour-Detection
We advise you to create a virtual Python environment first (Python 3.7). To install the necessary Python packages run:
$ pip install -r requirements.txt
To get access to the dataset used in this paper, please send an e-mail to tiago.f.goncalves@inesctec.pt.
The original train_test_indices.pickle file is already provide. However, you may generate this file by running:
$ python generate_train_test_split_indices_cv5.py
First, we need to train the ISBI Model:
$ python isbi_model_train.py
Then, we generate the ISBI Model Predictions (which are needed for the rest of the models):
$ python isbi_model_predict.py
We are then ready to move to the Hybrid Model, which integrates train and prediction in the same script:
$ python hybrid_model_predict.py
We must convert the Hybrid Model predictions to the same notation as ISBI Model predictions (for scoring purposes):
$ python hybrid_model_reshape_predictions.py
This model is based on U-Net++ Model. We first train a U-Net++ Model with our data:
$ python segmentation_based_model_unetpp_train.py
Then, we generate breast masks with the U-Net++ trained model:
$ python segmentation_based_model_unetpp_predict.py
Finally, we perform contour detection in the U-Net++ predicted masks and combine with the ISBI Model predictions to get a refined breast contour detection:
$ python segmentation_based_model_predict.py
To generate scores you must run the scoring scripts:
$ python isbi_model_scoring_results.py
$ python hybrid_model_scoring_results.py
$ python segmentation_based_model_scoring_results.py
To generate scores and to plot the predictions, you may run the plot_predictions_and_get_scores.ipynb, using Jupyter-Notebook or Jupyter-Lab. To install Jupyter-Lab:
$ pip install jupyterlab
And then run:
$ jupyter-lab
If you use this repository in your research work, please cite this paper:
@article{gonccalvesnovel,
title={A novel approach to keypoint detection for the aesthetic evaluation of breast cancer surgery outcomes},
author={Gon{\c{c}}alves, Tiago and Silva, Wilson and Cardoso, Maria J and Cardoso, Jaime S},
journal={Health and Technology},
pages={1--13},
publisher={Springer}
}
This model and associated code are related to the paper "Deep Keypoint Detection for the Aesthetic Evaluation of Breast Cancer Surgery Outcomes" by Wilson Silva, Eduardo Castro, Maria J. Cardoso, Florian Fitzal and Jaime S. Cardoso.
This model and associated code are related to the paper "UNet++: A Nested U-Net Architecture for Medical Image Segmentation" by Zongwei Zhou, Md Mahfuzur Rahman Siddiquee, Nima Tajbakhsh, and Jianming Liang.