atommic

ATOMMIC: Advanced Toolbox for Multitask Medical Imaging Consistency

https://github.com/wdika/atommic

Science Score: 57.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 13 DOI reference(s) in README
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.9%) to scientific vocabulary

Keywords

deep-learning medical-image-analysis medical-imaging mri
Last synced: 6 months ago · JSON representation ·

Repository

ATOMMIC: Advanced Toolbox for Multitask Medical Imaging Consistency

Basic Info
  • Host: GitHub
  • Owner: wdika
  • License: apache-2.0
  • Language: Jupyter Notebook
  • Default Branch: main
  • Homepage: https://atommic.readthedocs.io
  • Size: 15.5 MB
Statistics
  • Stars: 16
  • Watchers: 1
  • Forks: 2
  • Open Issues: 1
  • Releases: 2
Topics
deep-learning medical-image-analysis medical-imaging mri
Created almost 2 years ago · Last pushed 8 months ago
Metadata Files
Readme Contributing License Code of conduct Citation Security

README.md

Advanced Toolbox for Multitask Medical Imaging Consistency (ATOMMIC)

HuggingFace DockerHub License: Apache 2.0 PyPI version PyPI - Downloads GitHub issues Documentation Status PyPI - Python Version Code style: black

ATOMMIC-logo

[📜](https://papers.ssrn.com/sol3/papers.cfm?abstract_id=4801289) [🤗](https://huggingface.co/wdika) [🐳](docker.io/wdika/atommic) [📦](https://pypi.org/project/atommic) [📚](https://atommic.readthedocs.io/)

👋 Introduction

The Advanced Toolbox for Multitask Medical Imaging Consistency (ATOMMIC) is a toolbox for applying AI methods for accelerated MRI reconstruction (REC), MRI segmentation (SEG), quantitative MR imaging (qMRI), as well as multitask learning (MTL), i.e., performing multiple tasks simultaneously, such as reconstruction and segmentation. Each task is implemented in a separate collection consisting of data loaders, transformations, models, metrics, and losses. ATOMMIC is designed to be modular and extensible on new tasks, models, and datasets. ATOMMIC uses PyTorch Lightning for feasible high-performance multi-GPU/multi-node mixed-precision training.

ATOMMIC Schematic Overview

The schematic overview of ATOMMIC showcases the main components of the toolbox. First, we need an MRI Dataset (e.g., CC359). Next, we need to define the high-level parameters, such as the task and the model, the undersampling, the transforms, the optimizer, the scheduler, the loss, the trainer parameters, and the experiment manager. All these parameters are defined in a .yaml file using Hydra and OmegaConf.

The trained model is an .atommic module, exported with ONNX and TorchScript support, which can be used for inference. The .atommic module can also be uploaded on HuggingFace. Pretrained models are available on our HF account and can be downloaded and used for inference.

🛠️ Installation

ATOMMIC is best to be installed in a Conda environment.

🐍 Conda

conda create -n atommic python=3.10 conda activate atommic

📦 Pip

Use this installation mode if you want the latest released version.

bash pip install atommic

From source

Use this installation mode if you are contributing to atommic.

bash git clone https://github.com/wdika/atommic cd atommic bash ./reinstall.sh

🐳 Docker containers

An atommic container is available at dockerhub, you can pull it with: bash docker pull wdika/atommic

You can also build an atommic container with: bash DOCKER_BUILDKIT=1 docker build -f Dockerfile -t atommic:latest .

You can run the container with: bash docker run --gpus all -it --rm -v /home/user/configs:/config atommic:latest atommic run -c /config/config.yaml where /config/config.yaml is the path to your local configuration file.

Or you can run it interactively with: bash docker run --gpus all -it --rm -p 8888:8888 atommic:latest /bin/bash -c "./start-jupyter.sh"

🚀 Quick Start Guide

The best way to get started with ATOMMIC is with one of the tutorials:

You can also check the projects page to see how to use ATOMMIC for specific tasks and public datasets.

Pre-trained models are available on HuggingFace 🤗.

ATOMMIC paper is fully reproducible. Please check here for more information.

🤖 Training & Testing

Training and testing models in ATOMMIC is intuitive and easy. You just need to properly configure a .yaml file and run the following command:

bash atommic run -c path-to-config-file

⚙️ Configuration

  1. Choose the task and the model, according to the collections.

  2. Choose the dataset and the dataset parameters, according to the datasets or your own dataset.

  3. Choose the undersampling.

  4. Choose the transforms.

  5. Choose the losses.

  6. Choose the optimizer.

  7. Choose the scheduler.

  8. Choose the trainer parameters.

  9. Choose the experiment manager.

You can also check the projects page to see how to configure the .yaml file for specific tasks.

🗂️ Collections

ATOMMIC is organized into collections, each of which implements a specific task. The following collections are currently available, implementing various models as listed:

MultiTask Learning (MTL)

  1. End-to-End Recurrent Attention Network (SERANet), 2. Image domain Deep Structured Low-Rank Network (IDSLR), 3. Image domain Deep Structured Low-Rank UNet (IDSLRUNet), 4. Multi-Task Learning for MRI Reconstruction and Segmentation (MTLRS), 5. Reconstruction Segmentation method using UNet (RecSegUNet), 6. Segmentation Network MRI (SegNet).

Quantitative MR Imaging (qMRI)

  1. Quantitative Recurrent Inference Machines (qRIMBlock), 2. Quantitative End-to-End Variational Network (qVarNet), 3. Quantitative Cascades of Independently Recurrent Inference Machines (qCIRIM).

MRI Reconstruction (REC)

  1. Cascades of Independently Recurrent Inference Machines (CIRIM), 2. Convolutional Recurrent Neural Networks (CRNNet), 3. Deep Cascade of Convolutional Neural Networks (CascadeNet), 4. Down-Up Net (DUNet), 5. End-to-End Variational Network (VarNet), 6. Independently Recurrent Inference Machines (RIMBlock), 7. Joint Deep Model-Based MR Image and Coil Sensitivity Reconstruction Network (JointICNet), 8. KIKINet, 9. Learned Primal-Dual Net (LPDNet), 10. Model-based Deep Learning Reconstruction (MoDL), 11. MultiDomainNet, 12. ProximalGradient, 13. Recurrent Inference Machines (RIMBlock), 14. Recurrent Variational Network (RecurrentVarNet), 15. UNet, 16. Variable Splitting Network (VSNet), 17. XPDNet, 18. Zero-Filled reconstruction (ZF).

MRI Segmentation (SEG)

  1. SegmentationAttentionUNet, 2. SegmentationDYNUNet, 3. SegmentationLambdaUNet, 4. SegmentationUNet, 5. Segmentation3DUNet, 6. SegmentationUNetR, 7. SegmentationVNet.

MRI Datasets

ATOMMIC supports public datasets, as well as private datasets. The following public datasets are supported natively:

📚 API Documentation

Documentation Status

Access the API Documentation here

📄 License

ATOMMIC is under License: Apache 2.0

📖 Citation

If you use ATOMMIC in your research, please cite as follows:

BibTeX @article{Karkalousos_2024, title={Atommic: An Advanced Toolbox for Multitask Medical Imaging Consistency to Facilitate Artificial Intelligence Applications from Acquisition to Analysis in Magnetic Resonance Imaging}, url={http://dx.doi.org/10.2139/ssrn.4801289}, DOI={10.2139/ssrn.4801289}, publisher={Elsevier BV}, author={Karkalousos, Dimitrios and Išgum, Ivana and Marquering, Henk and Caan, Matthan W.A.}, year={2024}}

🔗 References

ATOMMIC has been used or is referenced in the following papers:

  1. Karkalousos, Dimitrios and Išgum, Ivana and Marquering, Henk and Caan, Matthan W.A., Atommic: An Advanced Toolbox for Multitask Medical Imaging Consistency to Facilitate Artificial Intelligence Applications from Acquisition to Analysis in Magnetic Resonance Imaging. Available at SSRN: https://ssrn.com/abstract=4801289 or http://dx.doi.org/10.2139/ssrn.4801289

  2. Karkalousos, D., Išgum, I., Marquering, H. A., & Caan, M. W. A. (2024). ATOMMIC: An Advanced Toolbox for Multitask Medical Imaging Consistency to facilitate Artificial Intelligence applications from acquisition to analysis in Magnetic Resonance Imaging. https://doi.org/10.2139/ssrn.4801289

  3. Karkalousos, D., Isgum, I., Marquering, H., & Caan, M. W. A. (2024, April 27). The Advanced Toolbox for Multitask Medical Imaging Consistency (ATOMMIC): A Deep Learning framework to facilitate Magnetic Resonance Imaging. Medical Imaging with Deep Learning. https://openreview.net/forum?id=HxTZr9yA0N

  4. Karkalousos, D., Isgum, I., Marquering, H. & Caan, M.W.A.. (2024). MultiTask Learning for accelerated-MRI Reconstruction and Segmentation of Brain Lesions in Multiple Sclerosis. Medical Imaging with Deep Learning, in Proceedings of Machine Learning Research 227:991-1005 Available from https://proceedings.mlr.press/v227/karkalousos24a.html.

  5. Zhang, C., Karkalousos, D., Bazin, P. L., Coolen, B. F., Vrenken, H., Sonke, J. J., Forstmann, B. U., Poot, D. H. J., & Caan, M. W. A. (2022). A unified model for reconstruction and R2* mapping of accelerated 7T data using the quantitative recurrent inference machine. NeuroImage, 264. DOI

  6. Karkalousos, D., Noteboom, S., Hulst, H. E., Vos, F. M., & Caan, M. W. A. (2022). Assessment of data consistency through cascades of independently recurrent inference machines for fast and robust accelerated MRI reconstruction. Physics in Medicine & Biology. DOI

📧 Contact

For any questions, please contact Dimitris Karkalousos @ d.karkalousos@amsterdamumc.nl.

⚠️🙏 Disclaimer & Acknowledgements

Note: ATOMMIC is built on top of NeMo. NeMo is under Apache 2.0 license, so we are allowed to use it. We also assume that we can use the NeMo documentation basis as long as we cite it and always refer to the baselines everywhere in the code and docs. ATOMMIC also includes implementations of reconstruction methods from fastMRI and DIRECT, and segmentation methods from MONAI, as well as other codebases which are always cited on the corresponding files. All methods in ATOMMIC are reimplemented and not called from the original libraries, allowing for full reproducibility, support, and easy extension. ATOMMIC is an open-source project under the Apache 2.0 license.

Owner

  • Name: Dimitris Karkalousos
  • Login: wdika
  • Kind: user
  • Company: Amsterdam University Medical Centers

Postdoctoral Researcher @ Biomedical Engineering & Physics, Amsterdam-UMC & Informatics Institute, University of Amsterdam | AI in Medical Imaging

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
  - family-names: Karkalousos
    given-names: Dimitrios
    orcid: https://orcid.org/0000-0001-5983-0322
  - family-names: Isgum
    given-names: Ivana
    orcid: https://orcid.org/0000-0003-1869-5034
  - family-names: Marquering
    given-names: Henk
    orcid: https://orcid.org/0000-0002-1414-6313
  - family-names: Caan
    given-names: Matthan
    orcid: https://orcid.org/0000-0002-5162-8880
title: "Atommic: An Advanced Toolbox for Multitask Medical Imaging Consistency to Facilitate Artificial Intelligence Applications from Acquisition to Analysis in Magnetic Resonance Imaging"
doi: "10.2139/ssrn.4801289"
url: "https://ssrn.com/abstract=4801289"
repository-code: https://github.com/wdika/atommic
version: 1.0.1
date-released: 2024-04-25

GitHub Events

Total
  • Create event: 6
  • Commit comment event: 1
  • Issues event: 1
  • Watch event: 12
  • Delete event: 7
  • Issue comment event: 95
  • Push event: 4
  • Pull request review event: 21
  • Pull request review comment event: 30
  • Pull request event: 66
Last Year
  • Create event: 6
  • Commit comment event: 1
  • Issues event: 1
  • Watch event: 12
  • Delete event: 7
  • Issue comment event: 95
  • Push event: 4
  • Pull request review event: 21
  • Pull request review comment event: 30
  • Pull request event: 66

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 1
  • Total pull requests: 10
  • Average time to close issues: N/A
  • Average time to close pull requests: about 2 months
  • Total issue authors: 1
  • Total pull request authors: 2
  • Average comments per issue: 0.0
  • Average comments per pull request: 6.8
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 5
Past Year
  • Issues: 1
  • Pull requests: 10
  • Average time to close issues: N/A
  • Average time to close pull requests: about 2 months
  • Issue authors: 1
  • Pull request authors: 2
  • Average comments per issue: 0.0
  • Average comments per pull request: 6.8
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 5
Top Authors
Issue Authors
  • TtoastXin (1)
Pull Request Authors
  • TimPaquaij (7)
  • dependabot[bot] (7)
Top Labels
Issue Labels
bug (1)
Pull Request Labels
Stale (8) dependencies (7) MTL (6) python (4) common (3) REC (2) qMRI (1) enhancement (1) SEG (1)

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 32 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 2
  • Total maintainers: 1
pypi.org: atommic

Advanced Toolbox for Multitask Medical Imaging Consistency (ATOMMIC)

  • Versions: 2
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 32 Last month
Rankings
Dependent packages count: 9.6%
Average: 36.4%
Dependent repos count: 63.2%
Maintainers (1)
Last synced: 6 months ago

Dependencies

.github/workflows/changelog-build.yml actions
  • actions/checkout v4 composite
  • mikepenz/release-changelog-builder-action v3.3.1 composite
.github/workflows/cherry-pick-release-commit.yml actions
  • actions/checkout v4 composite
  • carloscastrojumo/github-cherry-pick-action bb0869df47c27be4ae4c7a2d93d22827aa5a0054 composite
.github/workflows/close-inactive-issue-pr.yml actions
  • actions/stale v6 composite
.github/workflows/codeql.yml actions
  • actions/checkout v4 composite
  • github/codeql-action/analyze v2 composite
  • github/codeql-action/autobuild v2 composite
  • github/codeql-action/init v2 composite
.github/workflows/config/codeql.yml actions
.github/workflows/coverage.yml actions
  • actions/checkout v4 composite
  • actions/setup-python v4 composite
  • codecov/codecov-action v1 composite
.github/workflows/gh-docs.yml actions
  • actions/checkout v4 composite
.github/workflows/labeler.yml actions
  • actions/labeler v4 composite
.github/workflows/tox.yml actions
  • actions/checkout v4 composite
  • actions/setup-python v4 composite
Dockerfile docker
  • ${BASE_IMAGE} latest build
  • atommic-deps latest build
  • scratch latest build
pyproject.toml pypi
requirements/requirements-ahead_stanfordknees.txt pypi
  • ismrmrd *
requirements/requirements-isles22.txt pypi
  • SimpleITK ==2.3.0
  • connected-components-3d *
requirements/requirements.txt pypi
  • defusedxml >=0.7.1
  • einops >=0.5.0
  • h5py ==3.9.0
  • huggingface_hub *
  • hydra-core >1.3,<=1.3.2
  • nibabel ==5.1.0
  • numba *
  • numpy >=1.22,<=1.24.2
  • omegaconf <=2.3
  • onnx >=1.11.0
  • onnxruntime ==1.15.1
  • pytest ==7.4.0
  • python-dateutil *
  • pytorch-lightning >=2.0.0,<=2.0.7
  • runstats >=2.0.0
  • scikit-image ==0.21.0
  • setuptools ==65.5.1
  • tensorboard *
  • torch >=2.0.0,<2.1.0
  • torchmetrics >=0.11.0
  • tqdm *
  • wandb ==0.15.8
  • wget >=3.2
  • wrapt >=1.13.3
requirements/requirements_docs.txt pypi
  • Jinja2 <3.1
  • Sphinx >=4.0,<6,
  • latexcodec *
  • numpy *
  • pydata-sphinx-theme ==0.13.1
  • sphinx-book-theme *
  • sphinx-copybutton *
  • sphinxcontrib-bibtex *
  • sphinxext-opengraph *
  • urllib3 <2.0.0
  • wrapt *
setup.py pypi