This repository contains code to train and evaluate 3D Convolutional Neural Networks for semantic segmentation on medical images. The architectures developed in this framework are a combination of auto-encoder UNet with shortcut connections as in ResNet, densely connections for deep supervision as in DensetNet and Merge-And-Run mapping for attention focusing as in MRGE.
Many thanks to all contributors of this repository. If you like it, please click on Star!
If you use this package for your research, please cite the paper:
Küstner T, Hepp T, Fischer M, Schwartz M, Fritsche A, Häring HU, Nikolaou K, Bamberg F, Yang B, Schick F, Gatidis S, Machann J
"Fully automated and standardized segmentation of adipose tissue compartments via deep learning in 3D whole-body MRI of epidemiological cohort studies" Radiology Artificial Intelligence 2020.
[BibTeX] [Endnote]
@article{Kuestner2020,
title={Fully automated and standardized segmentation of adipose tissue compartments via deep learning in 3D whole-body MRI of epidemiological cohort studies},
author={Thomas K\"ustner and Tobias Hepp and Marc Fischer and Martin Schwartz and Andreas Fritsche and Hans-Ulrich Häring and Konstantin Nikolaou and Fabian Bamberg and Bin Yang and Fritz Schick and Sergios Gatidis and J\"urgen Machann},
journal={Radiology Artificial Intelligence},
year={2020},
}
Clone the repository and install the requirements
$ git clone https://gitlab.com/iss_mia/cnn_segmentation/ desired_directory
$ python3 -m pip install -r requirements.txt
Set all parameters in the configuration file. Check call arguments:
$ python3 main.py -h
Conversion of input data (DICOM, NiFTY, Matlab/HDF5) to TFRecords
$ python3 main.py --preprocess -c config/config_default.yml
Network training on specified databases
$ python3 main.py --train -c config/config_default.yml -e experiment_name
Evaluate metrics of trained network
$ python3 main.py --evaluate -c config/config_default.yml -e experiment_name
Predict segmentation mask for test dataset with trained network
$ python3 main.py --predict -c config/config_default.yml -e experiment_name
Get database information stored in Patient
class
$ python3 readme/Patient_example.py -c config/config_default.yml
Architectures are implemented in /models/ModelSet.py.
densely connected with merge-and-run mapping network
Densely connected networks (including modifications: dilated convs, ...)
vanilla UNet and extension for inclusion of positional input
Densely connected network with dilations
Custom loss functions are defined in /models/loss_function.py.
Custom evaluation metrics are defined in /models/metrics.py.
- Whole-body semantic organ segmentation
- Whole-body adipose tissue segmentation
This project is licensed under the Apache License - see the LICENSE file for details.
Thanks to Marc Fischer for providing the med_io pipeline around which this framework was structured.
marcfi 💻 🤔 🚧 🔧 |
Thomas Kuestner 💻 🤔 🚧 📆 📖 👀 |
tobiashepp 💻 🤔 🚧 🔧 🛡️ |
a-doering 💻 |
KaijieMo1 💻 📖 |
sergiosgatidis 🤔 📆 💬 |
SarahMue 💻 🤔 🔌 🚧 |
CDStark 💻 🚧 |
fl3on 💻 |
haison 🐛 |