Misalignment SUMA

My SUMA images show incorrectly placed functional data.

These are the steps I’ve been using to create the FreeSurfer volume and display it with SUMA.

Convert dicom to mgz:
mri_convert SerieMR-0012-0001-1.dcm 001.mgz
mv 001.mgz two_frames.mgz
mri_convert -nth 0 two_frames.mgz 001.mg

Create Freesurfer surfaces:
recon-all -all -subjid subject_name

@SUMA_Make_Spec_FS -sid your_subject_name

Fix alignment(this didn’t change anything for me):
@SUMA_AlignToExperiment -wd -exp_anat subject_name+tlrc.HEAD -surf_anat subject_name_SurfVol+orig.HEAD

Display SUMA surface:
suma -spec s1_lh.spec -sv data+tlrc.HEAD

I also tried using the Talairach brain template. Again, the result I get does not correctly place a cluster visible in AFNI.


Hi Vicki,

It is not typical to warp to (volumetric) standard
space during such a surface analysis, though it
should probably work (I will have to try it), given
that it is an affine transformation.

What volume are you actually using for the -sv
option? That should be the SurfVol_Alnd_Exp
volume (that is aligned to the experiment).

Anyway, I will run this too, just to see.


  • rick

Hi Rick,

I’m still learning about SUMA but I wouldn’t say I’m using a volume with the -sv tag. The file I’m using is an AFNI HEAD file that was created by the lead on this project to show the results that she obtained looking at a particular group of interest. She created the file using AFNI. Should I do something to transform this file?

Thanks so much for your help!

Hi Rick,

I tried using the subjectname_SurfVol_Alnd_Exp+tlrc.HEAD as the -sv tag and I got the error message: “Not one of the surfaces is mappable and has a Surface Volume. Did you use the -sv option when launching SUMA?”

I don’t get this message when I use the AFNI created file containing results. I am able to see the functional data placed on the SUMA surfaces but unfortunately it’s still not correctly aligned.

Does it make sense that it doesn’t recognize subjectname_SurfVol_Alnd_Exp+tlrc.HEAD as a suitable surface?

Thanks Again,

Hi Rick,

I am also having issues with my data not aligning correctly. I think I am missing a step but I cannot find anything on the message about it. I have taken the following steps:


  1. Use FreeSurfer recon-all on my T1 image that has not been skull stripped or warped to MNI ← is this problem?
  2. Run @SUMA_Make_Spec_FS -sid Subject#
  3. Run @SUMA_AlignToExperiment -exp_anat anat_final.101+tlrc. -surf_anat 101_SurfVol+orig.
    - The anat_final.101_tlrc is aligned to all the epi data and warped to MNI space.

PROBLEM 1) 101_SurfVol+orig is in original space, which means that @SUMA_Make_Spec_FS is not using the native space images: the nonskullstripped original space images are displayed - which could because I used the T1 image → Freesurfer. However, Freesurfer recon-all is skullstripping and warping into MNI. So, I am not sure what is wrong here.


  1. Run step 1 and 2 above
  2. Use align_epi_anat.py -anat2epi -anat 101_SurfVol+orig -anat_has_skull yes -save_skullstrip -suffix _al_junk -epi min_outlier_volume+orig -epi_base 0 -epi_strip 3dAutomask -volreg off -tshift off
    • my epi data is aligned to the min_outlier. Here I am skullstripping and aligning the SurfVol to the min_outlier
  3. @auto_tlrc -base /Users/sxa308/abin/MNI_avg152T1+tlrc -input 101_SurfVol_ns+orig -no_ss -init_xform AUTO_CENTER
    • Now transfer the SurfVol_ns+orig to MNI space
  4. Run @SUMA_AlignToExperiment

PROBLEM #2: The subject .spec file (101_both.spec) is not in MNI space and aligned to the min_outlier_volume.

QUESTION: Is there a way to convert and align the spec files? The only help I have found is your comment about: ConvertSurface has the -xmat_1D and -ixmat_1D options → https://afni.nimh.nih.gov/afni/community/board/read.php?1,150918,150926#msg-150926


  1. Rerun recon-all (freesurfer) on my anat_final.101+tlrc
  2. Then continue with approach #1 … waiting on this.

Any insight or direction that you can provide would be fantastic!


Hi Shana-

The correct (read: most common, easiest, more tested) approach is:

  1. Freesurfer on your original T1 anatomicals (with the skull on)
  2. run @SUMA_Make_Spec_FS on the output folder
  3. Use afni_proc.py (or uber_subject.py). See example 8. This will automatically perform the alignment between Freesurfer’s anatomical, the surfaces, and the EPI. If you feed it the std.141 files, then your outputs will already be on a common mesh. Note that example 8 (and all surface based analysis pipelines) do not have a TLRC block. This is because surface alignment is performed differently (via MapIcosahedron).

If you don’t want to use afni_proc.py (you really should), then take the TLRC block out of your processing and then use @ SUMA_AlignToExperiment to the subject space (+orig) file.

And definitely do not send your TLRC files through Freesurfer.


Hi Peter,

Thank you so much for your quick reply and pointing me in the right direction.

A have a few follow-up questions. I would like to use uber_subject.py to do this since I have limited scripting abilities. So, my questions are based on that.

  1. Is there an option to specify surf_anat and -surf_spec

    • I changed the processing blocks to remove mask and incorporate surf but this didn’t change my below option
  2. My data has already been preprocessed. Would I need to re-preprocess my data and enter in my functional runs (remove # Ts, smooth, enter timing files etc) but include the surface anatomy along with this?

  3. How would this effect my stats file that has already been generated with 3dDeconvolve? Would this need to be completed again?

Thanks so much!

Hi Peter,

Just a follow up to the above.

#1 I wrote my own command to generate a script, so I didn’t need to use uber_subject.py but I guess the answer would be helpful for others.

#2 I still have the question about preprocessing… which I am assuming the answer is yes, that the surf anatomy and spec needs to be incorporated into my preprocessing script. And therefore, it would have been best if I thought of this when I first started preprocessing. Yes, everything is scripted so I can do it easily… just Freesurfer takes forever.

I will wait for your response.

Hi Shana-

It’s usually a good idea to do your preprocessing in afni_proc.py or uber_subject. This ensures that the projecting of the data to the surfaces happens in a fairly accurate way (before smoothing) and also allows you to smooth on the cortical surface! There can be some sizable differences when you do the surface smoothing compared to the more “traditional” in volume smoothing. Some comparison and instructions are here[/url]. And a general overview of some surface analyses are [url=http://blog.cogneurostats.com/?p=484]here.

Importantly, you won’t have to re-run Freesurfer! Once you have the Freesurfer folders, and run @SUMA_Make_Spec_FS, you’re done with Freesurfer! So really you’re just waiting for the functional data to be preprocessed again! And yes, Freesurfer takes a while to run. Though the new Retina iMacs seem to get it under 10 hours. The other best solution is to use something like GNU Parallel (or an actual cluster if you have one) to parallel process the data. I wrote up a way to do this on my blog.

Hope this helps! I can’t say how convenient using afni_proc.py is for surface based analyses! Let me know if you have more questions!