Beauchamp:FSStndSurf

From OpenWetWare
Jump to navigationJump to search

Creating and Using Standard FreeSurfer Brains

When surfaces are created in FreeSurfer, the spherical version of the subject's surface is automatically aligned to the FreeSurface standard atlas brain. A new surface is created with the name lh.sphere.reg . This has the same number of nodes as the surface lh.sphere (and all of the other lh surfaces) but the nodes have been moved (morphed) to new positions so that each node on the subject's brain corresponds to a similar location on the atlas brain. If you view the .reg brain in SUMA, you will see swirling patterns that are a signature of the morphing process. These registered brains can be used to average fMRI data or other surfaces values across subjects, because each node corresponds to a similar brain location. Here is the README file from the FreeSurfer group average template. Beauchamp:FSAverageReadme The data files for the FreeSurfer template is found in

 /Applications/freesurfer/subjects/fsaverage/surf

or equivalent depending on your installation directory. A copy has been created in

 /Volumes/data9/surfaces/fsaverage

And converted to SUMA format for ease of access.

cd /Volumes/data9/surfaces/fsaverage
./@fs
  1. Functional activation must be mapped to the surface.

This is accomplished using the 3dVol2Surf command. set sd = /Volumes/data9/surfaces/couch_david/FM/SUMA/ set sb = 2 set sblabel = VisLoc

3dVol2Surf -overwrite -spec {$sd}/{$ec}_{$hemi}.spec -surf_A smoothwm  -sv {$ec}_SurfVol_Alnd_Exp+orig -oob_value 0 \
-grid_parent {$ec}v1mr+orig'['{$sb}']' -map_func mask   -out_1D {$ec}v1mr_{$hemi}_{$sblabel}.1D

This assigns a functional value to each node. See Beauchamp:CreateStndSurfModNew for more details on different mapping options in 3dVol2Surf. The created .1D file has multiple columns; the data is in column 6.

  1. Map the individual subject surface to the atlas surface.

The functional values on the registered sphere must now be mapped to the nodes on the atlas sphere, which has the same spatial orientation but a different number of nodes.

 SurfToSurf -prefix test -output_params Data -data  {$ec}v1mr_{$hemi}_{$sblabel}.1D'[6]'  \
-i /Volumes/data9/surfaces/fsaverage/SUMA/{$hemi}.sphere.reg.asc  -i {$sd}/{$hemi}.sphere.reg.asc 

The created .1D file has multiple columns; the data is in column 7. It can be viewed on the fsaverage brain"

  cp FNv1mr_lh_VisLoc_reg.1D /Volumes/data9/surfaces/fsaverage/SUMA
 cd /Volumes/data9/surfaces/fsaverage
./@fs

Click on load dataset to view. Below are some pictures of the original activity from three subjects and the same activation on the fsaverage brain. Cases FL, FM, FN

  1. This mapping process takes about 1/2 hour per hemisphere. The following steps can be used to automate this process for many hemispheres.
set sdall = ( /Volumes/data9/surfaces/graham_tim/FL/SUMA/  /Volumes/data9/surfaces/couch_david/FM/SUMA/  /Volumes /data9/surfaces/graham_sean_v2/FN/SUMA/ \
/Volumes/data9/surfaces/elmore_caitlin/DK/SUMA/  /Volumes/data9/surfaces/jen_emily/FS/SUMA/  /Volumes/data9  /surfaces/pasalar_siavash/SP/SUMA/ \
/Volumes/data9/surfaces/rushworth_david/FW/SUMA/  /Volumes/data9/surfaces/yasar_nafi/DJ/SUMA/ /Volumes/data9    /surfaces/singh_akanksha/FZ/SUMA/ )
set idx = 1
foreach ec (FL FM FN FQ FS FU FW FY FZ)
set sd = $sdall[$idx]
cd /Volumes/data1/UT/{$ec}/afni
foreach hemi (lh rh)
 echo Processing $sd hemi $hemi
3dVol2Surf -overwrite -spec {$sd}/{$ec}_{$hemi}.spec -surf_A smoothwm  -sv {$ec}_SurfVol_Alnd_Exp+orig -oob_value 0 \
-grid_parent {$ec}v1mr_REML+orig -map_func mask   -out_1D {$ec}v1mr_{$hemi}_all.1D
SurfToSurf -overwrite -prefix {$ec}v1mr_{$hemi}_all_reg.1D -output_params Data -data  {$ec}v1mr_{$hemi}_all.1D  \
-i /Volumes/data9/surfaces/fsaverage/SUMA/{$hemi}.sphere.reg.asc  -i {$sd}/{$hemi}.sphere.reg.asc 
@ idx++
echo $idx
end
end



  1. Perform group analysis

Many of the same techniques and tools used to perform volume group analysis can also be used on the surface. Smoothing before averaging can be performed with SurfSmooth

SurfSmooth

A t-test can be performed to find all nodes that are different from 0

3dttest -base1 0 -set2 FLv1mr_FL_VisLoc_reg.1D'[7]' FMv1mr_lh_VisLoc_reg.1D'[7]' FNv1mr_lh_VisLoc_reg.1D'[7]' \
-prefix testavg

The results are shown here