LoRE-SD is a novel diffusion MRI modelling technique making minimal assumptions on tissue microstructure. It is based on the spherical deconvolution paradigm in which the diffusion signal is decomposed as the spherical convolution of a response function
LoRE-SD estimates the response function
Every Gaussian basis function is associated with a weight
The response function representation is used to generate scalar image maps mimicking an intra-axonal, extra-axonal and free water compartment. In addition, a response function anisotropy is defined, providing a metric to quantify signal anistropy. This is achieved by creating weight matrices that accentuate (
In summary, LoRE-SD offers a framework for estimating data-driven, local response functions, enabling accurate glioma modelling and the development of new image contrasts.
This code makes use of MRtrix3 commands. Make sure you have a working installation installed and have added the binaries to your PATH.
-
Clone the repo and run
make install
to install required dependencies and add some useful commands to the path. If you do not want to add console scripts to your path, runpip install -e .
. -
Run the LoRE-SD algorithm on your dMRI data:
lore_dwi2decomposition <input_dwi> <output_dir> [--reg <regularisation_parameter>] [--grid_size <grid_size>] [--cores <number_of_cores>] [--bvecs <bvecs>] [--bvals <bvals>]
-
<input_dwi>
: Input DWI in MRtrix3 format (.mif) or NIfTI format (.nii.gz) -
<output_dir>
: Directory to write the output files to. Output files areodf.mif
,response.mif
andgaussian_fractions.mif
-
--mask <mask>
: Path to the brain mask. If not present, a brain mask will be generated usingdwi2mask
. -
--reg <regularisation_parameter>
: (optional) Default is$10^{-3}$ -
--grid_size <grid_size>
: (optional) Default is 10. This is the square grid size of the response function representation. Values are always linearly separated in$[0, 4] \mu m^2/ms$ . -
--cores <number_of_cores>
: (optional) Default is 1. Number of cores to use for multiprocessing. As a reference, using 50 cores takes about 5 minutes to process a full DWI of the brain. -
--bvecs <bvecs> --bvals <bvals>
: Paths to bvecs and bvals file respectively if using NIfTI format. -
--eval_matrix <Q>
: Evaluation matrix (stored as .npy) used to enforce ODF non-negativity. Will be generated with 600 uniformly spread vectors if not present. Useful to avoid regenerating this matrix for multiple experiments.
-
-
Analyze the ODF estimates and generated image contrasts. The basic image contrasts can be generated using:
lore_decomposition2contrast <input_fractions> <output_dir>
-
<input_fractions>
: Gaussian fractions estimated by LoRE-SD. Supplyinggaussian_fractions.mif
suffices. -
<output_dir>
: Directory to write the output files to. Output files areintra_axonal_constrast.mif
,extra_axonal_contrast.mif
andfree_water_contrast.mif
New contrasts can be generated by defining a contrast matrix which assigns a weight
$0 \le w_{\lambda_\parallel, \lambda_\perp} \le 1$ to every Gaussian basis function$G_{\lambda_\parallel, \lambda_\perp}$ and calculating the inner product of this matrix withgaussian_fractions.mif
. For the example contrasts, see src/optimisation/contrasts.py -
Given two .mif files with ODF coefficients, the following command calculates the Angular Correlation Coefficient between the ODFs in every voxel. This functionality is useful when comparing ODF estimates of LoRE-SD to those of other software:
lore_angular_correlation <ODF1> <ODF2> <output_file>
- Siebe Leysen: siebe.leysen@kuleuven.be