For a paper we are submitting, we are going to submit the Talairach
coordinate for each of our ROIs and I wanted to make sure I was doing
this correctly. I am under the impression that if I just map
(mne_morph_labels) the labels of these ROIs to fsaverage, the mapped
coordinates will be the Talairach coordinates, is that right? or are
they MNI? And what is the difference then?
If you fire up mne_analyze, View->Show coordinates... allows you to
see both the MNI and Talairach coordinates for any point you click on,
which can at least offer a nice sanity check for you. I usually
automate this process by loading up the source space for fsaverage and
pulling the locations from that, using something like the following in
MATLAB for whichever zero-indexed fsaverage "vertices" I want MNI
coordinates for:
hemi = 1; % For left hemisphere, needs to be 2 for right
srcFile = fullfile(getenv('SUBJECTS_DIR'),'fsaverage','bem','fsaverage-5-src.fif');
xfmFile = fullfile(fileparts(srcFile),'..','mri','transforms','talairach.xfm');
[~,src] = evalc('mne_read_source_spaces(srcFile)');
[~,xfm] = evalc('freesurfer_read_talxfm(xfmFile)');
mni = xfm*[src(hemi).rr(vertices+1, ones(length(vertices),1)].';
mni = mni(1:3,:).';
I'm pretty sure that for fsaverage, the "xfm" multiplication above is
an just an identity transformation, so you could use the ".rr"
variable directly instead, but I'm including the multiplication for
completeness. If you really want Talairach instead of MNI, you can
then use an affine transform on the position vector obtained above: