The open-source software AUCMEDI allows fast setup of medical image classification pipelines with state-of-the-art methods via an intuitive, high-level Python API or via an AutoML deployment through Docker/CLI.
AUCMEDI provides several core features:
Simply install AUCMEDI with a single line of code via pip.
Install AUCMEDI via PyPI
pip install aucmedi
Now, you can build a state-of-the-art medical image classification pipeline via the standardized AutoML interface or a custom pipeline with the framework interface.
Train a model and classify unknown images
# Run training with default arguments, but a specific architecture
aucmedi training --architecture "DenseNet121"
# Run prediction with default arguments
aucmedi prediction
Your custom pipeline with just the 3 AUCMEDI pillars:
input_interface()
for obtaining general dataset informationNeuralNetwork()
for the deep learning modelDataGenerator()
for a powerful interface to load any images/volumes into your modelBuild a pipeline
# AUCMEDI library
from aucmedi import *
# Pillar #1: Initialize input data reader
ds = input_interface(interface="csv",
path_imagedir="/home/muellerdo/COVdataset/ct_slides/",
path_data="/home/muellerdo/COVdataset/classes.csv",
ohe=False, # OHE short for one-hot encoding
col_sample="ID", col_class="PCRpositive")
(index_list, class_ohe, nclasses, class_names, image_format) = ds
# Pillar #2: Initialize a DenseNet121 model with ImageNet weights
model = NeuralNetwork(n_labels=nclasses, channels=3,
architecture="2D.DenseNet121",
pretrained_weights=True)
Train a model and use it!
# Pillar #3: Initialize training Data Generator for first 1000 samples
train_gen = DataGenerator(samples=index_list[:1000],
path_imagedir="/home/muellerdo/COVdataset/ct_slides/",
labels=class_ohe[:1000],
image_format=image_format,
resize=model.meta_input,
standardize_mode=model.meta_standardize)
# Run model training with Transfer Learning
model.train(train_gen, epochs=20, transfer_learning=True)
# Pillar #3: Initialize testing Data Generator for 500 samples
test_gen = DataGenerator(samples=index_list[1000:1500],
path_imagedir="/home/muellerdo/COVdataset/ct_slides/",
labels=None,
image_format=image_format,
resize=model.meta_input,
standardize_mode=model.meta_standardize)
# Run model inference for unknown samples
preds = model.predict(test_gen)
# preds <-> NumPy array with shape (500,2)
# -> 500 predictions with softmax probabilities for our 2 classes
AUCMEDI is currently unpublished. But coming soon!
In the meantime:
Please cite our application manuscript as well as the AUCMEDI GitHub repository:
Mayer, S., Müller, D., & Kramer F. (2022). Standardized Medical Image Classification
across Medical Disciplines. [Preprint] https://arxiv.org/abs/2210.11091.
@article{AUCMEDIapplicationMUELLER2022,
title={Standardized Medical Image Classification across Medical Disciplines},
author={Simone Mayer, Dominik Müller, Frank Kramer},
year={2022}
eprint={2210.11091},
archivePrefix={arXiv},
primaryClass={cs.CV}
}
Müller, D., Mayer, S., Hartmann, D., Schneider, P., Soto-Rey, I., & Kramer, F. (2022).
AUCMEDI: a framework for Automated Classification of Medical Images (Version X.Y.Z) [Computer software].
https://doi.org/10.5281/zenodo.6633540. GitHub repository. https://github.com/frankkramer-lab/aucmedi
Thank you for citing our work.
Dominik Müller\ Email: dominik.mueller@informatik.uni-augsburg.de\ IT-Infrastructure for Translational Medical Research\ University Augsburg\ Bavaria, Germany
This project is licensed under the GNU GENERAL PUBLIC LICENSE Version 3.\ See the LICENSE.md file for license rights and limitations.