Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
An annotation file contains labels of a surface, for example the sulci and gyri labels of a cortical surface. | 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 |
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 = where original colortable was found (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. So row i describes the color and label of the ith structure. ct.table(1,j) specifies red color value of structure j (0 to 255). ct.table(2,j) specifies 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 basically all zeros. Finally ct.table(5,j) = ct.table(1,j) + ct.table(2,j)*28 + ct.table(3,j)*216 + 0*2^24 = label given to structure j.
Therefore if vertex i is labeled structure j. Then label(i) = ct.table(5, j).