I was looking for ways to visualize the MRS voxel and how individual participants voxels overlap and saw the MRS-Voxel-Plot software here. The requirement is that voxel masks are already created and normalized to MNI space. Can anyone point me to how to do this? How to get the voxel mask, coregister to the T1, and normalize to MNI space? Thank you for this resource!!
Sorry for the holiday delay in responding! You should be able to create binary voxel masks that are co-registered to a T1 with one of the open-source processing toolboxes (Osprey, spant, FSL-MRS) that you can find in the Software & Code section. Once you have the binary masks, you can apply the normalization transformation that you get from normalizing the T1s to MNI space to the binary voxel masks. (Disclaimer: I’m pretty sure these nonlinear transformations will not preserve the MRS voxel volume - @nwduncan might weigh in on that?).
Yes, the normalisation will alter the volume of the mask. That’s not a problem though as the purpose of the visualisation is to show what region of the brain the mask covers.
One would still want to report statistics about the group’s mask volumes separately as that is relevant to other factors that influence the data (e.g., SNR).
There are a number of tools available for doing the normalisation. This can involve either just a linear transformation or a linear plus non-linear one. The latter is more accurate but probably isn’t vital for this kind of visualisation.
For those who use SPM12 to create voxel masks, you can use the following script to transform them from native to MNI space. Note you must have output the forward deformation field when running the segmentation routine.
% MRSvox2MNI.m
%
% Script to normalize binary MRS voxel masks from native to MNI space
%
% Author: Mark Mikkelsen, Ph.D. (Weill Cornell Medicine) (2022)
clear;
% Set up SPM12
%--------------------------------------------------------------------------
spm('defaults','fmri');
spm_jobman('initcfg');
%--------------------------------------------------------------------------
% Select forward deformation field(s) and MRS voxel mask(s) to be
% transformed to MNI space
%--------------------------------------------------------------------------
fwd_def = {'y_S03_struc.nii'}; % <---- CHANGE THIS
MRS_voxel_mask = {'S03_GABA_68_act_mask.nii'}; % <---- CHANGE THIS
%--------------------------------------------------------------------------
% Normalise
%--------------------------------------------------------------------------
% Normalise MRS voxel mask into MNI space
matlabbatch{1}.spm.spatial.normalise.write.subj.def = cellstr(fwd_def);
matlabbatch{1}.spm.spatial.normalise.write.subj.resample = cellstr(MRS_voxel_mask);
matlabbatch{1}.spm.spatial.normalise.write.woptions.vox = [1 1 1];
matlabbatch{1}.spm.spatial.normalise.write.woptions.prefix = 'w_';
%--------------------------------------------------------------------------
% Run job
%--------------------------------------------------------------------------
spm_jobman('run',matlabbatch);
%--------------------------------------------------------------------------