User preferences

You can customize certain qMRLab features according to your needs by modifying the usr/preferences.json file.

1. Default method selection

Note

Takes effect only in MATLAB with GUI.

The GUIDefault field determines which qMRLab module will be shown first in the method selection dropdown by default. For example:

"GUIDefault": {
    "Method": "vfa_t1"
}

2. Parallelization settings

FitParallelWheneverPossible selection

Note

Takes effect only in MATLAB if the parallel computing toolbox is available. The number of workers depends on the computational resources, as well as the MATLAB preferences.

This field configures qMRLab to execute fitting using multiple CPU cores when the Fit Data button is clicked in the GUI or when the FitBIDS command is issued.

"FitParallelWheneverPossible": true,

If you would like to use parallelization only for certain (voxelwise) methods, you can use ParFitData function. For details:

help ParFitData

ParFitData configurations

Configures the default behavior of ParFitData function.

Note

Takes effect only in MATLAB if the parallel computing toolbox is available. Only the voxelwise models (e.g., inversion_recovery) are affected.

"ParFitData": {
             "AutosaveEnabled": 1,
             "AutosaveInterval": 5,
             "Granularity": 3,
             "RemoveTmpOnSuccess": 1
     }

Each option is explained below.

  • AutosaveEnabled [on 1, off 0, default 1]
    • Save partial results when a batch is done processing or when the AutosaveInterval is reached.
  • AutosaveInterval [min 1, default 5]
    • If AutosaveEnabled is set to 1, this option determines the duration (in minutes) at which the outputs will be saved. Each CPU worker times its own process.
  • Granularity [min 2, max 5, default 3]
    • Determines how many data chunks will be created to parallelize the fitting.
    • nChunks = nCores X Granularity.
  • RemoveTmpOnSuccess [min 2, max 5, default 3]
    • Determines whether to remove ParFitTempResults folder after the execution finished successfully. For further details about ParFitData:
help ParFitData

3. Unit configurations

qMRLab aims at collecting qMRI implementations from different labs under one umbrella. We keep the implementations as close as possible to their original form and avoid enforcing a particular scaling.

By configuring preferences.json, it is possible to unify the units across all qMRLab models. This high-level configuration framework gives users the flexibility to work with units they prefer and keep implementations closer to they were originally developed. The units are handled for 3 main cases:

  • Input protocol units: Defines the units for the acquisition parameters (e.g., RepetitionTime in seconds or milliseconds).
  • Output map units: Defines the units for the quantitative maps calculated by qMRLab (e.g., T1 map in seconds or milliseconds).
  • Input map units: Some quantitative maps are provided as inputs to certain models. For example, a B1+ map can be provided for vfa_t1, or a T1 map is expected by the mvf. This category defines in which units does qMRLab expect a qMRI map as an input.

Unit changes take effect in both MATLAB and Octave. To see the unit changes in the GUI, you need to restart qMRLab after modifying the preferences.json file. The following dropdowns explain unit selections available in the usr/preferences.json file.

Note

qMRLab will use the units provided by original implementations when all the following settings are disabled: UnifyOutputMapUnits, UnifyInputProtocolUnits, ChangeProvidedInputMapUnits and ForAllUnitsUseBIDS.

In this case, different models may operate in different units. For example, for inversion_recovery it is milliseconds, whereas for vfa_t1 it is seconds.