Source code for netneurotools.interface.gifti

"""Functions for working with GIFTI files."""

import nibabel as nib

from netneurotools.interface.interface_utils import PARCIGNORE


[docs] def extract_gifti_labels(gifti_file, parc_ignore=PARCIGNORE): """ Extract vertices and labels from GIFTI file. Parameters ---------- gifti_file : str or Path Path to GIFTI file. parc_ignore : list, optional List of labels to ignore. Returns ------- surf_data : np.ndarray Surface data. keys : tuple Keys. labels : tuple Labels. """ surf_data = nib.load(gifti_file).agg_data() label_table = nib.load(gifti_file).labeltable keys, labels = list( zip( *[ label_tuple for label_tuple in label_table.get_labels_as_dict().items() if label_tuple[1] not in parc_ignore ] ) ) keys = tuple(map(int, keys)) return surf_data, keys, labels