Skip to content

3D T2 mapping based on accelerated MESE with a subspace constrained reconstruction

License

Notifications You must be signed in to change notification settings

CRMSB/PAPER_subspace_MESE

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Subspace_MESE.jl

Documentation Paper

Subspace_MESE.jl is a Julia package that implements the subspace reconstruction for an accelerated MESE sequence for Bruker scanner (PV6.0.1). The reconstruction can be performed using MRIReco.jl (or BART for comparison purpose) with 3 subspaces generated with :

  • a calibration area
  • mono-exponential dictionary
  • EPG dictionary

More information and examples are available in the article and in the

How to give credit

If you use this package please acknowledge us by citing : https://doi.org/10.1002/mrm.30146

Additionally, if you use the sequence available in the MR sequence folder, please contact us to sign the sequence transfer agreement : [email protected]

Bruker sequence and protocol

The accelerated 3D MESE MR sequence and the corresponding protocol for fully-sampled / CS6 / CS8 and CS10 acquisitions, as used in the publication, are available in the folder MR sequence/PV6.0.1 for Bruker Paravision PV6.0.1. Source code is available in this private directory. Source code is available in this private directory : https://github.com/CRMSB/SEQ_BRUKER_a_MSME_CS/tree/v0.1.1b

The sequence was also implemented for Bruker Paravision PV-360.3.5 and is available in the folder MR sequence/PV-360.3.5. Source code is available in this private directory : https://github.com/CRMSB/SEQ_BRUKER_a_MESE_CS_360

Julia Installation

To use the code, we recommend downloading Julia version 1.9.3 with juliaup.

Windows

1. Install juliaup

winget install julia -s msstore

2. Add Julia 1.9.3

juliaup add 1.9.3

3. Make 1.9.3 default

juliaup default 1.9.3
Mac

1. Install juliaup

curl -fsSL https://install.julialang.org | sh

You may need to run source ~/.bashrc or source ~/.bash_profile or source ~/.zshrc if juliaup is not found after installation.

Alternatively, if brew is available on the system you can install juliaup with

brew install juliaup

2. Add Julia 1.9.3

juliaup add 1.9.3

3. Make 1.9.3 default

juliaup default 1.9.3
Linux

1. Install juliaup

curl -fsSL https://install.julialang.org | sh

You may need to run source ~/.bashrc or source ~/.bash_profile or source ~/.zshrc if juliaup is not found after installation.

Alternatively, use the AUR if you are on Arch Linux or zypper if you are on openSUSE Tumbleweed.

2. Add Julia 1.9.3

juliaup add 1.9.3

3. Make 1.9.3 default

juliaup default 1.9.3

MESE Package Installation

You can install the package in any project with the following command :

  • launch julia with the command julia
  • enter the Julia package manager by typing ] in the REPL. (the REPL should turn in blue)
  • if you want to activate an environment, type : activate . (otherwise the package will be installed in the global environment)
  • In order to add our unregistered package, type add https://github.com/CRMSB/PAPER_subspace_MESE
  • if you want to use the package : using Subspace_MESE

Reproducing figure 8

In order to reproduce figure 8, we will run a script from the docs project environment which add the dependency to the plotting package CairoMakie. This folder contains the Project.toml and Manifest.toml that list all the dependencies and the version used to produce the figure. If you want to use newer

Steps

In order to run the example you need to :

  • compile the BART toolbox : https://mrirecon.github.io/bart/ (you can skip this step if you don't want to plot the BART reconstruction). After compilation/installation you can check the library path with which bart
  • download the dataset : https://zenodo.org/records/10610639 and extract the zip file.
  • download the current repository : git clone https://github.com/CRMSB/PAPER_subspace_MESE
  • Open a terminal and move to the docs folder in this repository and launch julia with this command in the terminal: julia --project -t auto
  • edit the script in docs/lit/example/subspace_julia_epg.jl and put the correct path in the variable
    • line 46 : path_raw should point to the bruker folder 10
    • line 49 : path_bart should point to the compiled bart library
  • run the literate example using the Manifest.toml files that stores the version of all the packages used to generate the figure
    using Pkg
    Pkg.instantiate()
    include("lit/examples/subspace_julia_epg.jl")

If you want to start from a fresh environment you need to add the correct version of this repository as well as the plotting library CairoMakie.jl (put the correct path to the script subspace_julia_epg.jl if you are not in the docs folder)

using Pkg

Pkg.add(url="https://github.com/CRMSB/PAPER_subspace_MESE",rev="1.0.1")
Pkg.add(name="CairoMakie", version="0.11.3")
Pkg.instantiate()
include("lit/examples/subspace_julia_epg.jl")

The figure will be saved as fig_bart_julia.png in the docs folder.

Note

If you obtain the error :

LoadError: ArgumentError: Package CairoMakie not found in current path

You might not have launch the script from the right environment. You should first move to the docs folder before launching julia --project -t auto in order to use the Project.toml that includes CairoMakie.jl package.

Version

  • 1.1.0
    • add sequence a_MESE_CS_360 (v0.0.1) for paravision 360