Surface-based Group Analysis Questions

I am attempting to do a surface based analysis of an n-back task (2 back minus 0 back conditions), and I am having trouble piecing together the appropriate procedure through the docs.

I manually edited the skull-stripping in FreeSurfer, then converted the edited brainmask file to a surface via:

@SUMA_Make_Spec_FS -NIFTI -fspath ./subject_ID -sid ./subject_ID

Then, I followed example 8 (but using a standard mesh - as advised by Rick Reynolds:,159454,159521#msg-159521 ) -subj_id subject_ID
-blocks tshift align volreg surf blur scale regress
-copy_anat ./subject_ID/SUMA/brainmask.nii
-dsets ./funct1.nii.gz ./funct2.nii.gz
-surf_anat ./subject_ID/SUMA/subject_ID_SurfVol.nii
-surf_spec ./subject_ID/SUMA/std.60.subject_ID_?h.spec
-tpattern alt-z
-align_opts_aea -cost lpc+ZZ
-volreg_align_to MIN_OUTLIER
-blur_size 6
-regress_stim_labels back_0 back_2
-regress_basis ‘BLOCK(45,1)’
-gltsym ‘SYM: back_2 - back_0’
-glt_label 2minus0
-regress_censor_outliers .1
-regress_censor_motion 0.3
-regress_run_clustsim no

Then, I looked through the SUMA handout:
My reading of slide 88 is that the output of the script using the (-surf_anat and -surf_spec) options can be used in the 3dXXXX group analyses: -command 3dttest++
-write_script ./twominuszero_lh.tcsh
-prefix twominuszero_lh.niml.dset
-dsets ./subject_ID/subject_ID.results/stats.*_ID.lh.niml.dset
-set_labels back2 back0
-subs_betas ‘back_2#0_Coef’ ‘back_0#0_Coef’
-subs_tstats ‘back_2#0_Tstat’ ‘back_0#0_Tstat’
-nomeans -no1sam

Then twominuszero_lh.tcsh runs without error, and creates twominuszero_lh.niml.dset

My goal is to visualize the functional data, and eventually (I think) run to perform the correction for multiple comparisons as in example 3 of the -help output.

My questions are:

  1. Is the “stats.subject_ID.?h.niml.dset” the correct file to use for 3dttest++ if the goal is to visualize the functional data (that was included as volumetric data in as .nii.gz files)

  2. I am confused about the spec/std files. I visualized the “twominuszero_lh.niml.dset” file in SUMA by:

afni -niml &
suma -spec ./suma_MNI_N27/std.60.MNI_N27_lh.spec -sv ./suma_MNI_N27/MNI_N27_SurfVol.nii

View → Object Controller → Load Dset → twominuszero_lh.niml.dset

This “looks right” - but I’m unsure if those were appropriate -spec and -sv files.

  1. I am unclear if is a surface equivalent of the -clustsim option in 3dttest++ for volumes. The description of the z.max output values sound like analogous information, but based on (,159863,159889#msg-159889 ) “… we haven’t looked at this for a cluster-control FPR test”

  2. If the output of can be used for mutliple comparison correction of functional data projected on a surface, I am unsure of which files to use. Copying example 3 I tried: -save_script surf_lh
-on_surface yes
-uvar blur 4.0
-uvar spec_file */std.60.subject_ID_lh.spec
-uvar surf_vol ./subject_ID_SurfVol_Alnd_Exp+orig

The above script works when I use just one subject picked at random, but when I try to use data from all of the subjects included in the analysis (as in the -save_script surf_lh
-on_surface yes
-uvar blur 4.0
-uvar spec_file ./std.60._ID_lh.spec
-uvar surf_vol ./

I get “** error: arg #44 (-uvar) requires 2 params, found 1”

My understanding of the std.60.subject_ID.lh.spec file is that it essentially defines the conversion of/relationship between the surface of subject “subject_ID”, and the std.60 mesh (which, seems like the equivalent of a template). Similarly, the subject_ID_SurfVol_Alnd_Exp+orig defines the conversion of/relationship between the volume that was used to create the surface (in my case, the brainmask edited in freesurfer, created from a T1), and the experimental volume (in my case, the functional scans aligned to the MIN_OUTLIER slice).

If my understanding of the files is correct, I don’t understand how can use information from only one subject, to determine cluster correction for a group analysis.

Any clarification would be very helpful, as I want to make sure I’m using these tools correctly!

I am still working on this and was wondering if anyone had any suggestions, since I feel like I’m missing something quite obvious.

Is the appropriate approach to convert the 3dttest++ output (i.e. twominuszero_lh.niml.dset) to a volumetric dataset using 3dSurf2Vol? I was under the impression that one of the purposes of doing the surface-based analysis directly through was so that the surface results would be directly mappable to the volume, but I may have misinterpreted that.

Any ideas would be appreciated!