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
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]
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
To use the code, we recommend downloading Julia version 1.9.3 with juliaup
.
Windows
winget install julia -s msstore
juliaup add 1.9.3
juliaup default 1.9.3
Mac
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
juliaup add 1.9.3
juliaup default 1.9.3
Linux
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.
juliaup add 1.9.3
juliaup default 1.9.3
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
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
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 folder10
- line 49 :
path_bart
should point to the compiled bart library
- line 46 :
- 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.
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.
- 1.1.0
- add sequence a_MESE_CS_360 (v0.0.1) for paravision 360