Technical: Eroded Subcortical White Matter mask
Published:
If you’ve ever wondered how to get a nice mask for the eroded subcortical white matter region, and use it as a reference region in your SUVR analyses, then read on. This is considered by many to be the holy grail of longitudinal PET SUVR reference regions.
I recently had to do it myself when processing the A05 data from AVID (an Eli Lilly subsidiary) — so that we could validate results found with ADNI’s SUVR data.
Prerequisites: an SUVR image using any reference region, and masks for Left and Right Cerebral White Matter (FreeSurfer aparc+aseg region numbers 2 and 41). To obtain these, I ran the AmyPET centiloid pipeline, tweaked for FreeSurfer ROIs by Pawel Markiewicz and myself. This required FreeSurfer outputs (I used this container for version 7.1.1) and produces a static SUVR image for both whole cerebellum and cerebellar gray matter reference regions.
All that’s left is to calculate the mean SUVR (for either of those reference regions) within the eroded subcortical white matter ROI. Various papers have used such a reference region, showing that it’s the best for longitudinal studies in both amyloid and tau PET:
Here’s how I generated the eroded subcortical white matter mask, following ADNI’s approach to eroding cerebral white matter. This is from Landau et al., 2015 and is described in ADNI’s document UCBERKELEY_AV1451_Methods_11.15.2021.pdf:
Step 0: Create the (non-eroded) subcortical white matter ROI
For convenience:
topf=.
mask=${topf}/mask_freesurfer_regions_2_41.nii.gz
mask_smoothed=$(dirname $mask)/$(basename $mask .nii.gz)-smoothed.nii.gz
mask_eroded=$(dirname $mask_smoothed)/$(basename $mask_smoothed .nii.gz)-eroded.nii.gz
suvr_image=${topf}/suvr.nii.gz
If you have FreeSurfer recon-all
output, these masks can be extracted from mri/aparc+aseg.mgz
. Here I use mri_binarize
on FreeSurfer’s example subject bert
:
freesurfer_dir=/Applications/freesurfer/7.4.1
subj=bert
${freesurfer_dir}/bin/mri_binarize --i ${freesurfer_dir}/subjects/${subj}/mri/aparc+aseg.mgz --match 2 41 --o ${mask}
Step 1: Smooth the FreeSurfer WM mask
ADNI uses 8mm-isotropic FWHM smoothing, which I implemented in MRtrix:
fwhm=8
mrfilter -fwhm $fwhm $mask smooth $mask_smoothed
Step 2: Threshold at 0.7
thresh=0.7
mrthreshold -abs $thresh $mask_smoothed $mask_eroded
# Have a look
mrview $suvr_image --overlay.load $mask_eroded
Step 3: Calculate Holy Grail SUVR
Uses fslstats
:
# Mean only
fslstats $suvr_image -k $mask_eroded -m