m0
m0
¶
M0 calibration for ASL quantification.
This module implements M0 calibration methods for absolute CBF quantification in ASL imaging. The equilibrium magnetization (M0) is reported in arbitrary units (a.u.) per the OSIPI ASL Lexicon.
GPU/CPU agnostic using the xp array module pattern. NO scipy dependency - uses custom morphological operations.
References
.. [1] OSIPI ASL Lexicon, https://osipi.github.io/ASL-Lexicon/ .. [2] Alsop DC et al. (2015). Recommended implementation of arterial spin-labeled perfusion MRI for clinical applications. Magn Reson Med 73(1):102-116. .. [3] Chappell MA et al. (2009). Separation of macrovascular signal in multi-inversion time arterial spin labeling MRI. Magn Reson Med 63(5):1357-1365.
M0CalibrationParams
dataclass
¶
M0CalibrationParams(
method="single",
reference_region="csf",
t1_tissue=1330.0,
t2_star_tissue=None,
tr_m0=6000.0,
te_m0=13.0,
)
Parameters for M0 calibration.
| ATTRIBUTE | DESCRIPTION |
|---|---|
method |
Calibration method: 'single', 'voxelwise', or 'reference_region'.
TYPE:
|
reference_region |
Reference region for calibration: 'csf', 'white_matter', or 'custom'.
TYPE:
|
t1_tissue |
T1 of calibration tissue in milliseconds.
TYPE:
|
t2_star_tissue |
T2* of calibration tissue in milliseconds (for GRE).
TYPE:
|
tr_m0 |
TR of M0 acquisition in milliseconds.
TYPE:
|
te_m0 |
TE of M0 acquisition in milliseconds.
TYPE:
|
VoxelwiseM0Calibration
¶
Bases: BaseM0Calibration
Voxel-by-voxel M0 calibration.
calibrate
¶
Calibrate ASL data by dividing each voxel by its corrected M0 value.
| PARAMETER | DESCRIPTION |
|---|---|
asl_data
|
ASL difference images.
TYPE:
|
m0_image
|
M0 calibration image.
TYPE:
|
params
|
M0 calibration parameters.
TYPE:
|
mask
|
Brain mask.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
calibrated
|
Calibrated ASL data (delta-M / M0).
TYPE:
|
m0_corrected
|
M0 after T1 recovery and T2* corrections.
TYPE:
|
ReferenceRegionM0Calibration
¶
Bases: BaseM0Calibration
Reference region M0 calibration.
calibrate
¶
Calibrate ASL data using a single M0 value from a reference region.
| PARAMETER | DESCRIPTION |
|---|---|
asl_data
|
ASL difference images.
TYPE:
|
m0_image
|
M0 calibration image.
TYPE:
|
params
|
M0 calibration parameters.
TYPE:
|
mask
|
Brain mask.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
calibrated
|
Calibrated ASL data (delta-M / M0_ref).
TYPE:
|
m0_corrected
|
M0 after T1 recovery and T2* corrections.
TYPE:
|
SingleM0Calibration
¶
Bases: BaseM0Calibration
Single (mean) M0 calibration.
calibrate
¶
Calibrate ASL data using the mean M0 across masked voxels.
| PARAMETER | DESCRIPTION |
|---|---|
asl_data
|
ASL difference images.
TYPE:
|
m0_image
|
M0 calibration image.
TYPE:
|
params
|
M0 calibration parameters.
TYPE:
|
mask
|
Brain mask.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
calibrated
|
Calibrated ASL data (delta-M / mean(M0)).
TYPE:
|
m0_corrected
|
M0 after T1 recovery and T2* corrections.
TYPE:
|
apply_m0_calibration
¶
Apply M0 calibration to ASL data.
| PARAMETER | DESCRIPTION |
|---|---|
asl_data
|
ASL difference images (ΔM), shape (...).
TYPE:
|
m0_image
|
M0 calibration image, shape (...).
TYPE:
|
params
|
Calibration parameters.
TYPE:
|
mask
|
Brain mask.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
calibrated_data
|
Calibrated ASL data (ΔM/M0 ratio scaled appropriately).
TYPE:
|
m0_corrected
|
M0 values after T1/T2* corrections.
TYPE:
|
Examples:
compute_m0_from_pd
¶
Compute M0 from proton density image.
| PARAMETER | DESCRIPTION |
|---|---|
pd_image
|
Proton density weighted image.
TYPE:
|
t1_tissue
|
T1 of tissue in milliseconds.
TYPE:
|
t2_tissue
|
T2 of tissue in milliseconds.
TYPE:
|
tr
|
TR of PD acquisition in milliseconds.
TYPE:
|
te
|
TE of PD acquisition in milliseconds.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
NDArray[floating]
|
Estimated M0 values. |