KomaMRI
Koma is a Pulseq-compatible framework to efficiently simulate Magnetic Resonance Imaging (MRI) acquisitions. The main focus of this package is to simulate general scenarios that could arise in pulse sequence development.
Science Score: 59.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 11 DOI reference(s) in README -
✓Academic publication links
Links to: arxiv.org, wiley.com -
✓Committers with academic emails
1 of 11 committers (9.1%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (13.1%) to scientific vocabulary
Keywords
Keywords from Contributors
Repository
Koma is a Pulseq-compatible framework to efficiently simulate Magnetic Resonance Imaging (MRI) acquisitions. The main focus of this package is to simulate general scenarios that could arise in pulse sequence development.
Basic Info
- Host: GitHub
- Owner: JuliaHealth
- License: mit
- Language: Julia
- Default Branch: master
- Homepage: https://JuliaHealth.github.io/KomaMRI.jl/dev/
- Size: 629 MB
Statistics
- Stars: 159
- Watchers: 4
- Forks: 26
- Open Issues: 88
- Releases: 29
Topics
Metadata Files
README.md
KomaMRI.jl is a Julia package for highly efficient MRI simulations. KomaMRI was built from the ground up to be: easy to use, extensible, cross-platform, and powered by open-source community standards.
![]() |
Features: |
| - Fast parallel simulations on CPU and GPU - Extensible, add your own features! - Supports community-standards [](## "Pulseq and ISMRMRD") - Interactive visualizations using PlotlyJS.jl - Cross-platform (Windows, Mac & Linux) - Friendly GUI (using web technologies) - Compatible with modern notebooks [](## "Pluto and Jupyter") - Flexible API for advanced users |
Table of Contents
News
- (16 Jun 2025) KomaMRI v0.9.1 has received a perfect score in the Open Source Imaging Initiative (OSI) CAB Review ! Read the full review report here.
- (1 Oct 2024) KomaMRI v0.9: device-agnostic simulations, improved performance (4-5x faster and 80x less memory), distributed simulations, GPU benchmarking, mix-and-match motion definitions, improved dynamic phantom plotting, and a new phantom file format!
- (29 Aug 2024) Our first GSoC student, Ryan Kierulf, presented his fantastic work at the JuliaHealth monthly meeting ! (presentation available here) More info in the docs: GPU Parallelization, Distributed Simulations and Ryan's JuliaHealth blog
- (7 Dec 2023) Koma was present in MRI Together . The talk is available here. Also, I uploaded the promised educational example.
- (17 Nov 2023) Pretty excited of being part of ISMRM Pulseq's virtual meeting. The slides available here.
- (27 Jul 2023) I gave a talk at MIT for JuliaCon 2023! A video of the presentation can be seen here.
- (29 Jun 2023) KomaMRI.jl's paper was chosen as a July editor's pick in MRM !
- (6 Mar 2023) Paper published in MRM !
- (8 Dec 2022) KomaMRI v0.7: improved performance (5x faster), type stability, extensibility, and more!
- (17 May 2022) ISMRM 2022 digital poster presented in London, UK. Recording here!. Name change MRIsim.jl -> KomaMRI.jl.
- (Aug 2020) Prehistoric version of Koma, MRIsim, presented as an ISMRM 2020 digital poster (virtual conference).
☰ Roadmap
v1.0: - [x] Phantom and Sequence data types, - [x] Spin precession in gradient-only blocks (simulation optimization), - [x] GPU acceleration using CUDA.jl, - [x] RF excitation, - [x] GPU accelaration of RF excitation, - [x] Scanner data-type:Installation
To install, just type ] add KomaMRI in the Julia REPL or copy-paste the following into the Julia REPL:
```julia pkg> add KomaMRI pkg> add CUDA # Optional: Install desired GPU backend (CUDA, AMDGPU, Metal, or oneAPI)
``` For more information about installation instructions, refer to the section Getting Started of the documentation.
First run
KomaMRI.jl features a convenient GUI with predefined simulation inputs (i.e. Sequence, Phantom, and Scanner). To launch the GUI, use the following command:
julia
using KomaMRI
using CUDA # Optional: Load GPU backend (default: CPU)
KomaUI()
Press the button that says "Simulate!" to do your first simulation :). Then, a notification will emerge telling you that the simulation was successful. In this notification, you can either select to (1) see the Raw Data or (2) to proceed with the reconstruction.
[!IMPORTANT] Starting from KomaMRI v0.9 we are using package extensions to deal with GPU dependencies, meaning that to run simulations on the GPU, installing (
add CUDA/AMDGPU/Metal/oneAPI) and loading (using CUDA/AMDGPU/Metal/oneAPI) the desired backend will be necessary (see GPU Parallelization and Tested compatibility).
How to Contribute
KomaMRI exists thanks to all our contributors:
Want to be highlighted here? We welcome contributions from the community! If you're interested in contributing, please read "CONTRIBUTING" for details on how to get started.
How to Cite
If you use this package, please cite our paper.
Plain Text:
Castillo-Passi, C, Coronado, R, Varela-Mattatall, G, Alberola-Lpez, C, Botnar, R, Irarrazaval, P. KomaMRI.jl: An open-source framework for general MRI simulations with GPU acceleration. Magn Reson Med. 2023; 1- 14. doi: 10.1002/mrm.29635
BibTex:
bibtex
@article{https://doi.org/10.1002/mrm.29635,
author = {Castillo-Passi, Carlos and Coronado, Ronal and Varela-Mattatall, Gabriel and Alberola-Lpez, Carlos and Botnar, Ren and Irarrazaval, Pablo},
title = {KomaMRI.jl: An open-source framework for general MRI simulations with GPU acceleration},
journal = {Magnetic Resonance in Medicine},
keywords = {Bloch equations, GPU, GUI, Julia, open source, simulation},
doi = {https://doi.org/10.1002/mrm.29635},
url = {https://onlinelibrary.wiley.com/doi/abs/10.1002/mrm.29635},
eprint = {https://onlinelibrary.wiley.com/doi/pdf/10.1002/mrm.29635},
}
Tested compatibility
All parallel backends are tested on Linux (besides Apple silicon) using the latest stable release, Julia 1 (stable), and Julia 1.9 (compat).
Single-threaded compatibility is tested in all major operating systems (OS).
If you see any problem with this information, please let us know in a GitHub issue.
Owner
- Name: JuliaHealth
- Login: JuliaHealth
- Kind: organization
- Website: https://juliahealth.org
- Repositories: 42
- Profile: https://github.com/JuliaHealth
Using the Julia programming language to improve medicine, health care, public health, and biomedical research.
GitHub Events
Total
- Fork event: 5
- Create event: 45
- Commit comment event: 30
- Release event: 2
- Issues event: 48
- Watch event: 44
- Delete event: 52
- Member event: 2
- Issue comment event: 229
- Push event: 347
- Pull request review comment event: 123
- Pull request review event: 133
- Pull request event: 105
Last Year
- Fork event: 5
- Create event: 45
- Commit comment event: 30
- Release event: 2
- Issues event: 48
- Watch event: 44
- Delete event: 52
- Member event: 2
- Issue comment event: 229
- Push event: 347
- Pull request review comment event: 123
- Pull request review event: 133
- Pull request event: 105
Committers
Last synced: almost 2 years ago
Top Committers
| Name | Commits | |
|---|---|---|
| Carlos Castillo Passi | c****o@u****l | 552 |
| beorostica-asusFX505GT-win | b****a@u****l | 471 |
| CompatHelper Julia | c****y@j****g | 58 |
| beorostica | 3****a | 24 |
| curtcorum | 1****m | 18 |
| Carlos Castillo Passi | c****i@k****k | 7 |
| Dilum Aluthge | d****m@a****m | 7 |
| aTrotier | a****r@g****m | 2 |
| dependabot[bot] | 4****] | 2 |
| Pablo Irarrazaval | 1****l | 1 |
| gabuzi | 1****i | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 143
- Total pull requests: 289
- Average time to close issues: 4 months
- Average time to close pull requests: 22 days
- Total issue authors: 20
- Total pull request authors: 17
- Average comments per issue: 2.22
- Average comments per pull request: 1.49
- Merged pull requests: 167
- Bot issues: 0
- Bot pull requests: 109
Past Year
- Issues: 36
- Pull requests: 114
- Average time to close issues: about 1 month
- Average time to close pull requests: 24 days
- Issue authors: 11
- Pull request authors: 12
- Average comments per issue: 1.03
- Average comments per pull request: 1.46
- Merged pull requests: 61
- Bot issues: 0
- Bot pull requests: 15
Top Authors
Issue Authors
- cncastillo (56)
- beorostica (21)
- pvillacorta (19)
- rkierulf (10)
- curtcorum (8)
- Stockless (7)
- aTrotier (4)
- gsahonero (3)
- Tooine (2)
- cenarius1985 (2)
- JanWP (2)
- huchengMRI (1)
- JuliaTagBot (1)
- maleadt (1)
- Mencu (1)
Pull Request Authors
- github-actions[bot] (99)
- Stockless (50)
- pvillacorta (35)
- cncastillo (34)
- beorostica (23)
- rkierulf (16)
- dependabot[bot] (10)
- DilumAluthge (5)
- curtcorum (4)
- gsahonero (4)
- tinorodriguez (3)
- aTrotier (3)
- JanWP (2)
- KookiesNKareem (2)
- depedraza (1)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 5
-
Total downloads:
- julia 438 total
-
Total dependent packages: 7
(may contain duplicates) -
Total dependent repositories: 0
(may contain duplicates) - Total versions: 54
juliahub.com: KomaMRICore
Koma is a Pulseq-compatible framework to efficiently simulate Magnetic Resonance Imaging (MRI) acquisitions. The main focus of this package is to simulate general scenarios that could arise in pulse sequence development.
- Homepage: https://JuliaHealth.github.io/KomaMRI.jl/dev/
- Documentation: https://docs.juliahub.com/General/KomaMRICore/stable/
- License: MIT
-
Latest release: 0.9.1
published 12 months ago
Rankings
juliahub.com: KomaMRIPlots
Koma is a Pulseq-compatible framework to efficiently simulate Magnetic Resonance Imaging (MRI) acquisitions. The main focus of this package is to simulate general scenarios that could arise in pulse sequence development.
- Homepage: https://JuliaHealth.github.io/KomaMRI.jl/dev/
- Documentation: https://docs.juliahub.com/General/KomaMRIPlots/stable/
- License: MIT
-
Latest release: 0.9.2
published 11 months ago
Rankings
juliahub.com: KomaMRI
Koma is a Pulseq-compatible framework to efficiently simulate Magnetic Resonance Imaging (MRI) acquisitions. The main focus of this package is to simulate general scenarios that could arise in pulse sequence development.
- Homepage: https://JuliaHealth.github.io/KomaMRI.jl/dev/
- Documentation: https://docs.juliahub.com/General/KomaMRI/stable/
- License: MIT
-
Latest release: 0.9.1
published 12 months ago
Rankings
juliahub.com: KomaMRIFiles
Koma is a Pulseq-compatible framework to efficiently simulate Magnetic Resonance Imaging (MRI) acquisitions. The main focus of this package is to simulate general scenarios that could arise in pulse sequence development.
- Homepage: https://JuliaHealth.github.io/KomaMRI.jl/dev/
- Documentation: https://docs.juliahub.com/General/KomaMRIFiles/stable/
- License: MIT
-
Latest release: 0.9.1
published 12 months ago
Rankings
juliahub.com: KomaMRIBase
Koma is a Pulseq-compatible framework to efficiently simulate Magnetic Resonance Imaging (MRI) acquisitions. The main focus of this package is to simulate general scenarios that could arise in pulse sequence development.
- Homepage: https://JuliaHealth.github.io/KomaMRI.jl/dev/
- Documentation: https://docs.juliahub.com/General/KomaMRIBase/stable/
- License: MIT
-
Latest release: 0.9.2
published 7 months ago
Rankings
Dependencies
- JuliaRegistries/TagBot v1 composite
- actions/cache v1 composite
- actions/checkout v2 composite
- codecov/codecov-action v1 composite
- julia-actions/julia-buildpkg v1 composite
- julia-actions/julia-processcoverage v1 composite
- julia-actions/julia-runtest v1 composite
- julia-actions/setup-julia v1 composite
