GACELLE (GPU-AcCELerated toolbox for high-throughput multi-dimensionaL quantitative parameter Estimation)
GACELLE is a MATLAB parameter estimation tool optimised for high-throughput data processing.
GACELLE provides two types of solvers to handle parameter estimation prolem:
- Determinisic, minimisation-based solver: askAdam.m
- Stochastic, Markov chain Monte Carlo solver: mcmc.m
Full documentation can be found on http://gacelle.readthedocs.io
| Model (class) | Estimates | Data |
|---|---|---|
AxCaliberSMT (gpuAxCaliberSMT) |
Orientation-invariant axon diameter index | Multi-shell diffusion MRI |
SANDI (gpuSANDI) |
Soma radius/fraction, neurite density, extracellular diffusivity | Multi-shell diffusion MRI |
NEXI (gpuNEXI) |
Neurite volume fraction, compartment diffusivities, inter-compartment exchange rate | Multi-shell, multi-diffusion-time diffusion MRI |
mcmicro (gpumcmicro) |
Neurite volume fraction and intrinsic diffusivity (± compartmental R2) | Multi-shell (± multi-echo) diffusion MRI |
GRE-MWI (gpuGREMWI) |
Myelin water fraction and compartmental relaxation/frequency parameters | Multi-echo GRE |
MCR-MWI (gpuMCRMWI) |
Myelin water fraction, compartmental R1/R2*/frequency, myelin water exchange rate | Variable-flip-angle, multi-echo GRE |
JointR1R2star (gpuJointR1R2starMapping) |
R1 and R2* jointly | Variable-flip-angle, multi-echo GRE |
R2starMapping (gpuR2starMapping) |
M0 and R2* (mono-exponential decay) | Multi-echo GRE (magnitude) |
PDF (gpuPDF) |
Background field removal for QSM/phase processing | Total field map |
mcTFI (gpumcTFI) |
Susceptibility, R2*, M0 and phase offset jointly (no separate background-removal/dipole-inversion steps) | Raw complex multi-echo GRE |
- Unified askadam/mcmc solver interface. Every model class now exposes
a single
fitting.solver = 'askadam' | 'mcmc'option and oneestimate(...)entry point, replacing the old pattern of separategpu<Model>/gpu<Model>mcmcclasses (e.g.gpuJointR1R2starMapping+gpuJointR1R2starMappingmcmcare now justgpuJointR1R2starMapping). - New QSM module (
qsm/):gpumcTFI- multi-echo complex Total Field Inversion: jointly reconstructs susceptibility, R2*, M0 and a phase offset directly from raw complex multi-echo GRE in a single nonlinear fit (MEDI-style anatomically-weighted TV regularisation, optional CSF zero-referencing).gpuPDF- GPU Projection onto Dipole Fields background field removal.
- Automatic GPU memory management (
fitting.autoMemManage = 1): a probe-based memory predictor (utils.find_optimal_segment_3D) transparently segments large volumes into density-balanced, halo-padded chunks processed sequentially when the full dataset won't fit in available VRAM, for bothaskadam.mandmcmc.m, with manual override viafitting.segmentOverlap/fitting.NSegmentUser. - Reworked
askadam.mconvergence handling: five independent stopping criteria (loss threshold, robust loss convergence viafitting.robustConvergence, step-norm, gradient-norm, max iterations), selectable linear/EMA convergence models, and per-criterion patience windows. - New default parameter-space transform for
askadam.m:fitting.parameterTransform = 'sigmoid'(unconstrained logit/sigmoid reparameterisation) is now the default, fixing a boundary-sticking numerical failure mode present in the old hard-clamped linear rescaling ('linear', the v1.0 behaviour, is still available). - MCMC ensemble improvements, including a fixed-anchor-walkers option.
addpath_gacelle.m- adds the whole toolbox to the MATLAB path in one call, automatically excludingdocs/,sandbox/,deprecated/andmpl_training/.- Expanded documentation: new "Advanced" pages (convergence, parameter transform, automatic memory management), a "Writing a new model" tutorial, an "Understanding the output" page, and reference pages for the new QSM classes plus R2starMapping/mcmicro/SANDI.
An example MCR-MWI (multi-compartment relaxometry myelin water imaging) dataset is available on Zenodo: 10.5281/zenodo.22666992.
Please check the license file for more information.
If you use GACELLE in your research, please cite the following article:
If you use GACELLE's implementation of NEXI, please also cite:
If you use GACELLE's implementation of MCR-MWI, please also cite:
Please report any bugs on the Issue page.
If you have a more general question regarding the usage of GACELLE, please make use of the Discussion board.
Planning to modify the toolbox yourself? See CONTRIBUTING.md.
