Skip to content

[WORKFLOW] Medical Resonance Imaging Simulation and Analysis #3

@TheCedarPrince

Description

@TheCedarPrince

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 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).
  • 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 phantombart nufft -i pipeline.
  • Use BartIO.jl to interface BART from Julia.

    • Demonstrate reading/writing .cfl/.hdr files with read_cfl and write_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 interoperability with Python and C++ from Julia.

    • Use PythonCall.jl to 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.
  • 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

  1. A workflow introducing medical imaging simulation and reconstruction workflows.
  2. Code examples showing data generation (KomaMRI), image reconstruction (MRIReco, BART), and Julia–C++/Python interoperability (BartIO.jl, PythonCall.jl).
  3. Demonstration of Julia as a unifying environment for imaging research.
  4. A reproducible example pipeline integrating multiple MRI tools.
  5. Reference and comparison of open-source MRI ecosystems across languages.
  6. Visual examples illustrating simulated k-space data and reconstructed MRI images.

Notes

Reference Materials

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentationworkflowWorkflow supported by JuliaHealth

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions