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: | |
|
Packages | Julia Compat ≥ | Stable Version | Build Status | Code Coverage |
---|---|---|---|---|
📦 KomaMRI.jl | ||||
└ 📦 KomaMRIBase.jl | ||||
└ 📦 KomaMRICore.jl | ||||
└ 📦 KomaMRIFiles.jl | ||||
└ 📦 KomaMRIPlots.jl |
🟢 [7 Dec 2023] MRI Together: Koma was present in MRI Together 😼. The talk is available here. Also, I uploaded the promised educational example.
🟢 [17 Nov 2023] ISMRM Pulseq's virtual meeting: Pretty excited of being part of this meeting. The slides can be seen here.
🟢 [27 Jul 2023] JuliaCon 2023 presentation: I gave a talk at the MIT 😄! 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 😃! The open access article is available here.
🟢 [8 Dec 2022] KomaMRI v0.7: Huge code rewrite, this implies improved performance (now 5x faster), type stability, extensibility, and more!
🟢 [17 May 2022] ISMRM 2022 presentation: My abstract presentation is now uploaded here!
☰ Roadmap
v1.0:
- Phantom and Sequence data types,
- Spin precession in gradient-only blocks (simulation optimization),
- GPU acceleration using CUDA.jl,
- RF excitation,
- GPU accelaration of RF excitation,
- Scanner data-type: , etc.,
- Pulseq IO,
- Signal "Raw Output" dictionary (ISMRMRD),
- MRIReco.jl for the reconstruciton,
- Documentation,
- Auxiliary Pulseq functions,
- Coil sensitivities,
- Cardiac phantoms and triggers.
- decay,
Next:
- Diffusion models with Laplacian Eigen Functions,
- Magnetic susceptibility,
- Use PackageCompiler.jl to build a ditributable core or app.
To install, just type ] add KomaMRI
in the Julia REPL or copy-paste the following into the Julia REPL:
pkg> add KomaMRI
For more information about installation instructions, refer to the section Getting Started of the documentation.
KomaMRI.jl features a convenient GUI with predefined simulation inputs (i.e. Sequence
, Phantom
, and Scanner
). To launch the GUI, use the following command:
using KomaMRI
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.
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 our Contribution Guidelines for details on how to get started.
If you use this package, please cite our paper.
Plain Text:
Castillo-Passi, C, Coronado, R, Varela-Mattatall, G, Alberola-López, 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:
@article{https://doi.org/10.1002/mrm.29635,
author = {Castillo-Passi, Carlos and Coronado, Ronal and Varela-Mattatall, Gabriel and Alberola-López, 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},
}
We automatically test KomaMRICore's CPU multi-threading support on the most popular operating systems. Nevertheless, for GPU support, the process is more manual (until #147). Here is a summary of our automatic CPU tests and local GPU tests for multiple versions of Julia:
If you see any problem with this information, please let us know in the form of a GitHub issue.