This file is indexed.

/usr/lib/python2.7/dist-packages/mne/selection.py is in python-mne 0.7.3-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
# Authors: Alexandre Gramfort <gramfort@nmr.mgh.harvard.edu>
#          Matti Hamalainen <msh@nmr.mgh.harvard.edu>
#          Martin Luessi <mluessi@nmr.mgh.harvard.edu>
#
# License: BSD (3-clause)

from os import path

from .utils import logger, verbose


@verbose
def read_selection(name, fname=None, verbose=None):
    """Read channel selection from file

    By default, the selections used in mne_browse_raw are supported*.
    Additional selections can be added by specifying a selection file (e.g.
    produced using mne_browse_raw) using the fname parameter.

    The name parameter can be a string or a list of string. The returned
    selection will be the combination of all selections in the file where
    (at least) one element in name is a substring of the selection name in
    the file. For example, "name = ['temporal', 'Right-frontal']" will produce
    a comination of "Left-temporal", "Right-temporal", and "Right-frontal".

    * The included selections are: "Vertex", "Left-temporal", "Right-temporal",
    "Left-parietal", "Right-parietal", "Left-occipital", "Right-occipital",
    "Left-frontal", and "Right-frontal"

    Parameters
    ----------
    name : string or list of string
        Name of the selection. If is a list, the selections are combined.
    fname : string
        Filename of the selection file (if None, built-in selections are used).
    verbose : bool, str, int, or None
        If not None, override default verbose level (see mne.verbose).

    Returns
    -------
    sel : list of string
        List with channel names in the selection.
    """

    # convert name to list of string
    if isinstance(name, tuple):
        name = list(name)

    if not isinstance(name, list):
        name = [name]

    # use built-in selections by default
    if fname is None:
        fname = path.join(path.dirname(__file__), 'data', 'mne_analyze.sel')

    if not path.exists(fname):
        raise ValueError('The file %s does not exist.' % fname)

    # use this to make sure we find at least one match for each name
    name_found = {}
    for n in name:
        name_found[n] = False

    fid = open(fname, 'r')
    sel = []

    for line in fid:
        line = line.strip()

        # skip blank lines and comments
        if len(line) == 0 or line[0] == '#':
            continue

        # get the name of the selection in the file
        pos = line.find(':')
        if pos < 0:
            logger.info('":" delimiter not found in selections file, '
                        'skipping line')
            continue

        sel_name_file = line[:pos]

        # search for substring match with name provided
        for n in name:
            if sel_name_file.find(n) >= 0:
                sel.extend(line[pos + 1:].split('|'))
                name_found[n] = True
                break

    fid.close()

    # make sure we found at least one match for each name
    for n, found in name_found.iteritems():
        if not found:
            raise ValueError('No match for selection name "%s" found' % n)

    # make the selection a sorted list with unique elements
    sel = list(set(sel))
    sel.sort()

    return sel