@@ -333,9 +333,13 @@ def read_annot(filepath, orig_ids=False):
333
333
Annotation file format versions 1 and 2 are supported, corresponding to
334
334
the "old-style" and "new-style" color table layout.
335
335
336
+ Note that the output color table ``ctab`` is in RGBT form, where T
337
+ (transparency) is 255 - alpha.
338
+
336
339
See:
337
340
* https://surfer.nmr.mgh.harvard.edu/fswiki/LabelsClutsAnnotationFiles#Annotation
338
341
* https://github.com/freesurfer/freesurfer/blob/dev/matlab/read_annotation.m
342
+ * https://github.com/freesurfer/freesurfer/blob/8b88b34/utils/colortab.c
339
343
340
344
Parameters
341
345
----------
@@ -352,7 +356,7 @@ def read_annot(filepath, orig_ids=False):
352
356
Annotation id at each vertex. If a vertex does not belong
353
357
to any label and orig_ids=False, its id will be set to -1.
354
358
ctab : ndarray, shape (n_labels, 5)
355
- RGBA + label id colortable array.
359
+ RGBT + label id colortable array.
356
360
names : list of str (python 2), list of bytes (python 3)
357
361
The names of the labels. The length of the list is n_labels.
358
362
"""
@@ -397,6 +401,9 @@ def read_annot(filepath, orig_ids=False):
397
401
def _read_annot_ctab_old_format (fobj , n_entries ):
398
402
"""Read in an old-style Freesurfer color table from `fobj`.
399
403
404
+ Note that the output color table ``ctab`` is in RGBT form, where T
405
+ (transparency) is 255 - alpha.
406
+
400
407
This function is used by :func:`read_annot`.
401
408
402
409
Parameters
@@ -412,7 +419,7 @@ def _read_annot_ctab_old_format(fobj, n_entries):
412
419
-------
413
420
414
421
ctab : ndarray, shape (n_entries, 5)
415
- RGBA colortable array - the last column contains all zeros.
422
+ RGBT colortable array - the last column contains all zeros.
416
423
names : list of str
417
424
The names of the labels. The length of the list is n_entries.
418
425
"""
@@ -430,7 +437,7 @@ def _read_annot_ctab_old_format(fobj, n_entries):
430
437
name_length = np .fromfile (fobj , dt , 1 )[0 ]
431
438
name = np .fromfile (fobj , "|S%d" % name_length , 1 )[0 ]
432
439
names .append (name )
433
- # read RGBA for this entry
440
+ # read RGBT for this entry
434
441
ctab [i , :4 ] = np .fromfile (fobj , dt , 4 )
435
442
436
443
return ctab , names
@@ -439,6 +446,9 @@ def _read_annot_ctab_old_format(fobj, n_entries):
439
446
def _read_annot_ctab_new_format (fobj , ctab_version ):
440
447
"""Read in a new-style Freesurfer color table from `fobj`.
441
448
449
+ Note that the output color table ``ctab`` is in RGBT form, where T
450
+ (transparency) is 255 - alpha.
451
+
442
452
This function is used by :func:`read_annot`.
443
453
444
454
Parameters
@@ -454,7 +464,7 @@ def _read_annot_ctab_new_format(fobj, ctab_version):
454
464
-------
455
465
456
466
ctab : ndarray, shape (n_labels, 5)
457
- RGBA colortable array - the last column contains all zeros.
467
+ RGBT colortable array - the last column contains all zeros.
458
468
names : list of str
459
469
The names of the labels. The length of the list is n_labels.
460
470
"""
@@ -480,7 +490,7 @@ def _read_annot_ctab_new_format(fobj, ctab_version):
480
490
name_length = np .fromfile (fobj , dt , 1 )[0 ]
481
491
name = np .fromfile (fobj , "|S%d" % name_length , 1 )[0 ]
482
492
names .append (name )
483
- # RGBA
493
+ # RGBT
484
494
ctab [idx , :4 ] = np .fromfile (fobj , dt , 4 )
485
495
486
496
return ctab , names
@@ -489,9 +499,13 @@ def _read_annot_ctab_new_format(fobj, ctab_version):
489
499
def write_annot (filepath , labels , ctab , names , fill_ctab = True ):
490
500
"""Write out a "new-style" Freesurfer annotation file.
491
501
502
+ Note that the color table ``ctab`` is in RGBT form, where T (transparency)
503
+ is 255 - alpha.
504
+
492
505
See:
493
506
* https://surfer.nmr.mgh.harvard.edu/fswiki/LabelsClutsAnnotationFiles#Annotation
494
507
* https://github.com/freesurfer/freesurfer/blob/dev/matlab/write_annotation.m
508
+ * https://github.com/freesurfer/freesurfer/blob/8b88b34/utils/colortab.c
495
509
496
510
Parameters
497
511
----------
@@ -500,7 +514,7 @@ def write_annot(filepath, labels, ctab, names, fill_ctab=True):
500
514
labels : ndarray, shape (n_vertices,)
501
515
Annotation id at each vertex.
502
516
ctab : ndarray, shape (n_labels, 5)
503
- RGBA + label id colortable array.
517
+ RGBT + label id colortable array.
504
518
names : list of str
505
519
The names of the labels. The length of the list is n_labels.
506
520
fill_ctab : {True, False} optional
0 commit comments