GIRFReco.jl

GIRFReco.jl: An Open-Source Pipeline for Spiral Magnetic Resonance Image (MRI) Reconstruction in Julia - Published in JOSS (2024)

https://github.com/brain-to/girfreco.jl

Science Score: 100.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 8 DOI reference(s) in README and JOSS metadata
  • Academic publication links
    Links to: joss.theoj.org
  • Committers with academic emails
    1 of 5 committers (20.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

Keywords

mri mri-brain mri-reconstruction
Last synced: 6 months ago · JSON representation ·

Repository

An Open-Source End-to-End Pipeline for Spiral Magnetic Resonance Image (MRI) Reconstruction in Julia

Basic Info
Statistics
  • Stars: 16
  • Watchers: 4
  • Forks: 1
  • Open Issues: 13
  • Releases: 8
Topics
mri mri-brain mri-reconstruction
Created over 3 years ago · Last pushed 8 months ago
Metadata Files
Readme Contributing License Citation

README.md

Dev codecov DOI

GIRFReco.jl: An open-source pipeline for spiral MRI Reconstruction in Julia

Introduction

This package provides an image reconstruction pipeline for real-world non-Cartesian MRI, designed particularly for spiral diffusion imaging. It is completely implemented in Julia using original code and external packages, e.g., MRIReco.jl for the off-resonance (B0) corrections & core iterative reconstruction tasks, and MRIGradients.jl for the correction of gradient waveforms due to system imperfections via the Gradient Impulse Response Function (GIRF).

This repository includes working examples for spiral reconstruction with GIRF correction of k-space trajectory (kx-ky-kz, or k1 as the first order GIRF) and B0 eddy currents (k0 as zeroth order GIRF), iterative reconstruction (cg-SENSE) and a Cartesian reconstruction example for coil sensitivity and off-resonance map calculation.

The data for the phantom reconstruction joss_demo.jl is publicly available here. The path of the data, params_general[:project_path], needs to be modified accordingly in the config file.

For a full introduction, please refer to our manuscript for a full description of this package, including background, purpose, implementation, and the information of dependent packages.

Quick Installation

To install the package, start Julia and type the following command in the REPL: julia>]add GIRFReco

It is also possible to install the package with the following code: using Pkg Pkg.add("GIRFReco")

Getting Started

There is an example script in the example folder. A quick start guide of this script can be found here.

Development Installation

  1. To get started, make sure you have Julia installed (>=1.9).
  2. Clone the GIRFReco.jl project from Github to a local directory by git clone git@github:BRAIN-TO/GIRFReco.jl or to copy it to the dev directory using the Quick Installation and the following command: julia> ]dev GIRFReco
  3. Open a Julia REPL under the path of your local GIRFReco.jl folder. Our own development configuration is Visual Studio Code with the Julia extension. Other environments for Julia should work in a similar way with possible extra configurations.
  4. In the Julia REPL, type ] to enter the package manager.
  5. In Julia package manager, Type activate . to activate a the Julia environment defined in Project.toml file in the GIRFReco.jl repo.
  6. Add the MRIGradients.jl package by add MRIGradients.
  7. Install all additional dependent packages:
    • add MRIReco
    • add MRIFiles
    • add MRIBase
    • add ImageUtils
    • add MRICoilSensitivities
    • add FileIO
  8. Use command instantiate in Julia package manager to install all of the dependencies. This may be all you need to do (i.e you might be able to skip steps 7,8).
  9. Download the demonstrating data from Zenodo (https://doi.org/10.5281/zenodo.6510020) and extract to your local folder. Make sure you have both reading and writing privileges on the data folder.
    • Note: The data downloading might take a few minutes.
  10. Open the demo script joss_demo.jl under the folder docs/lit/examples/, make sure to set rootProjPath as the folder that stores demo data, then run it in Julia REPL.

Example Results

  1. Phantom Images. (Presented at ISMRM 2022, p.2435): using a dataset with 4 spiral interleaves for images with 1.1mm in-plane resolution. The code and dataset are both described in the previous section.

    bash cd docs/lit/examples julia joss_demo.jl

The final reconstructed spiral images are similar to the following ones:

Phantom Image

  1. In-vivo Brain Image. Below is a set of T2-weighted in-vivo spiral images reconstructed with both B0 and GIRF corrections using the scripts in this repo. We demonstrated the step-by-step improvement of GIRF and B0 corrections, respectively. Please note that the raw in-vivo data is not publically available due to REB restrictions.

In-vivo Brain Image

Owner

  • Name: Brain Research in Advanced Imaging and Neuromodeling - Toronto
  • Login: BRAIN-TO
  • Kind: organization

JOSS Publication

GIRFReco.jl: An Open-Source Pipeline for Spiral Magnetic Resonance Image (MRI) Reconstruction in Julia
Published
May 02, 2024
Volume 9, Issue 97, Page 5877
Authors
Alexander Jaffray ORCID
Krembil Research Institute, University Health Network, Ontario, Canada, MRI Research Centre, University of British Columbia, Vancouver, Canada
Zhe Wu ORCID
Krembil Research Institute, University Health Network, Ontario, Canada
S. Johanna Vannesjo ORCID
Department of Physics, Norwegian University of Science and Technology, Trondheim, Norway
Kâmil Uludağ ORCID
Krembil Research Institute, University Health Network, Ontario, Canada, Department of Medical Biophysics, University of Toronto, Canada, Physical Sciences, Sunnybrook Research Institute, Sunnybrook Health Sciences Centre, Toronto, ON, Canada
Lars Kasper ORCID
Krembil Research Institute, University Health Network, Ontario, Canada
Editor
Kevin M. Moerman ORCID
Tags
Magnetic Resonance Imaging Non-Cartesian Image Reconstruction Gradient Impulse Response Function (GIRF) Off-resonance Correction

Citation (CITATION.cff)

cff-version: "1.2.0"
authors:
- family-names: Jaffray
  given-names: Alexander
  orcid: "https://orcid.org/0000-0002-9571-1838"
- family-names: Wu
  given-names: Zhe
  orcid: "https://orcid.org/0000-0002-2079-5977"
- family-names: Vannesjo
  given-names: S. Johanna
  orcid: "https://orcid.org/0000-0003-2432-4192"
- family-names: Uludağ
  given-names: Kâmil
  orcid: "https://orcid.org/0000-0002-2813-5930"
- family-names: Kasper
  given-names: Lars
  orcid: "https://orcid.org/0000-0001-7667-603X"
contact:
- family-names: Jaffray
  given-names: Alexander
  orcid: "https://orcid.org/0000-0002-9571-1838"
- family-names: Wu
  given-names: Zhe
  orcid: "https://orcid.org/0000-0002-2079-5977"
doi: 10.5281/zenodo.11075548
message: If you use this software, please cite our article in the
  Journal of Open Source Software.
preferred-citation:
  authors:
  - family-names: Jaffray
    given-names: Alexander
    orcid: "https://orcid.org/0000-0002-9571-1838"
  - family-names: Wu
    given-names: Zhe
    orcid: "https://orcid.org/0000-0002-2079-5977"
  - family-names: Vannesjo
    given-names: S. Johanna
    orcid: "https://orcid.org/0000-0003-2432-4192"
  - family-names: Uludağ
    given-names: Kâmil
    orcid: "https://orcid.org/0000-0002-2813-5930"
  - family-names: Kasper
    given-names: Lars
    orcid: "https://orcid.org/0000-0001-7667-603X"
  date-published: 2024-05-02
  doi: 10.21105/joss.05877
  issn: 2475-9066
  issue: 97
  journal: Journal of Open Source Software
  publisher:
    name: Open Journals
  start: 5877
  title: "GIRFReco.jl: An Open-Source Pipeline for Spiral Magnetic
    Resonance Image (MRI) Reconstruction in Julia"
  type: article
  url: "https://joss.theoj.org/papers/10.21105/joss.05877"
  volume: 9
title: "GIRFReco.jl: An Open-Source Pipeline for Spiral Magnetic
  Resonance Image (MRI) Reconstruction in Julia"

GitHub Events

Total
  • Issues event: 2
  • Issue comment event: 3
  • Push event: 2
Last Year
  • Issues event: 2
  • Issue comment event: 3
  • Push event: 2

Committers

Last synced: 7 months ago

All Time
  • Total Commits: 430
  • Total Committers: 5
  • Avg Commits per committer: 86.0
  • Development Distribution Score (DDS): 0.535
Past Year
  • Commits: 1
  • Committers: 1
  • Avg Commits per committer: 1.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Alexander Jaffray a****y@g****m 200
Zhe Tim Wu t****e@g****m 138
Lars Kasper l****r@r****a 80
jaffraya j****a@s****h 10
Lars Kasper l****r@u****a 2
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 23
  • Total pull requests: 17
  • Average time to close issues: 28 days
  • Average time to close pull requests: about 1 month
  • Total issue authors: 7
  • Total pull request authors: 4
  • Average comments per issue: 3.74
  • Average comments per pull request: 0.94
  • Merged pull requests: 4
  • Bot issues: 0
  • Bot pull requests: 12
Past Year
  • Issues: 1
  • Pull requests: 1
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 1
  • Pull request authors: 1
  • Average comments per issue: 2.0
  • Average comments per pull request: 0.0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 1
Top Authors
Issue Authors
  • felixhorger (10)
  • cncastillo (7)
  • aTrotier (1)
  • NCastro-FAU (1)
  • mathieuboudreau (1)
  • alexjaffray (1)
  • JuliaTagBot (1)
Pull Request Authors
  • github-actions[bot] (23)
  • nbwuzhe (4)
  • mrikasper (2)
  • alexjaffray (2)
Top Labels
Issue Labels
hackathon (6)
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads: unknown
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 8
juliahub.com: GIRFReco

An Open-Source End-to-End Pipeline for Spiral Magnetic Resonance Image (MRI) Reconstruction in Julia

  • Versions: 8
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 9.8%
Average: 23.9%
Dependent packages count: 38.0%
Last synced: 6 months ago

Dependencies

.github/workflows/documentation.yml actions
  • actions/checkout v3 composite
  • julia-actions/setup-julia latest composite
.github/workflows/draft-pdf.yml actions
  • actions/checkout v3 composite
  • actions/upload-artifact v3 composite
  • openjournals/openjournals-draft-action master composite
.github/workflows/CI.yml actions
  • actions/checkout v2 composite
  • codecov/codecov-action v2 composite
  • julia-actions/cache v1 composite
  • julia-actions/julia-buildpkg v1 composite
  • julia-actions/julia-processcoverage v1 composite
  • julia-actions/julia-runtest v1 composite
  • julia-actions/setup-julia v1 composite
.github/workflows/CompatHelper.yml actions
  • julia-actions/setup-julia v1 composite
.github/workflows/TagBot.yml actions
  • JuliaRegistries/TagBot v1 composite