How to convert our old ROI centerpoints from from "asymmetric" (FSL) space into sym-space. For our analysis we need to work in the "symmetric template" space

Hello,

As the title suggests, I am working with the “symmetric space” template and attempting to convert ROI centerpoints from the “asymmetric” (FSL) space into symmetric space. However, the sym/asym atlases use substantially different coordinate systems. So far, I have tried several approaches including the one mentioned below, but I am not sure if they are correct. I suspect the “MNI coordinates” entered for the symmetric seeds from the following method may be incorrect, as they likely correspond to FSL’s default “asymmetric atlas” space.

What would be the ideal way to to get the actual MNI coordinates of our ROIs to sym space in FSL?

%%1. Create xform matrix
flirt -in MNI152_T1_1mm_asym -ref MNI152_T1_1mm_sym -omat asym_to_sym.mat


%% 2. transform a map (e.g. Julich) into sym space

flirt -in your_map -ref $FSLDIR/data/standard/MNI152_T1_2mm_sym_brain -applyxfm -init $FSLDIR/data/standard/asym_to_sym.mat -out your_map_in_sym_space

%% 3) warp our ROI in the same way
flirt -in your_ROI -ref $FSLDIR/data/standard/MNI152_T1_2mm_sym_brain -applyxfm -init $FSLDIR/data/standard/asym_to_sym.mat -out ROI_in_sym_space.nii.gz

%%4) Find the value of that max coordinate

fslstats /Users/.../lhem_ROI_sym.nii.gz -R

%% 5) Threshold the transformedPoint to get only the top voxel & binarize

fslmaths /Users/..../lhem_ROI_sym.nii.gz -thr x -bin /Users/.../sym_point.nii.gz

Hi @Kierra, are you working with the 6th generation MNI152 symmetric/asymmetric templates? These templates are already more or less in alignment in a global sense - you can see this by loading both images into FSLeyes - they should be reasonably well aligned with each other.

Therefore, calculating a linear registration between them using flirt (which can only apply global translations/rotations/scalings) is not going to improve their alignment in any meaningful way.

Are you looking at voxel coordinates, or world/mm coordinates? As these two images are already roughly aligned, their world coordinates should be comparable - i.e. the same anatomical location in both images will have approximately the same world coordinates, regardless of the voxel coordinates in each image.

Note that voxel coordinates will differ substantially depending on the field-of-view (FOV) and resolution of the image. For example, you appear to be using both 1mm and 2mm versions of the images - you won’t be able to compare voxel coordinates across images of different dimensions/resolutions.

For two images which are in alignment with each other in world coordinates (i.e. they overlay nicely when viewed in FSLeyes), you can resample one into the voxel grid of the other using a command such as:

flirt -applyxfm -usesqform \
  -in <input> \
  -ref <reference> \
  -out <input_resampled_to_reference>

After doing this, both images will have the same voxel FOV and resolution, and you will be able to use voxel coordinates interchangeably across the two images. But I suspect that you need to be working in world coordinates, rather than voxel coordinates.

If you are just after a rough alignment between these two variants of the MNI152 template, then resampling, or working in world/mm coordinates should be good enough. However, if you need higher accuracy, then you will need to calculate a non-linear registration between the two images using e.g. fnirt or mmorf.