Skip to content

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.

License

Notifications You must be signed in to change notification settings

gabuzi/KomaMRI.jl

 
 

Repository files navigation

KomaMRI.jl is a Julia pacakge 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 simulations with CPU/GPU parallelization 🏃💨
  • Extensible, so anyone can include new features 🆙
  • Supports community-standards 🤝
  • Interactive visualizations using PlotlyJS.jl 📲
  • Cross-platform (Windows, Mac & Linux) 🌐
  • Friendly GUI (using web technologies) 😌
  • Compatible with modern notebooks 🎈
  • Flexible API for advanced users 👨‍💻

Documentation:

Paper:

Packages Stable Version Build Status Code Coverage
📦 KomaMRI.jl
└ 📦 KomaMRICore.jl
└ 📦 KomaMRIFiles.jl
└ 📦 KomaMRIPlots.jl

News

🟢 [17 Nov 2023] ISMRM Pulseq's virtual meeting: Pretty excited of being part of this meeting. The slidescan 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 accelaration 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.

Installation

To install just type the following in the Julia REPL:

] add KomaMRI

For more information about installation insturctions refer 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:

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 procced with the reconstruction.

How to Contribute

We welcome contributions from the community! If you're interested in contributing, please read our Contribution Guidelines for details on how to get started.

How to Cite

If you use this package please acknowledge us by citing 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},
}

About

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.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Julia 92.5%
  • HTML 5.0%
  • CSS 2.4%
  • JavaScript 0.1%