An annotation file contains labels of a surface, for example the sulci and gyri labels of a cortical surface. It is usally found in the subject_identifier/label/ folder. There is a separate annotation for left and right hemisphere, e.g. ?h.aparc.annot

Overlay Annotation on Surface in Tksurfer

(1) Start tksurfer as usual: e.g. tksurfer subject lh inflated

(2) Click on pull down menu: File -> Select Label -> Import Annotation

(3) Browse and find the annotation file (they are usually found in the label folder)

(4) Select and click ok. This will show the labels on the brain.

(5) To change view, click on pull-down menu view, label style, then outline.

Reading Into Matlab

[v, L, ct] = read_annotation(annotation_filename);

Suppose N is the number of vertices. Then,

v = N x 1 vector, v(i) = i-1 (you can usually ignore v)

L = N x 1 vector, L(i) = label of ith vertex of mesh

ct = colortable structure

What is a colortable?

The colortable matches the label with the structure name. It also gives color to each structure type for visualization in tksurfer. In matlab, the colortable structure can be dissected as follows.

ct.numEntries = # structures that are specified (scalar)

ct.orig_tab = location of riginal colortable (string). It's mainly for book-keeping

ct.struct_names = list of structure names (cell). The number of strings should be equal to the number of entries. For example, ct.struct_names{1} could be 'central sulcus'

ct.table = ct.numEntries x 5 matrix. Row i describes the color and label of the ith structure. ct.table(1,j) specifies the red color value of structure j (0 to 255). ct.table(2,j) specifies the green color value of structure j (0 to 255). ct.table(3, j) specifies the blue color value of structure j (0 to 255). ct.table(4,j) is all zeros. Finally ct.table(5,j) = ct.table(1,j) + ct.table(2,j)*28 + ct.table(3,j)*216 + 0*224 = label given to structure j.

Therefore if vertex i is labeled structure j. Then L(i) = ct.table(5, j).