retinotopy with freesurfer

2 min read

[this post is under frequent updating]

Retinotopy analysis consists two parts, one on high resolution structural images (segmentation, inflation, cut, etc), the other on functional images.

Before you start, you need to put the structural images into certain directory hierarchy and set environment variable. Assume folder “structural” is where subjects’ structural images are. Under “structural”, you have folders “SUBJ1”, “SUBJ2”, “CON14” etc for every subject. You will have to put your structural images to “structural/SUBJ1/mri/orig/001.mgz”. If you have multiple images for this subject, use “002.mgz” etc. (If you original file format is not mgz, check out how to convert image formats).


Then set environment variable in linux shell:

  1. Run command recon-all
    recon-all -all -subjid CON14
    to process structural image. This will run for a long time (30 hours). To see what steps are being done, checkout recon-all manual.
  2. Cut occiput surface
    Run command
    tksurfer CON14 lh inflated
    to display the inflated left hemisphere.
    Rotate the brain until the medial surface is facing you.
    Then select points along calcarine fissure and press button “Cut line”.

    Select 3 points to define the cutting plane: 2 on medial side and 1 on lateral side. Choose a 4th point to specify which portion of surface to keep and press button “Cut plane”.

    Save (File > Patch > Save As) as file lh.occip.patch.3d.
    (To know how to cut full brain, check out this PDF)
  3. Flatten occiput surface
    cd to the subject’s “surf” directory and run
    mris_flatten -w 0 -distances 20 7 lh.occip.patch.3d  lh.occip.patch.flat
    To visualize the patch, you can first load the subject’s inflated surface, then File > Patch > Load Patch …
    Flattening takes 1-2 hours.
  4. Repeat step 2 and 3 for the right hemisphere.


  1. Create directory hierarchy
    Create directory “retinotopy”, then under this folder, create directories SUBJ01, SUBJ02, SUBJ03, CON14 etc. Each of these directories is for a subject. Under each subject’s directory, create folder “bold”. In “bold”, create folder “001”, “002” etc, they are folders for runs of a single subject.  Note, the name of run folders has to be 3-digit with padding 0s. Something like “01” or “1” won’t work. Under run folders, put the functional imaging data “f.nii” and paradigm file (rtopy.par) there. If your functional image is not a nii file, check out how to convert functional images to Nifti format.

    Under SUBJ01, create a file called “subjectname” with one line string “SUBJ1” — assuming “SUBJ1” is this subject’s name under “structural” folder. This file is to link this subject’s functional and structural data.

    Create file sessid under retinotopy. In this file each line is the folder’s name for each subject.


    Please refer to freesurfer’s wiki for detailed explanation. And the following diagram is very helpful:

    In rtopy.par file, write two lines
    stimtype eccen
    direction pos

    stimtype polar
    direction neg

  2. Stay in folder “retinotopy”
  3. Create analysis
    Run the following command -a rtopy -TR 2 -designtype retinotopy -paradigm rtopy.par -funcstem fmcsm5 -ncycles 8
    Note: ncycles is the number of periods in each run of either ecc or mm. For example, if you have 10 steps going from a small circle to a big circle in ecc, and repeat this for 4 times, then ncycles=4.
    After running this program, you will find a directory “rtopy” newly created. There you find two files, analysis.cfg and You may want to change some values there for your own data (e.g. -nskip). If you already removed the extra images, you don’t need to specify -nskip.
  4. Preprocess functional data
    Run command
    preproc-sess -sf sessid -fwhm 5
    preproc-sess -s SUBJ01 -fwhm 5
    It takes about 40s for one run. (For xc only: you should run this command on scuttlebutt, not rumor)
  5. Register against structural images
    Before and after registration, you may use tkregister-sess to view how well the functional images are aligned with structural images.
    tkregister-sess -sf sessid -regheader
    Green lines are the cortical surface. Hit button “compare” to see the alignment.
    To run registration, run command
    fslregister-sess -sf sessid
  6. Run the analysis
    sfa-sess -a rtopy -sf sessid
    (for xc: use scuttlebutt. It takes ~2min)
  7. View intermediate results
    sliceview-sess -sf sessid -a rtopy -c eccen -map h -slice mos
    sliceview-sess -sf sessid -a rtopy -c polar -map h -slice mos
  8. Run paint
    paint-sess -a rtopy -sf sessid
    It takes ~1min.
  9. View final result
    surf-sess -sf sessid -a rtopy -retinotopy fieldsign -flat
    surf-sess -sf sessid -a rtopy -retinotopy eccen -flat
    surf-sess -sf sessid -a rtopy -retinotopy polar -flat
    surf-sess -sf sessid -a rtopy -c polar -flat

Receive email notification via email 博客有新内容通知我

Don't want to miss new papers in your field? Check out Stork we developed:

第二十五期 fNIRS Journal Club 视频

来自华东师范大学的胡银莹博士为大家介绍了具体如何计算和验证超扫描实验中脑间同步性,并分享做fNIRS实验相关方面的应用经验。视频如下: Youtube: Youku:上传后被youku屏蔽,原因不详。
Xu Cui
3 sec read

第二十五期 fNIRS Journal Club 通知 2021/11/27,10:00am

来自华东师范大学的胡银莹博士将为大家介绍具体如何计算和验证超扫描实验中脑间同步性,并分享做fNIRS实验相关方面的应用经验。热烈欢迎大家参与讨论。 时间: 北京时间2021年11月27日上午10:00地点: https://zoom.com房间号: 846 2034 9158密码: 064380 胡银莹博士要讲解的文章如下: How to Calculate and Validate Inter-brain Synchronization in a fNIRS Hyperscanning Study. Hu, Wang, Song,...
Xu Cui
9 sec read

第二十四期 fNIRS Journal Club 视频

北京时间2021/10/23,10:00am, 来自韩国釜山国立大学Keum-Shik Hong教授团队的杨大林同学为大家介绍了如何结合深度学习和近红外扫描技术实现早期老年痴呆症的识别,并分享深度学习技术在相关方面的应用经验 。 Youtube: Youku: 相关资源: 文献鸟(追踪科学文献)文献大分析(两分钟了解一个领域)
Xu Cui
5 sec read

One Reply to “retinotopy with freesurfer”

  1. I’v got a problem about the image displayed as the final result in step 9.
    After run ‘surf-sess -sf sessid -a rtopy -retinotopy eccen -flat’or ‘surf-sess -sf sessid -a rtopy -retinotopy polar -flat’, i got a image with color scales, But i don’t know what does it mean by the cold blue or the warm red. Can you give me a clue about it.
    Thanks ~!

Leave a Reply

Your email address will not be published. Required fields are marked *