= How to Convert from FreeSurfer Space Back to Native Anatomical Space = == Regular Stream == For the longitudinal stream, scroll down. Question: I have successfully run a subject's data through FreeSurfer. FreeSurfer creates volumes in 1mm^3^, 256^3^ space, but I want the FreeSurfer results in the space of my original anatomical. How do I do this? The exact command you use depends on what you want to convert, an image (like brain.mgz) or a segmentation (like aseg.mgz). For an image: {{{ cd $SUBJECTS_DIR//mri mri_vol2vol --mov brain.mgz --targ rawavg.mgz --regheader --o brain-in-rawavg.mgz --no-save-reg }}} "rawavg.mgz" is a file created by FreeSurfer and is in the native space of your anatomical so we use that volume as a target space. The output is brain-in-rawavg.mgz and will be in the native space of the anatomical. Substitute brain.mgz with whatever other images you want in native space. For a segmentation (aseg.mgz, aparc+aseg.mgz, wmparc.mgz, etc): {{{ cd $SUBJECTS_DIR//mri mri_label2vol --seg aseg.mgz --temp rawavg.mgz --o aseg-in-rawavg.mgz --regheader aseg.mgz }}} If you ran both of the commands above, tkmedit should show the aseg (in native space) overlaid properly on the brain (in native space) all matching up well with the rawavg.mgz (your native space target). {{{ tkmedit -f brain-in-rawavg.mgz -aux rawavg.mgz -seg aseg-in-rawavg.mgz }}} You can also map a surface into the native anatomical space First, create a registration matrix between the conformed space (orig.mgz) and the native anatomical (rawavg.mgz) {{{ tkregister2 --mov rawavg.mgz --targ orig.mgz --reg register.native.dat --noedit --regheader }}} Next, map the surface to the native space: {{{ mri_surf2surf --sval-xyz pial --reg register.native.dat rawavg.mgz --tval lh.pial.native --tval-xyz rawavg.mgz --hemi lh --s subjectname }}} The output will be stored in $SUBJECTS_DIR/subjectname/surf/lh.pial.native and can be viewed with freeview rawavg.mgz -f ../surf/lh.pial.native To verify that this worked, run {{{ freeview -v rawavg.mgz -f lh.pial.native }}} == Longitudinal Stream == In the longitudinal stream, the base (subject-template) and the longitudinal runs have their data all in the same space. With the following commands you can map the results from long to the native space. Image (best to use cubic interpolation): {{{ cd $SUBJECTS_DIR/.long./mri mri_convert -ait transforms/_to_.long..lta \ -rl $SUBJCECTS_DIR//mri/rawavg.mgz \ -rt cubic brain.mgz brain-in-rawavg.mgz }}} Segmentation aseg (needs nearest-neighbor method): {{{ cd $SUBJECTS_DIR/.long./mri mri_convert -ait transforms/_to_.long..lta \ -rl $SUBJCECTS_DIR//mri/rawavg.mgz \ -rt nearest -odt uchar \ aseg.mgz aseg-in-rawavg.mgz }}} Segmentation aparc+aseg (needs to be type int): {{{ cd $SUBJECTS_DIR/.long./mri mri_convert -ait transforms/_to_.long..lta \ -rl $SUBJCECTS_DIR//mri/rawavg.mgz \ -rt nearest -odt int \ aparc+aseg.mgz aparc+aseg-in-rawavg.mgz }}} To map surfaces: {{{ cd $SUBJECTS_DIR/.long./surf lta_convert --inlta ../mri/transforms/_to_.long..lta \ --outreg register.native.dat --src $SUBJCECTS_DIR//mri/rawavg.mgz mri_surf2surf --sval-xyz pial --reg register.native.dat ../../$tp/mri/rawavg.mgz \ --tval lh.pial.native --tval-xyz --hemi lh --s ${tp}.long.${base} }}}