Optimising Freesurfer parcelation in volume space (mri_label2vol)

Summary of what happened:

Hi, it’s been suggested to me to use subject-specific ROIs from freesurfer parcelation in another analysis, using a different MRI modality, that is carried in the volume space. I followed other posts on this forum to use mri_label2vol function, starting with a whole a2009s annot (that I planned to slice into individual ROIs later when it’s a nii file, but getting individual labels is also an option).

I went for the “whole gray matter”, ranging from 0 to 1, but the output regions have many missing voxels and seem to be “fuzzy”. I know that mapping from freesurfer surface space to volume space is always tricky, but are there any major steps/areas of improvement here?

Command used (and if a helper script was used, a link to the helper script or the command generated):

mri_label2vol \
    --annot $SUBJECTS_DIR/sub-SC14/ses-avg/label/lh.aparc.a2009s.annot \
    --temp $SUBJECTS_DIR/sub-SC14/ses-avg/mri/orig.mgz \
    --subject sub-SC14/ses-avg \
    --hemi lh \
    --proj frac 0 1 .01 \
    --regheader $SUBJECTS_DIR/sub-SC14/ses-avg/mri/orig.mgz\
    --o $SUBJECTS_DIR/sub-SC14/ses-avg/test_frac_0p1_lh_aparc_a2009s.nii.gz

Version:

7.4.1

Environment (Docker, Singularity / Apptainer, custom installation):

Custom installation on macOS Ventura 13.2.1.

Screenshots / relevant information:

Recreated h.aparc.a2009s.annot overlayed on subject’s UNIT1 image.

Best,
Jacek


Hi @JacekMatuszewski and welcome to neurostars!

Try adding --fill-ribbon and/or --fill-thresh 0.

Best,
Steven

Hi Steven,

Thank you for your answer!
I can’t see --fill-ribbon flag in the mri_label2vol documentation. On the other hand, --fillthresh 0 resulted in identical maps to the ones posted above.

Hi @JacekMatuszewski,

The docs may be out of date. Did you try —fill-ribbon?

Best,
Steven

Hi Steven,

I did, and it started to go well but then resulted in terminal output (following loading of the ribbon.mgz file)

Mapping
Segmentation fault: 11

And then no output file was written, which is a bit puzzling since there is no obvious error message, but still - nothing happens.

Here is the full command that I used:

mri_label2vol \
    --annot $SUBJECTS_DIR/sub-SC14/ses-avg/label/lh.aparc.a2009s.annot \
    --temp $SUBJECTS_DIR/sub-SC14/ses-avg/mri/orig.mgz \
    --subject sub-SC14/ses-avg \
    --hemi lh \
    --proj frac 0 1 .1 \
    --fill-ribbon \
    --regheader $SUBJECTS_DIR/sub-SC14/ses-avg/mri/orig.mgz\
    --o $SUBJECTS_DIR/sub-SC14/ses-avg/test_lh_annot_FillRibbon.nii.gz

Best,
Jacek

Hi @JacekMatuszewski,

This might be a memory issue, but I’m not sure.

Best,
Steven

Hi @Steven,

You were absolutely right! This is high res data and I was trying to do that on my laptop. So I went to our lab cluster…and the same thing happened. So I switched from --annot to individual --label and it worked! The issue was just too many vertices in the data!

Thank you for your help!

1 Like