MIT License

项目介绍

JuliaHealth/KomaMRI.jl 是一个托管在 GitHub 上的开源项目,主要使用 Julia 编写,采用 MIT License 许可证,目前获得 227 个 Star、54 次 Fork。

仓库全名
JuliaHealth/KomaMRI.jl
开源许可证
MIT License
Star 数
227
Fork 数
54
未关闭 Issue
71

README 摘要

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 🤝 Interactive visualizations using Plotly 📲 Cross-platform (Windows, Mac & Linux) 🌐…

完整内容见 GitHub 原始 README 或本页 。

常见问题

KomaMRI.jl 用什么语言开发?

主要使用 Julia 编写,采用 MIT License 许可证,目前有 227 个 Star。

KomaMRI.jl 可以免费商用吗?

仓库采用 MIT License 许可证,可免费使用与修改,商业使用请遵守许可证条款(例如保留版权声明与许可声明)。

如何获取 KomaMRI.jl 的源码?

可以直接克隆仓库:git clone https://github.com/JuliaHealth/KomaMRI.jl.git,默认分支为 master;安装与运行步骤见仓库 README。

KomaMRI.jl 最近还在维护吗?

仓库最近一次更新为 3 天前,当前有 71 个未关闭 Issue;Star 数为 227,可作为社区活跃度的参考。

关于

GitHub 原始描述(英文)

Koma is a GPU-accelerated, Pulseq-compatible framework for simulating Magnetic Resonance Imaging (MRI) acquisitions. The primary focus of this package is to simulate the wide range of scenarios encountered during pulse sequence development.

描述取自 GitHub 官方 API,保持仓库作者书写的原文。

简要分析

热度分
340
价值分
149
活跃状态
活跃

语言占比

CSS
HTML
JavaScript
Julia
MATLAB
Python

README


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 🤝
  • Interactive visualizations using Plotly 📲
  • Cross-platform (Windows, Mac & Linux) 🌐
  • Friendly GUI (using web technologies) 😌
  • Compatible with modern notebooks 🎈
  • Flexible API for advanced users 👨‍💻
Packages Stable Version Build Status Code Coverage Downloads
📦 KomaMRI.jl
└ 📦 KomaMRIBase.jl
└ 📦 KomaMRICore.jl
└ 📦 KomaMRIFiles.jl
└ 📦 KomaMRIPlots.jl

Table of Contents

News

☰ 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.

Installation

To install, just type ] add KomaMRI in the Julia REPL or copy-paste the following into the Julia REPL:

pkg> add KomaMRI
pkg> add CUDA     # Optional: Install desired GPU backend (CUDA, AMDGPU, Metal, or oneAPI (experimental))
pkg> app add KomaMRI # Optional: Install the koma app (Julia 1.12+)

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:

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 (experimental)) 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 papers.

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; 90, no. 1: 1-14. doi: 10.1002/mrm.29635

Villacorta-Aylagas, P, Castillo-Passi, C, Kierulf, R.A, Menchón-Lara, R.M, Rodríguez-Galván, J.R, Sierra-Pallares, J.B, Irarrazaval, P, Alberola-López, C. Versatile and Highly Efficient MRI Simulation of Arbitrary Motion in KomaMRI. Magn Reson Med. 2026; 95, no. 3: 1791–1803. doi: 10.1002/mrm.70145.

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},
    volume = {90},
    number = {1},
    pages = {329-342},
    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},
    year = {2023}
}

@article{https://doi.org/10.1002/mrm.70145,
    author = {Villacorta-Aylagas, Pablo and Castillo-Passi, Carlos Andrés and Kierulf, Ryan Anders and Menchón-Lara, Rosa María and Rodríguez-Galván, Justino R. and Sierra-Pallares, José Benito and Irarrazaval, Pablo and Alberola-López, Carlos},
    title = {Versatile and Highly Efficient MRI Simulation of Arbitrary Motion in KomaMRI},
    journal = {Magnetic Resonance in Medicine},
    volume = {95},
    number = {3},
    pages = {1791-1803},
    keywords = {motion, MRI simulation, open-source, performance},
    doi = {https://doi.org/10.1002/mrm.70145},
    url = {https://onlinelibrary.wiley.com/doi/abs/10.1002/mrm.70145},
    eprint = {https://onlinelibrary.wiley.com/doi/pdf/10.1002/mrm.70145},
    year = {2026}
}

Tested compatibility

CUDA, AMDGPU, and Metal are tested on Linux (besides Apple silicon) using the latest stable release, Julia 1 (stable), and Julia 1.10 (compat). oneAPI support is experimental and is not included in the status badges below.

KomaMRICore CPU GPU (Nvidia) GPU (AMD) GPU (Apple)
Julia 1.10
Julia 1

Single-threaded compatibility is tested in all major operating systems (OS).

KomaMRI CPU (single-threaded)
Julia 1.10 (Windows)
Julia 1.10 (Linux)
Julia 1.10 (Mac OS)
Julia 1 (Windows)
Julia 1 (Linux)
Julia 1 (Mac OS)

If you see any problem with this information, please let us know in a GitHub issue.

PkgEval

PkgEval is Julia’s automated package evaluation system. It periodically tests registered packages against Julia versions to catch ecosystem regressions before they reach users.

The umbrella KomaMRI package is excluded here because it opens UI paths that PkgEval cannot display. The subpackages below are the useful PkgEval signal.

Package PkgEval
KomaMRIBase PkgEval
KomaMRICore PkgEval
KomaMRIFiles PkgEval
KomaMRIPlots PkgEval

评论

暂无评论