Abdominal QSM Phantom is a Julia toolbox for simulating and analyzing abdominal quantitative susceptibility mapping (QSM). The toolbox enables creation of synthetic susceptibility maps, R2* maps, fieldmaps, and simulation of complex water-fat signal acquisitions. It is ideal for validating water-fat separation, background field removal, and QSM methods.
Main Features
- Synthetic and editable susceptibility and R2* maps.
- Multi-peak fat models.
- rBW-dependant chemical shift displacement of fat signal.
- rBW-dependant SNR.
- Multiecho simulations at user-provided TEs.
To prepare the environment and install all required packages, run the provided setup.jl script in the project directory. This script activates the project environment and installs all necessary dependencies.
Example scripts are located in the examples/ folder. To run an example and generate simulation results:
-
From Julia REPL:
- Start Julia in the project root directory.
- Activate the project environment if not already active:
using Pkg Pkg.activate(".")
- Run an example script, for instance:
include("examples/example04_simulate_acquisition.jl")
-
From the command line (Bash or terminal):
- Navigate to the project root directory.
- Run Julia with the project environment activated and the example included:
julia --project=. -e 'include("examples/example04_simulate_acquisition.jl")'
Running the example scripts will save output files in the corresponding subfolders under the results/ directory.
The repository contains the following main folders:
C:.
├── examples
│ ├── example01_synthetic_chi.jl
│ ├── example02_synthetic_r2star.jl
│ ├── example03_synthetic_fieldmap.jl
│ └── example04_simulate_acquisition.jl
├── results (Created after running examples)
│ ├── ex01_synthetic_chi
│ ├── ex02_synthetic_r2star
│ ├── ex03_synthetic_fieldmap
│ └── ex04_simulate_acquisition
├── src
│ ├── models
│ ├── mri_signal
│ ├── save_data
│ └── tissue_properties
├── Manifest.toml
├── Project.toml
└── setup.jl
src/: Core source code including models, MRI signal simulation, data saving, and tissue property modules.examples/: Example Julia scripts demonstrating various simulations and use cases.results/: Folder where output files from the example simulations are saved. Running the examples will generate these folders.Project.tomlandManifest.toml: Julia environment files managing dependencies.setup.jl: Script to initialize the project environment.
If you have used QSMPhantom toolbox in a scientific publication, we would appreciate citations to the following work:
Silva J, Milovic C, Lambert M, et al. Toward a realistic in silico abdominal phantom for QSM. Magn Reson Med. 2023;1-17. doi: 10.1002/mrm.29597
This work was funded by Fondecyt 1181057, Fondecyt 1191710, Fondecyt 1231535, Anid/PIA/Anillo ACT192064, and Millennium Institute for Intelligent Healthcare Engineering CN2021_004.
Dr. Carlos Milovic was supported by Cancer Research UK Multidisciplinary Award C53545/A24348.
Dr. Cristobal Arrieta was partially funded by ANID Fondecyt Postdoctorado 2019 #3190763.
Javier Silva was supported by the National Agency for Research and Development ANID/Becas/Doctorado Nacional 21241374.