gandlf

A generalizable application framework for segmentation, regression, and classification using PyTorch

https://github.com/mlcommons/gandlf

Science Score: 77.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 5 DOI reference(s) in README
  • Academic publication links
    Links to: nature.com
  • Committers with academic emails
    6 of 60 committers (10.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.9%) to scientific vocabulary

Keywords

biomedical-image-processing classification clinical-workflow data-augmentation deep-learning framework machine-learning medical-image-analysis medical-imaging medical-informatics pytorch regression segmentation

Keywords from Contributors

interactive optimizing-compiler network-simulation hacking optim projection generic sequences interpretability mesh
Last synced: 6 months ago · JSON representation ·

Repository

A generalizable application framework for segmentation, regression, and classification using PyTorch

Basic Info
  • Host: GitHub
  • Owner: mlcommons
  • License: apache-2.0
  • Language: Python
  • Default Branch: master
  • Homepage: https://gandlf.org
  • Size: 69.9 MB
Statistics
  • Stars: 183
  • Watchers: 8
  • Forks: 89
  • Open Issues: 9
  • Releases: 18
Topics
biomedical-image-processing classification clinical-workflow data-augmentation deep-learning framework machine-learning medical-image-analysis medical-imaging medical-informatics pytorch regression segmentation
Created about 5 years ago · Last pushed 7 months ago
Metadata Files
Readme Contributing License Code of conduct Citation Codeowners Security

README.md

GitHub-Mark-Light

GitHub-Mark-Dark


Codacy Code style: black

The Generally Nuanced Deep Learning Framework for segmentation, regression and classification.

GaNDLF all options

Why use this?

  • Supports multiple
    • Deep Learning model architectures
    • Data dimensions (2D/3D)
    • Channels/images/sequences
    • Prediction classes
    • Domain modalities (i.e., Radiology Scans and Digitized Histopathology Tissue Sections)
    • Problem types (segmentation, regression, classification)
    • Multi-GPU (on same machine) training
  • Built-in
    • Nested cross-validation (and related combined statistics)
    • Support for parallel HPC-based computing
    • Support for training check-pointing
    • Support for Automatic mixed precision
  • Robust data augmentation, courtesy of TorchIO
  • Handles imbalanced classes (e.g., very small tumor in large organ)
  • Leverages robust open source software
  • No need to write any code to generate robust models

Citation

Please cite the following article for GaNDLF (full paper):

bib @article{pati2023gandlf, author={Pati, Sarthak and Thakur, Siddhesh P. and Hamamc{\i}, {\.{I}}brahim Ethem and Baid, Ujjwal and Baheti, Bhakti and Bhalerao, Megh and G{\"u}ley, Orhun and Mouchtaris, Sofia and Lang, David and Thermos, Spyridon and Gotkowski, Karol and Gonz{\'a}lez, Camila and Grenko, Caleb and Getka, Alexander and Edwards, Brandon and Sheller, Micah and Wu, Junwen and Karkada, Deepthi and Panchumarthy, Ravi and Ahluwalia, Vinayak and Zou, Chunrui and Bashyam, Vishnu and Li, Yuemeng and Haghighi, Babak and Chitalia, Rhea and Abousamra, Shahira and Kurc, Tahsin M. and Gastounioti, Aimilia and Er, Sezgin and Bergman, Mark and Saltz, Joel H. and Fan, Yong and Shah, Prashant and Mukhopadhyay, Anirban and Tsaftaris, Sotirios A. and Menze, Bjoern and Davatzikos, Christos and Kontos, Despina and Karargyris, Alexandros and Umeton, Renato and Mattson, Peter and Bakas, Spyridon}, title={GaNDLF: the generally nuanced deep learning framework for scalable end-to-end clinical workflows}, journal={Communications Engineering}, year={2023}, month={May}, day={16}, volume={2}, number={1}, pages={23}, abstract={Deep Learning (DL) has the potential to optimize machine learning in both the scientific and clinical communities. However, greater expertise is required to develop DL algorithms, and the variability of implementations hinders their reproducibility, translation, and deployment. Here we present the community-driven Generally Nuanced Deep Learning Framework (GaNDLF), with the goal of lowering these barriers. GaNDLF makes the mechanism of DL development, training, and inference more stable, reproducible, interpretable, and scalable, without requiring an extensive technical background. GaNDLF aims to provide an end-to-end solution for all DL-related tasks in computational precision medicine. We demonstrate the ability of GaNDLF to analyze both radiology and histology images, with built-in support for k-fold cross-validation, data augmentation, multiple modalities and output classes. Our quantitative performance evaluation on numerous use cases, anatomies, and computational tasks supports GaNDLF as a robust application framework for deployment in clinical workflows.}, issn={2731-3395}, doi={10.1038/s44172-023-00066-3}, url={https://doi.org/10.1038/s44172-023-00066-3} }

Documentation

GaNDLF has extensive documentation and it is arranged in the following manner:

Contributing

Please see the contributing guide for more information.

Weekly Meeting

The GaNDLF development team hosts a weekly meeting to discuss feature additions, issues, and general future directions. If you are interested to join, please send us an email!

Disclaimer

  • The software has been designed for research purposes only and has neither been reviewed nor approved for clinical use by the Food and Drug Administration (FDA) or by any other federal/state agency.
  • This code (excluding dependent libraries) is governed by the Apache License, Version 2.0 provided in the LICENSE file unless otherwise specified.

Contact

For more information or any support, please post on the Discussions section.

Owner

  • Name: MLCommons
  • Login: mlcommons
  • Kind: organization

Citation (CITATION.cff)

cff-version: "1.2.0"
date-released: 2023-05-16
message: "If you use this software, please cite it using this manuscript."
title: "GaNDLF: the generally nuanced deep learning framework for scalable end-to-end clinical workflows"
url: "https://gandlf.org/"
authors: 
- family-names: Pati
  given-names: Sarthak
- family-names: Thakur
  given-names: "Siddhesh P."
- family-names: Hamamci
  given-names: "Ibrahim E."
- family-names: Baid
  given-names: Ujjwal
- family-names: Baheti
  given-names: Bhakti
- family-names: Bhalerao
  given-names: Megh
- family-names: Orhun
  given-names: Guley
- family-names: Mouchtaris
  given-names: Sofia
- family-names: Lang
  given-names: David
- family-names: Thermos
  given-names: Spyridon
- family-names: Gotkowski
  given-names: Karol
- family-names: Gonzalez
  given-names: Camila
- family-names: Grenko
  given-names: Caleb
- family-names: Getka
  given-names: Alexander
- family-names: Edwards
  given-names: Brandon
- family-names: Sheller
  given-names: Micah
- family-names: Wu
  given-names: Junwen
- family-names: Karkada
  given-names: Deepthi
- family-names: Panchumarthy
  given-names: Ravi
- family-names: Ahluwalia
  given-names: Vinayak
- family-names: Zou
  given-names: Chunrui
- family-names: Bashyam
  given-names: Vishnu
- family-names: Li
  given-names: Yuemeng
- family-names: Haghighi
  given-names: Babak
- family-names: Chitalia
  given-names: Rhea
- family-names: Abousamra
  given-names: Shahira
- family-names: Kurc
  given-names: "Tahsin M."
- family-names: Gastounioti
  given-names: Aimilia
- family-names: Er
  given-names: Sezgin
- family-names: Bergman
  given-names: Mark
- family-names: Saltz
  given-names: "Joel H."
- family-names: Fan
  given-names: Yong
- family-names: Shah
  given-names: Prashant
- family-names: Mukhopadhyay
  given-names: Anirban
- family-names: Tsaftaris
  given-names: "Sotirios A."
- family-names: Menze
  given-names: Bjoern
- family-names: Davatzikos
  given-names: Christos
- family-names: Kontos
  given-names: Despina
- family-names: Karargyris
  given-names: Alexandros
- family-names: Umeton
  given-names: Renato
- family-names: Mattson
  given-names: Peter
- family-names: Bakas
  given-names: Spyridon

preferred-citation:
  type: article
  authors:
  - family-names: Pati
    given-names: Sarthak
  - family-names: Thakur
    given-names: "Siddhesh P."
  - family-names: Hamamci
    given-names: "Ibrahim E."
  - family-names: Baid
    given-names: Ujjwal
  - family-names: Baheti
    given-names: Bhakti
  - family-names: Bhalerao
    given-names: Megh
  - family-names: Orhun
    given-names: Guley
  - family-names: Mouchtaris
    given-names: Sofia
  - family-names: Lang
    given-names: David
  - family-names: Thermos
    given-names: Spyridon
  - family-names: Gotkowski
    given-names: Karol
  - family-names: Gonzalez
    given-names: Camila
  - family-names: Grenko
    given-names: Caleb
  - family-names: Getka
    given-names: Alexander
  - family-names: Edwards
    given-names: Brandon
  - family-names: Sheller
    given-names: Micah
  - family-names: Wu
    given-names: Junwen
  - family-names: Karkada
    given-names: Deepthi
  - family-names: Panchumarthy
    given-names: Ravi
  - family-names: Ahluwalia
    given-names: Vinayak
  - family-names: Zou
    given-names: Chunrui
  - family-names: Bashyam
    given-names: Vishnu
  - family-names: Li
    given-names: Yuemeng
  - family-names: Haghighi
    given-names: Babak
  - family-names: Chitalia
    given-names: Rhea
  - family-names: Abousamra
    given-names: Shahira
  - family-names: Kurc
    given-names: "Tahsin M."
  - family-names: Gastounioti
    given-names: Aimilia
  - family-names: Er
    given-names: Sezgin
  - family-names: Bergman
    given-names: Mark
  - family-names: Saltz
    given-names: "Joel H."
  - family-names: Fan
    given-names: Yong
  - family-names: Shah
    given-names: Prashant
  - family-names: Mukhopadhyay
    given-names: Anirban
  - family-names: Tsaftaris
    given-names: "Sotirios A."
  - family-names: Menze
    given-names: Bjoern
  - family-names: Davatzikos
    given-names: Christos
  - family-names: Kontos
    given-names: Despina
  - family-names: Karargyris
    given-names: Alexandros
  - family-names: Umeton
    given-names: Renato
  - family-names: Mattson
    given-names: Peter
  - family-names: Bakas
    given-names: Spyridon
  journal: "Communications Engineering"
  year: 2023
  month: 05
  volume: 2
  number: 1
  pages: 23
  title: "GaNDLF: the generally nuanced deep learning framework for scalable end-to-end clinical workflows"
  url: "https://www.nature.com/articles/s44172-023-00066-3"
  doi: 10.1038/s44172-023-00066-3

GitHub Events

Total
  • Fork event: 8
  • Create event: 23
  • Commit comment event: 6
  • Release event: 3
  • Issues event: 43
  • Watch event: 23
  • Delete event: 21
  • Issue comment event: 313
  • Push event: 130
  • Pull request review comment event: 72
  • Gollum event: 7
  • Pull request event: 93
  • Pull request review event: 144
Last Year
  • Fork event: 8
  • Create event: 23
  • Commit comment event: 6
  • Release event: 3
  • Issues event: 43
  • Watch event: 23
  • Delete event: 21
  • Issue comment event: 313
  • Push event: 130
  • Pull request review comment event: 72
  • Gollum event: 7
  • Pull request event: 93
  • Pull request review event: 144

Committers

Last synced: 9 months ago

All Time
  • Total Commits: 7,732
  • Total Committers: 60
  • Avg Commits per committer: 128.867
  • Development Distribution Score (DDS): 0.335
Past Year
  • Commits: 633
  • Committers: 15
  • Avg Commits per committer: 42.2
  • Development Distribution Score (DDS): 0.684
Top Committers
Name Email Commits
sarthakpati s****i@h****m 5,145
scap3yvt 1****t 493
Siddhesh Thakur s****r@g****m 416
Megh Bhalerao Megh.Bhalerao@Pennmedicine.upenn.edu m****o@g****m 302
alexandergetka a****a@g****m 209
vmalefioudakis b****f@h****m 189
szmazurek s****7@g****m 167
Viacheslav Kukushkin v****n@g****m 154
Junwen Wu j****u@i****m 103
Sofia-Mouchtaris 5****s 54
Alexander Getka 5****a 54
Orhun o****y@g****m 53
Shubham Innani 2****5@s****n 44
Ainesh Nanda a****a@g****m 40
Megh Bhalerao Megh.Bhalerao@Pennmedicine.upenn.edu m****o@p****u 34
hasan7n h****7@h****m 30
FelixSteinbauer 4****r 29
Edwards e****b@s****m 20
pranayasinghcsmpl r****a@c****m 18
ujjwalbaid0408 u****8@g****m 17
Cory Gwin g****1@g****m 16
vavali08 1****8 15
Edwards e****b@s****m 12
Akis Linardos m****z@g****m 12
grenkoca g****a@g****m 10
Patrick Foley p****y@i****m 8
sylwiamm S****c@P****u 8
pranaya.singh p****h@c****h 6
Pradeep, Sakhamoori p****i@g****m 6
karkadad d****a@i****m 5
and 30 more...

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 169
  • Total pull requests: 315
  • Average time to close issues: 2 months
  • Average time to close pull requests: 12 days
  • Total issue authors: 30
  • Total pull request authors: 40
  • Average comments per issue: 2.54
  • Average comments per pull request: 3.71
  • Merged pull requests: 253
  • Bot issues: 0
  • Bot pull requests: 3
Past Year
  • Issues: 31
  • Pull requests: 85
  • Average time to close issues: about 1 month
  • Average time to close pull requests: 14 days
  • Issue authors: 10
  • Pull request authors: 14
  • Average comments per issue: 2.65
  • Average comments per pull request: 3.93
  • Merged pull requests: 65
  • Bot issues: 0
  • Bot pull requests: 2
Top Authors
Issue Authors
  • sarthakpati (93)
  • szmazurek (13)
  • Geeks-Sid (11)
  • benmalef (5)
  • VukW (5)
  • sylwiamm (4)
  • scap3yvt (4)
  • Linardos (4)
  • aristizabal95 (3)
  • MarkBergman-cbica (2)
  • vahluw (2)
  • sanashah007 (1)
  • Aayush2003Gupta (1)
  • hasan7n (1)
  • skoudoro (1)
Pull Request Authors
  • scap3yvt (129)
  • sarthakpati (90)
  • benmalef (33)
  • szmazurek (29)
  • VukW (24)
  • pranayasinghcsmpl (23)
  • Geeks-Sid (15)
  • hasan7n (6)
  • Linardos (6)
  • AlexanderGetka-cbica (6)
  • sylwiamm (5)
  • Dana-Farber (4)
  • rachitsaluja (4)
  • dependabot[bot] (4)
  • FelixSteinbauer (4)
Top Labels
Issue Labels
enhancement (61) no-issue-activity (18) bug (15) dependencies (11) documentation (10) help wanted (5) good first issue (4) critical (4)
Pull Request Labels
no-pr-activity (6) dependencies (4) github_actions (2) enhancement (1)

Packages

  • Total packages: 1
  • Total downloads: unknown
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 8
conda-forge.org: gandlf
  • Versions: 8
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Forks count: 25.4%
Dependent repos count: 34.0%
Stargazers count: 34.2%
Average: 36.2%
Dependent packages count: 51.2%
Last synced: 7 months ago

Dependencies

docs/Gemfile rubygems
  • github-pages >= 0 development
.github/workflows/black.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
  • psf/black stable composite
.github/workflows/cla.yml actions
  • mlcommons/cla-bot master composite
.github/workflows/codacy.yml actions
  • actions/checkout v2 composite
.github/workflows/codeql-analysis.yml actions
  • actions/checkout v2 composite
  • github/codeql-action/analyze v1 composite
  • github/codeql-action/autobuild v1 composite
  • github/codeql-action/init v1 composite
.github/workflows/docker-image.yml actions
  • actions/checkout v2 composite
  • docker/build-push-action v2 composite
  • docker/login-action v1 composite
  • docker/metadata-action v3 composite
  • sigstore/cosign-installer 1e95c1de343b5b0c23352d6417ee3e48d5bcd422 composite
.github/workflows/ossar-analysis.yml actions
  • actions/checkout v2 composite
  • github/codeql-action/upload-sarif v1 composite
  • github/ossar-action v1 composite
.github/workflows/python-test.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
  • codecov/codecov-action v1 composite
  • tj-actions/changed-files v34 composite
.github/workflows/stale.yml actions
  • actions/stale v3 composite