Functional Normalization

3D funcnorm demo [13MB]

Paper Abstract

Function-based inter-subject alignment of human cortical anatomy
pdf
Making conclusions about the functional neuroanatomical organization of the human brain requires methods for relating the functional anatomy of an individual's brain to population variability. We have developed a method for aligning the functional neuroanatomy of individual brains based on the patterns of neural activity that are elicited by viewing a movie. Instead of basing alignment on functionally defined areas, whose location is defined as the center of mass or the local maximum response, the alignment is based on patterns of response as they are distributed spatially both within and across cortical areas. The method is implemented in the two-dimensional manifold of an inflated, spherical cortical surface. The method, although developed using movie data, generalizes successfully to data obtained with another cognitive activation paradigm, viewing static images of objects and faces, and improves group statistics in that experiment as measured by a standard general linear model (GLM) analysis.

Software

This page is the home of the functional normalization software package. You can download the latest version of the software here.

System Requirements

The software runs in a Unix-type environment (e.g., Linux, Mac OS X) with the following packages installed and configured: The software picks up where FreeSurfer anatomic alignment leaves off. Required for input are the FreeSurfer surfaces (smoothwm, pial, and sphere.reg meshes) in their original locations ($SUBJECTS_DIR/surf) along with the anatomic data used to generate the surface volume (in $SUBJECTS_DIR/mri/orig). The other input is the experimental data: both the functional and anatomic volumes gathered during an experimental run, formatted as AFNI .HEAD and .BRIK.gz files.

These inputs are used to generate warps that bring the subjects into functional alignment. The time to create the warps depends on the number of subjects and the amount of data for each subject. The demo script provided in the download section uses 6 subjects and 5 minutes (100 timepoints) of FMRI data per subject. It requires about 5 hours to run on an Intel QX9650 processor, at 3.6GHz with 12MB L2 cache and 8GB RAM.

The output of the algorithm are new FreeSurfer-formatted cortical meshes (pial, smoothwm, sphere.reg) for each subject, but this time the nodes in the mesh correspond functionally across subjects. These new functionally-corresponding meshes are used as input to SUMA's 3dVol2Surf command (via the convenience of our funcnorm_prepare_align.m MATLAB wrapper script) to produce functionally-aligned data on the cortical surface that can be used in cross-subject analyses. The functionally-aligned surface data output is currently AFNI's binary NIML format.

Downloads

12/01/09: The code has a bug that may make it fail to start on some PCs, a fix will be up soon. The above sample data is for 6 subjects: their FreeSurfer cortical meshes and data from viewing two 5 minute clips of Raiders of the Lost Ark. The code and sample_data directories should be placed in the same directory, at the same level. For instance, if you create a funcnorm directory, then you should have a funcnorm/code and funcnorm/sample_data directory for the demo_funcnorm script to work.

Running the Demo

Launch MATLAB and cd to the funcnorm_release/code directory. Then type "demo_funcnorm". The demo will prepare the input meshes and functional data for the main algorithm, the funcnorm.m script. After the warps have been created, the second 5 minute clip (gathered during a second, independent scanning session) is used to see how the alignment fared. Average node-wise inter-subject correlation of the FMRI time series is compared before (anatomic alignment only) and after functional alignment. In the demo, correlation in the test data increases 27% from +0.048 to +0.061.

Paper reference


Please contact bdsinger@princeton.edu or bconroy@princeton.edu with your questions.