Hi All,

I am attempting to transform sets of coordinates from subject CRS space into the surfaceRAS space of an average subject, made with make_average_subject.

By our current method, we register the individual CT to the average surface using mri_robust_register with the command:
mri_robust_register --mov  [subj_CT].img --dst average_orig.mgz --lta reg_avg.lta --iscale --satit
and then check and adjust the registration with:
tkregister2 --mov [subj_CT].img --reg reg_avg.lta --surf pial --s average

These steps work fine, and when I load the average brain in freeview, then load the subject CT with with the registration file reg_avg.lta applied, the two overlap just as they should.

However, when I attempt to do the same thing in matlab, some (though not all) of the subjects present a problem.
I do the coordinate transformation (as suggested on http://freesurfer.net/fswiki/CoordinateSystems) by applying:

inv(Reg_avg) * Tmov * CT_coords

with Tmov: mri_info --vox2ras-tkr [subj_CT].img, Reg_avg as reg_avg.lta, and CT_coords as the relevant coordinates in CRS space from the CT (with a vector of ones appended).

As I said, some of the scans come out fine, with the coordinates in the correct place on the average surface, while others are very far removed from their correct location. How can I fix this?

Thanks,
Isaac