GIRFReco.jl
GIRFReco.jl: An Open-Source Pipeline for Spiral Magnetic Resonance Image (MRI) Reconstruction in Julia - Published in JOSS (2024)
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
Repository
An Open-Source End-to-End Pipeline for Spiral Magnetic Resonance Image (MRI) Reconstruction in Julia
Basic Info
- Host: GitHub
- Owner: BRAIN-TO
- License: bsd-3-clause
- Language: Julia
- Default Branch: main
- Homepage: https://brain-to.github.io/GIRFReco.jl/
- Size: 115 MB
Statistics
- Stars: 16
- Watchers: 4
- Forks: 1
- Open Issues: 13
- Releases: 8
Topics
Metadata Files
README.md
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
- To get started, make sure you have Julia installed (>=1.9).
- Clone the GIRFReco.jl project from Github to a local directory by
git clone git@github:BRAIN-TO/GIRFReco.jlor to copy it to the dev directory using the Quick Installation and the following command:julia> ]dev GIRFReco - Open a Julia REPL under the path of your local
GIRFReco.jlfolder. 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. - In the Julia REPL, type
]to enter the package manager. - In Julia package manager, Type
activate .to activate a the Julia environment defined inProject.tomlfile in theGIRFReco.jlrepo. - Add the
MRIGradients.jlpackage byadd MRIGradients. - Install all additional dependent packages:
add MRIRecoadd MRIFilesadd MRIBaseadd ImageUtilsadd MRICoilSensitivitiesadd FileIO
- Use command
instantiatein 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). - 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.
- Open the demo script
joss_demo.jlunder the folderdocs/lit/examples/, make sure to setrootProjPathas the folder that stores demo data, then run it in Julia REPL.
Example Results
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:

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

Owner
- Name: Brain Research in Advanced Imaging and Neuromodeling - Toronto
- Login: BRAIN-TO
- Kind: organization
- Repositories: 4
- Profile: https://github.com/BRAIN-TO
JOSS Publication
GIRFReco.jl: An Open-Source Pipeline for Spiral Magnetic Resonance Image (MRI) Reconstruction in Julia
Authors
Krembil Research Institute, University Health Network, Ontario, Canada, MRI Research Centre, University of British Columbia, Vancouver, Canada
Department of Physics, Norwegian University of Science and Technology, Trondheim, Norway
Tags
Magnetic Resonance Imaging Non-Cartesian Image Reconstruction Gradient Impulse Response Function (GIRF) Off-resonance CorrectionCitation (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
Top Committers
| Name | 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
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
- Homepage: https://brain-to.github.io/GIRFReco.jl/
- Documentation: https://docs.juliahub.com/General/GIRFReco/stable/
- License: BSD-3-Clause
-
Latest release: 0.1.7
published almost 2 years ago
Rankings
Dependencies
- actions/checkout v3 composite
- julia-actions/setup-julia latest composite
- actions/checkout v3 composite
- actions/upload-artifact v3 composite
- openjournals/openjournals-draft-action master composite
- 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
- julia-actions/setup-julia v1 composite
- JuliaRegistries/TagBot v1 composite