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

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