Atlases and Templates

From VISTA LAB WIKI

Jump to: navigation, search

This section includes information regarding Atlases and Templates. On this page you can find instructions for creating a template and creating an atlas as well as information regarding current templates and atlases that were developed here at the VISTA lab.

The terms atlas and template refer to different things. The template refers to a coordinate frame for the data. The atlas refers to the data from many subjects represented in the template coordinate frame.

We use the template to specify how we normalize an individual subject's brain. We use the atlas for statistical testing of the data in the template coordinate frame.

Contents

[edit] Creating a Template

We accumulate the information about these individual brains by first forming a template. All of the individual brains are brought into register with this template.

Suppose we have N subjects. Pick one (subject T) as the target. Now co-register all of the brains to subject T. Take the data, co-registered as well as possible to T, and average them. This is a template based on subject T.

Creating the template this way gives subject T a special position. We don't like that. Instead, we build the template in an iterative fashion that gives no one subject a privileged position. We first build an intermediate template:

  • Identify in each brain (by hand) the anterior commissure (AC), posterior commissure (PC) and a point in the mid-sagittal plane
  • Translate all brains so that all their ACs are aligned
  • Rotate all brains so that the AC-PC and mid-sagittal (and by necessity, left-right) axes are oriented the same. The brains are now in what we call ac-pc space.
  • Skull-strip each brain using FSL's bet, making sure that the brain mask is correct by visually inspecting each one
  • Measure the extent of each brain along 7 sub-axes:
  1. distance from the AC to the left edge of the brain
  2. distance from the AC to the right edge of the brain
  3. distance from the AC to the superior edge of the brain
  4. distance from the AC to the inferior edge of the brain
  5. distance from the AC to the anterior edge of the brain
  6. distance from the *PC* to the posterior edge of the brain
  7. distance between the AC and the PC
  • Compute the average distance for each of these 7 sub-axes
  • Scale all the brains to match this average (this is a piecewise-linear transform). Note that had we scaled all the brains to match the Talairach and Tourneau brain, then we'd call this Talairach space. But that would give their brain a privileged status!
  • Average all these piecewise-linear transformed brains to create the intermediate template.

Now that we have the intermediate template, we simply run a non-linear spatial registration algorithm (from SPM2 or SPM5) to align each of the original brains to the intermediate template. Averaging these brains produces a second intermediate template that has many features more sharply defined than the first intermediate, so we then run the non-linear spatial registration algorithm again, now warping each brain to the second template. The resulting average is our final template. We can then also apply the transform to each subject's EPI image to create a corresponding EPI template.

[edit] Creating an Atlas

The atlas summarizes the data from all of the individual subjects in the coordinate frame of the master template. We normalize each of the data set into the final template coordinate frame. We create the mean and variance for the data in that coordinate frame. We refer to this average as the atlas.

To create the atlas, we run the spatial registration algorithm a third time, and apply the resulting transform to all the brain data (T1, non-diffusion-weighted EPI image, tensors). Of course, when warping a tensor map, we take care to reorient the tensors properly using the method described by Dan Alexander. Nw we have all the brains spatially aligned to the template. We then compute the mean and variance of each image modality at each voxel. Of course, estimating the variance of a set of tensors is not as simple as running 'std' in matlab. We use the log-normal model for tensor data, as described in Schwartzman, Dougherty & Taylor (submitted).

[edit] Current Templates and Atlases

[edit] Templates

Our current templates are contained in /biac2/wandell2/data/reading_longitude/templates.There is a child and an adult template. In fact, there are currently several child_XXX templates.

  • adult: \biac2\wandell2\data\templates\adult\SIRL20adultwarp3_averageDataset\average.mat -- average of 20 adults, single subjects are in the same directory
  • child: \biac2\wandell2\data\templates\childnew\SIRL54warp3\average_dt6 -- average of 55 children (Y1 data), single subjects are in the same directory

COORDINATE SPACE IN TEMPLATES:We sometimes load the templates and do analysis on their data directly. For example, we could track fibers in the average of all adults. When we do this, the ac-pc coordinate box in the dtiFiberUI GUI is in fact showing MNI coords. Do not try to convert the right-hand coordinate box to MNI space. A transform will be computed, but if you try to track fibers with this, dtiFiberUI will crash.

[edit] Atlases

The atlases are within template directories containing the string 'warp3', in the 'average_dt6.mat' file. For example, the adult directory contains a set of files called SIRL20*. These are the templates represented in various ways.

The atlas data are contained in the sub-directory SIRL20adultwarp3_averageDataset. These data include the average_dt6 file and the spatially normalized data (_sn) for the 20 subjects in this atlas. The average_dt6 file is a dt6 file that can be loaded in dtiFiberUI. It contains the simple mean of all the image modlaities: T1 (in struct 'anat'), non-diffusion weighted (in 'b0') and tensor map (in 'dt6'). There is also a tensorSummary mat file which contains:

  • the mean b0 image ('mnB0')
  • a brain mask ('mask')
  • FA mean, stdev and n (in struct 'fa')
  • Mean diffusivity mean, stdev and n (in struct 'md')
  • log-normal tensor mean and variance estimate (in struct logTensor)

Note that the mean and variance estimates are given only for the voxels in the brain (to save space and divide-by-zero warnings). To convert these back to a 3d image, use 'dtiIndToImg(d, mask, NaN);' where d is the dataset that you want to convert (eg. fa.mean) and 'mask' is the brain mask.

Personal tools