Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/jrkerns/awesome-medphys

A list of open-source software tailored for the Medical Physics domain
https://github.com/jrkerns/awesome-medphys

List: awesome-medphys

Last synced: 23 days ago
JSON representation

A list of open-source software tailored for the Medical Physics domain

Awesome Lists containing this project

README

        

# Awesome Medical Physics

A curated list of awesome libraries, tools, and resources for Medical Physicists
who dabble in programming.

The list is in semi-random order, following alphabetical order within a category.

## Libraries

Libraries are meant as tools within the context of a larger
project. They generally do one set of things well.

* [ApertureComplexity](https://github.com/victorgabr/ApertureComplexity) - ![Static Badge](https://img.shields.io/badge/Python-stuff?style=flat&logo=python&color=lime) It is a Python 3.x port of the Eclipse ESAPI plug-in script. As such, it aims to contain the complete functionality of the aperture complexity analysis.
* [BeamSchemeV1](https://github.com/alanphys/BeamSchemeV1) - (Pascal) BeamScheme is an analysis tool for 2D datasets. It will assist you in extracting 1D profiles from 2D datasets and can calculate over 90 different parameters. The parameter modules can be used separately.
* [CIL](https://github.com/TomographicImaging/CIL) - ![Static Badge](https://img.shields.io/badge/Python-stuff?style=flat&logo=python&color=lime) Computational Imaging Library (CIL) is a Python library for tomographic imaging with particular emphasis on reconstruction of challenging datasets.
* [ClinicalTemplateReader](https://github.com/WUSTL-ClinicalDev/ClinicalTemplateReader) - ![Static Badge](https://img.shields.io/badge/C%23-stuff?style=flat&logo=c%23&color=blue) A public API to interpret Eclipse plan templates, objective templates, and clinical protocols and utilize the interpretation in the generation of automated plans.
* [conehead](https://github.com/samuelpeet/conehead) - (**Undocumented**) A collapsed-cone convolution radiotherapy dose calculation algorithm.
* [cornerstone](https://github.com/cornerstonejs/cornerstone) - ![Static Badge](https://img.shields.io/badge/JS-stuff?style=flat&logo=javascript&color=darkorange) Cornerstone.js delivers a complete web based medical imaging platform for displaying medical images in modern web browsers.
* [deid](https://github.com/pydicom/deid) - ![Static Badge](https://img.shields.io/badge/Python-stuff?style=flat&logo=python&color=lime) Best effort anonymization for medical images in Python.
* [dicomParser](https://github.com/cornerstonejs/dicomParser) - ![Static Badge](https://img.shields.io/badge/JS-stuff?style=flat&logo=javascript&color=darkorange) dicomParser is a lightweight library for parsing DICOM P10 byte streams, as well as raw (not encapsulated in part 10) byte streams.
* [DLTK](https://github.com/DLTK/DLTK) - ![Static Badge](https://img.shields.io/badge/Python-stuff?style=flat&logo=python&color=lime) DLTK is a neural networks toolkit written in python, on top of TensorFlow for medical imaging.
* [ESAPIX](https://github.com/rexcardan/ESAPIX) - ![Static Badge](https://img.shields.io/badge/C%23-stuff?style=flat&logo=c%23&color=blue) An open source extension library for the Varian Eclipse Scripting API that contains extra methods, and bootstrapping frameworks.
* [Evil-DICOM](https://github.com/rexcardan/Evil-DICOM) - ![Static Badge](https://img.shields.io/badge/C%23-stuff?style=flat&logo=c%23&color=blue) A simple to use C# library for reading and manipulating DICOM files.
* [FlashGamma](https://github.com/samuelpeet/flashgamma) - ![Static Badge](https://img.shields.io/badge/Python-stuff?style=flat&logo=python&color=lime) A python package for speedy analyses of 2D radiotherapy dose distributions.
* [FO-DICOM](https://github.com/fo-dicom/fo-dicom) - ![Static Badge](https://img.shields.io/badge/C%23-stuff?style=flat&logo=c%23&color=blue) Fellow Oak DICOM, a DICOM toolkit in C# for all .NET Standard 2.0 compatible frameworks.
* [lymph-model](https://github.com/rmnldwg/lymph) - ![Static Badge](https://img.shields.io/badge/Python-stuff?style=flat&logo=python&color=lime) Python package for statistical modelling of lymphatic metastatic spread in head & neck cancer.
* [med-imagetools](https://github.com/bhklab/med-imagetools) - ![Static Badge](https://img.shields.io/badge/Python-stuff?style=flat&logo=python&color=lime) Med-Imagetools, a python package offers the perfect tool to transform messy medical dataset folders to deep learning ready format in few lines of code. ![PyPI](https://img.shields.io/pypi/v/med-imagetools)
* [mri_distortion_toolkit](https://github.com/Image-X-Institute/mri_distortion_toolkit) - ![Static Badge](https://img.shields.io/badge/Python-stuff?style=flat&logo=python&color=lime) Library enabling measurement, characterization, correction, and reporting of geometric distortion in Magnetic Resonance Imaging [![PyPI version](https://badge.fury.io/py/mri_distortion_toolkit.svg)](https://badge.fury.io/py/mri_distortion_toolkit)
* [mudicom](https://github.com/neurosnap/mudicom) - ![Static Badge](https://img.shields.io/badge/Python-stuff?style=flat&logo=python&color=lime) A light-weight python package that validates, reads, and extracts images from a DICOM file.
* [opengate](https://github.com/OpenGATE/opengate) - ![Static Badge](https://img.shields.io/badge/Python-stuff?style=flat&logo=python&color=lime) GATE is an advanced opensource software developed by the international OpenGATE collaboration and dedicated to numerical simulations in medical imaging and radiotherapy. GATE is based on the Geant4 toolkit. ![PyPI](https://img.shields.io/pypi/v/opengate)
* [openTPS](https://www.opentps.org/) - ![Static Badge](https://img.shields.io/badge/Python-stuff?style=flat&logo=python&color=lime) OpenTPS is an open-source treatment planning system (TPS) for research in radiation therapy and proton therapy. It was developed in Python with a special focus on simplifying contribution to the core functions to let the user develop their own features. ![PyPI](https://img.shields.io/pypi/v/opentps)
* [ParticlePhaseSpace](https://github.com/bwheelz36/ParticlePhaseSpace) - ![Static Badge](https://img.shields.io/badge/Python-stuff?style=flat&logo=python&color=lime) Import, analysis, and export of particle phase space data supporting a variety of formats, with extension mechanisms for new data formats. [![PyPI version](https://badge.fury.io/py/ParticlePhaseSpace.svg)](https://badge.fury.io/py/ParticlePhaseSpace)
* [PlatiPy](https://github.com/pyplati/platipy) - ![Static Badge](https://img.shields.io/badge/Python-stuff?style=flat&logo=python&color=lime) PlatiPy is a library of amazing tools for image processing and analysis - designed specifically for medical imaging! ![PyPI](https://img.shields.io/pypi/v/platipy)
* [PortPy](https://github.com/PortPy-Project/PortPy) - ![Static Badge](https://img.shields.io/badge/Python-stuff?style=flat&logo=python&color=lime) PortPy is an initiative aimed at creating an open-source Python library for cancer radiotherapy treatment planning optimization. ![PyPI](https://img.shields.io/pypi/v/PortPy)
* [PyDicer](https://github.com/AustralianCancerDataNetwork/pydicer) - A tool to ease the process of converting Radiotherapy DICOM data objects into a format typically used for research purposes.
* [pydicom](https://github.com/pydicom/pydicom) - ![Static Badge](https://img.shields.io/badge/Python-stuff?style=flat&logo=python&color=lime) A pure Python package for working with DICOM files. It lets you read, modify and write DICOM data in an easy "pythonic" way. [![PyPI version](https://badge.fury.io/py/pydicom.svg)](https://badge.fury.io/py/pydicom)
* [PyESAPI](https://github.com/VarianAPIs/PyESAPI) - ![Static Badge](https://img.shields.io/badge/Python-stuff?style=flat&logo=python&color=lime) A passion project to help accelerate breakthroughs in medical physics research by bringing the power of Python into the Varian API ecosystem.
* [pylinac](https://github.com/jrkerns/pylinac) - ![Static Badge](https://img.shields.io/badge/Python-stuff?style=flat&logo=python&color=lime) Pylinac contains high-level modules for automatically analyzing images and data generated by linear accelerators, CT simulators, and other radiation oncology equipment. Most scripts can be utilized with less than 10 lines of code. ![PyPI](https://img.shields.io/pypi/v/pylinac)
* [pymcc](https://github.com/tbezo/pymcc) - ![Static Badge](https://img.shields.io/badge/Python-stuff?style=flat&logo=python&color=lime) Module that reads mephisto mcc files from watertank scans or array files.
* [pymedphys](https://github.com/pymedphys/pymedphys) - ![Static Badge](https://img.shields.io/badge/Python-stuff?style=flat&logo=python&color=lime) PyMedPhys is an open-source Medical Physics python library built by an open community that values and prioritises code sharing, review, improvement, and learning from each other. ![PyPI](https://img.shields.io/pypi/v/pymedphys)
* [pynetdicom](https://github.com/pydicom/pynetdicom) - ![Static Badge](https://img.shields.io/badge/Python-stuff?style=flat&logo=python&color=lime) A Python implementation of the DICOM networking protocol, originally based on (legacy) pynetdicom.
* [pyorthanc](https://github.com/gacou54/pyorthanc) - ![Static Badge](https://img.shields.io/badge/Python-stuff?style=flat&logo=python&color=lime) Python library that wraps the Orthanc REST API and facilitates the manipulation of data with several cool utilities. ![PyPI](https://img.shields.io/pypi/v/pyorthanc)
* [pyradiomics](https://github.com/AIM-Harvard/pyradiomics) - ![Static Badge](https://img.shields.io/badge/Python-stuff?style=flat&logo=python&color=lime) PyRadiomics is an open-source python package for the extraction of Radiomics features from medical imaging. ![PyPI](https://img.shields.io/pypi/v/pyradiomics)
* [RTToolbox](https://github.com/MIC-DKFZ/RTTB) - ![Static Badge](https://img.shields.io/badge/C%2B%2B-stuff?style=flat&logo=c%2B%2B&color=green) RTToolbox is a software library to support quantitative analysis of treatment outcome for radiotherapy.
* [TopasOpt](https://github.com/Image-X-Institute/TopasOpt) - ![Static Badge](https://img.shields.io/badge/Python-stuff?style=flat&logo=python&color=lime) provides a framework for performing optimisation on monte carlo radiation transport simulations using [TOPAS](https://www.google.com/search?channel=fs&client=ubuntu&q=topas+MC). [![PyPI version](https://badge.fury.io/py/TopasOpt.svg)](https://badge.fury.io/py/TopasOpt)
* [TrajectoryLog.NET](https://github.com/WUSTL-ClinicalDev/TrajectoryLog.NET) - ![Static Badge](https://img.shields.io/badge/C%23-stuff?style=flat&logo=c%23&color=blue) Interprets trajectorylog binary files into .NET class specifications.

## Applications

End-user focused applications; may contain a GUI or browser interface.

* [BeamSchemeV1](https://github.com/alanphys/BeamSchemeV1) - (Pascal) BeamScheme is an analysis tool for 2D datasets. It will assist you in extracting 1D profiles from 2D datasets and can various parameters.
* [Bistromath](https://bistromath.kegge13.nl/index.php?i=download.php) - Analyse 1D profiles from beam scanners.
* [CERR](https://github.com/cerr/CERR) - A Computational Environment for Radiological Research
* [Conquest](https://github.com/marcelvanherk/Conquest-DICOM-Server) - A full featured DICOM server
* [ctqa](https://github.com/Brikwerk/ctqa) - This utility aims to perform automated QA testing on CT machines for technologists.
* [ctqa-cp](https://github.com/medicalphysics/ctqa-cp) - (**Appears deprecated**) Analysis tool for CT images of the CatPhan phantom.
* [DICOMautomaton](https://github.com/hdclark/DICOMautomaton) - DICOMautomaton is a multipurpose tool for analyzing medical physics data with a focus on automation.
* [DicomCleaner](http://www.dclunie.com/pixelmed/software/webstart/DicomCleanerUsage.html) - A free open source tool with a user interface for importing, "cleaning" and saving sets of DICOM instances (files)
* [DICOMClient](https://github.com/irrer/DICOMClient) - Application for anonymizing, viewing, editing, and uploading to a PACS system.
* [Dicompyler](https://github.com/bastula/dicompyler) - (**Deprecated**) dicompyler is an extensible open source radiation therapy research platform based on the DICOM standard. It also functions as a cross-platform DICOM RT viewer.
* [dicomutils](https://github.com/raysearchlabs/dicomutils) - (**Appears deprecated**) A set of utilities for working with DICOM files.
* [DVH-Analytics](https://github.com/cutright/DVH-Analytics) - (**Deprecated**) A software application for building a local database of radiation oncology treatment planning data.
* [EasyPACS](https://github.com/mehmetsen80/EasyPACS) - (Appears Deprecated) EasyPACS is the simplest PACS server for your dicom files.
* [Fabolus-v16](https://github.com/nsmela/Fabolus-v16) - Modifies STL files representing bolus for radiation therapy. Prepares them for 3D printing.
* [LinaQA](https://github.com/alanphys/LinaQA) - LinaQA is a GUI frontend for pylinac and pydicom. It is intended to be a general purpose medical physics quality assurance tool for radiotherapy, nuclear medicine and diagnostic radiology.
* [LyProX](https://lyprox.org) - Web app for exploring patterns and correlations in the lymph node level involvements of head & neck cancer patients.
* [MAAS-PlanScoreCard](https://github.com/Varian-MedicalAffairsAppliedSolutions/MAAS-PlanScoreCard) - Medical Affairs Applied Solutions ESAPI tool to create dosimetric ScoreCards and score plans.
* [matRad](https://github.com/e0404/matRad) - matRad is an open source treatment planning system for radiation therapy written in Matlab.
* [MUSIMAN](https://github.com/marcelinohermida/MUSIMAN) - MUltiple SImulations MANagement. The Monte Carlo code for radiation transport PENELOPE 2014.
* [OMG Dosimetry](https://github.com/jfcabana/omg_dosimetry) - With OMG Dosimetry, you can easily perform film calibration, film-to-dose conversion, and dose analysis.
* [openTPS](https://www.opentps.org/) - OpenTPS is an open-source treatment planning system (TPS) for research in radiation therapy and proton therapy. It was developed in Python with a special focus on simplifying contribution to the core functions to let the user develop their own features.
* [Orthanc](https://github.com/jodogne/Orthanc) - Orthanc is a lightweight DICOM server for medical imaging.
* [PDFtoAria](https://github.com/LDClark/PDFtoAria) - An executable script that uses Oncology Services and Eclipse Scripting APIs to upload a PDF file into Aria.
* [PlanCheck](https://github.com/LDClark/PlanCheck) - A version 15/16 read-only plugin script that checks: Plan DVH metrics including planSums and planSetups, with PDF reports and customizable templates.
* [PortPy](https://github.com/PortPy-Project/PortPy) - PortPy represents a collective effort to establish an open-source Python library dedicated to advancing the development and clinical implementation of cancer radiotherapy treatment planning algorithms.
* [PyBeam-QA](https://github.com/Quantico-Bullet/PyBeam-QA) - A graphical user interface program for performing quality assurance tests in radiotherapy.
* [pyCERR](https://github.com/cerr/pyCERR) - pyCERR provides convenient data structure for imaging metadata and their associations.
* [pyQAserver](https://github.com/brjdenis/pyqaserver) - Pyqaserver connects Pylinac and Orthanc with a simplistic web interface.
* [QALMA](https://github.com/mrmushfiq/qalma) - A Matlab based toolkit with GUI for quantitative analysis of Quality Assurance tests for Medical Linear Accelerators in Radiation Therapy.
* [QATrack+](https://github.com/qatrackplus/qatrackplus) - QATrack+ is a fully configurable, free, and open source (MIT License) web application for managing QA data for radiation therapy and medical imaging equipment.
* [Sentinel](https://github.com/IsoAnalytica/Sentinel-Public) - Automated log-file analysis for Varian linacs (TrueBeam, Halcyon, Edge).
* [SIRF](https://github.com/SyneRBI/SIRF) - SIRF is a software toolkit for tomographic image reconstruction developed by the Synergistic Image Reconstruction Framework (SIRF) consortium.
* [STIR](https://github.com/UCL/STIR) - STIR is Open Source software for use in tomographic imaging. Its aim is to provide a Multi-Platform Object-Oriented framework for all data manipulations in tomographic imaging.
* [TotalSegmentator](https://github.com/wasserth/TotalSegmentator) - Tool for segmentation of 104 classes in CT images.
* [VarianESAPI-FieldEditor](https://github.com/brjdenis/VarianESAPI-FieldEditor) - A Varian ESAPI script for viewing and editing field parameters, mostly MLC and Jaw positions and meterset weights.
* [VarianESAPI-EQD2Converter](https://github.com/brjdenis/VarianESAPI-EQD2Converter) - A Varian ESAPI script that can be used to convert nominal dose distributions to EQD2 or BED.
* [VarianESAPI-HalcyonGantryAngle](https://github.com/brjdenis/VarianESAPI-HalcyonGantryAngle) - Varian ESAPI script and standalone app to determine Halcyon cardinal gantry angle error by manually analyzing a 2D image of the CIRS Iso Phantom.

## Educational Resources

Repos, books, or links to a teaching resource

* [Innolitics](https://dicom.innolitics.com/ciods) - Super useful DICOM tag browser; also contains a file parser.
* [RadMachine API Examples](https://github.com/Radformation/radmachine-api-examples) - Examples on how to use and call the RadMachine API.
* [Varian Code Samples](https://github.com/VarianAPIs/Varian-Code-Samples) - Here you will find code samples for ESAPI and other Varian APIs and web services.
* [Mayo RadOnc NLP Database](https://github.com/Mayo-Clinic-RadOnc-Foundation-Models/Radiation-Oncology-NLP-Database) - This is the world's first dedicated NLP dataset for radiation oncology, and it covers various NLP tasks to help advance research in this field.

## Contributing

Pull Requests are welcome! The item should be
specifically applicable to medical physics. E.g. `numpy` doesn't count.
For libraries and applications, the project should be meant to be used by others;
a set of scripts that might be interesting does not count.
The item must have documentation of some sort on how to use it.