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.

structural
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).

structural
    |--SUBJ1
        |--mri
            |--orig
                |--001.mgz
                |--002.mgz

Then set environment variable in linux shell:
setenv SUBJECTS_DIR $PWD

  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.

functional

  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.

    retinotopy
        |--sessid
        |--SUBJ01
            |--subjectname
    
            |--bold
                |--001
                    |--f.nii
                    |--rtopy.par
                |--002
                    |--f.nii
                    |--rtopy.par
    

    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

    or
    stimtype polar
    direction neg

  2. Stay in folder “retinotopy”
  3. Create analysis
    Run the following command
    mkanalysis-sess.new -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 analysis.info. 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
    or
    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


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

NIRS知识红包竞猜

想了解近红外fnirs技术的同学,可以考虑参加我们周六中午的知识竞猜活动。因为心仪科技的慷慨赞助,我们今年的红包比往年大几倍,从5元涨到20元,最后还有大题,奖励100元的大红包。欢迎大家踊跃参加,也欢迎邀请朋友来。 时间:北京时间本周六(2020/2/15)中午12点,在“NIRS知识红包竞猜”群。 不了解心仪的同学,可以趁此机会了解一下: 上海心仪电子科技有限公司是一家专业从事心理学、认知神经科学和脑科学产品技术服务商,目前公司代理了德国ANT便携式脑电、美国ISS公司的Imagent近红外、韩国OBELAB便携式近红外、MAG&More公司的PowerMag系列经颅磁,为脑功能成像和调控提供全套解决方案。
Xu Cui
2 sec read

After fNIRS experiment …

Xu Cui
13 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 *