-
Notifications
You must be signed in to change notification settings - Fork 0
Description
Issue Description
Difficulty: Advanced
Time: 36 hours
Description:
This issue is to develop a workflow introducing medical imaging simulation and reconstruction workflows in Julia. This workflow will guide readers through simulating MRI data using KomaMRI.jl, reconstructing data with MRIReco.jl and BART, and enabling Julia–Python–C++ interoperability using BartIO.jl and PythonCall.jl.
The workflow will demonstrate how the Julia ecosystem supports an open, modular, and high-performance approach to computational MRI; from simulation of raw data to advanced image reconstruction pipelines. It will compare and integrate components written in Julia (MRIReco.jl, KomaMRI.jl) and external frameworks (BART in C/Python), showing how Julia acts as a unifying interface across languages and toolchains.
Requirements
-
Introduce MRI simulation and reconstruction in the context of open-source computational imaging research.
-
Explain KomaMRI.jl and its purpose: simulating MRI acquisitions by solving the Bloch equations with customizable sequences, phantoms, and scanner setups.
- Demonstrate how to configure simulation parameters (
Δt,Δt_rf,gpu,precision,Nblocks, etc.). - Show how to generate synthetic data for use in training or reconstruction.
- Demonstrate how to configure simulation parameters (
-
Demonstrate MRIReco.jl for image reconstruction.
- Explain the modular structure of MRIReco.jl and its dependence on Julia packages (e.g.,
NFFT.jl,Wavelets.jl,LinearOperators.jl,RegularizedLeastSquares.jl). - Showcase compressed sensing reconstruction using ADMM.
- Include examples with different k-space sampling patterns (Cartesian, spiral, radial).
- Explain the modular structure of MRIReco.jl and its dependence on Julia packages (e.g.,
-
Introduce BART (Berkeley Advanced Reconstruction Toolbox) as a C/C++/Python-based MRI reconstruction framework.
- Explain BART’s role in advanced image reconstruction research.
- Include a minimal example of a
bart phantom→bart nufft -ipipeline.
-
Use BartIO.jl to interface BART from Julia.
- Demonstrate reading/writing
.cfl/.hdrfiles withread_cflandwrite_cfl. - Show how to call BART commands (
bart(1,"phantom -k -t", traj)) directly within Julia. - Include configuration examples using
set_bart_path("/path/to/bart").
- Demonstrate reading/writing
-
Demonstrate interoperability with Python and C++ from Julia.
- Use
PythonCall.jlto import and call BART’s Python functions from Julia. - Describe when direct Julia wrappers (e.g., BartIO.jl) vs. foreign language interop may be preferred.
- Illustrate Julia’s ability to orchestrate hybrid workflows that blend native and external tools.
- Use
-
Provide an end-to-end workflow showing:
- Simulation in KomaMRI.jl → Reconstruction in MRIReco.jl → BART reconstruction via BartIO.jl.
- Optional integration with PythonCall.jl for hybrid experiments.
- Visualization of reconstructed images in Julia (e.g.,
Makie.jl,Images.jl).
Expected Outcomes
- A workflow introducing medical imaging simulation and reconstruction workflows.
- Code examples showing data generation (KomaMRI), image reconstruction (MRIReco, BART), and Julia–C++/Python interoperability (BartIO.jl, PythonCall.jl).
- Demonstration of Julia as a unifying environment for imaging research.
- A reproducible example pipeline integrating multiple MRI tools.
- Reference and comparison of open-source MRI ecosystems across languages.
- Visual examples illustrating simulated k-space data and reconstructed MRI images.
Notes
Reference Materials
- MRIReco.jl GitHub (https://github.com/MagneticResonanceImaging/MRIReco.jl)
- KomaMRI.jl GitHub (https://github.com/KomaMRI/KomaMRI.jl)
- BartIO.jl GitHub (https://github.com/MagneticResonanceImaging/BartIO.jl)
- BART Toolbox (https://mrirecon.github.io/bart/)
- PythonCall.jl Documentation (https://cjdoris.github.io/PythonCall.jl/stable/)
- MRIReco.jl Paper: Uecker, M. et al. (2015). Software for fast MRI reconstruction using non-uniform FFTs and compressed sensing.
- KomaMRI.jl Documentation: Describes Bloch simulation parameters,
simulateAPI, andsim_paramsconfiguration. - BART Reference: Uecker, M. et al. (2015). Berkeley Advanced Reconstruction Toolbox.