We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
use bibtex in eegbci.py
convert references in `mne/datasets/eegbci/eegbci.py` to use footcite / footbibliography


--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `mne/datasets/eegbci/eegbci.py`
Content:
```
1 # Author: Martin Billinger <martin.billinger@tugraz.at>
2 # License: BSD Style.
3 
4 import os
5 from os import path as op
6 
7 from ..utils import _get_path, _do_path_update
8 from ...utils import _fetch_file, _url_to_local_path, verbose
9 
10 
11 EEGMI_URL = 'https://physionet.org/files/eegmmidb/1.0.0/'
12 
13 
14 @verbose
15 def data_path(url, path=None, force_update=False, update_path=None,
16               verbose=None):
17     """Get path to local copy of EEGMMI dataset URL.
18 
19     This is a low-level function useful for getting a local copy of a
20     remote EEGBCI dataset [1]_ which is available at PhysioNet [2]_.
21 
22     Parameters
23     ----------
24     url : str
25         The dataset to use.
26     path : None | str
27         Location of where to look for the EEGBCI data storing location.
28         If None, the environment variable or config parameter
29         ``MNE_DATASETS_EEGBCI_PATH`` is used. If it doesn't exist, the
30         "~/mne_data" directory is used. If the EEGBCI dataset
31         is not found under the given path, the data
32         will be automatically downloaded to the specified folder.
33     force_update : bool
34         Force update of the dataset even if a local copy exists.
35     update_path : bool | None
36         If True, set the MNE_DATASETS_EEGBCI_PATH in mne-python
37         config to the given path. If None, the user is prompted.
38     %(verbose)s
39 
40     Returns
41     -------
42     path : list of str
43         Local path to the given data file. This path is contained inside a list
44         of length one, for compatibility.
45 
46     Notes
47     -----
48     For example, one could do:
49 
50         >>> from mne.datasets import eegbci
51         >>> url = 'http://www.physionet.org/physiobank/database/eegmmidb/'
52         >>> eegbci.data_path(url, os.getenv('HOME') + '/datasets') # doctest:+SKIP
53 
54     This would download the given EEGBCI data file to the 'datasets' folder,
55     and prompt the user to save the 'datasets' path to the mne-python config,
56     if it isn't there already.
57 
58     References
59     ----------
60     .. [1] Schalk, G., McFarland, D.J., Hinterberger, T., Birbaumer, N.,
61            Wolpaw, J.R. (2004) BCI2000: A General-Purpose Brain-Computer
62            Interface (BCI) System. IEEE TBME 51(6):1034-1043
63     .. [2] Goldberger AL, Amaral LAN, Glass L, Hausdorff JM, Ivanov PCh,
64            Mark RG, Mietus JE, Moody GB, Peng C-K, Stanley HE. (2000)
65            PhysioBank, PhysioToolkit, and PhysioNet: Components of a New
66            Research Resource for Complex Physiologic Signals.
67            Circulation 101(23):e215-e220
68     """  # noqa: E501
69     key = 'MNE_DATASETS_EEGBCI_PATH'
70     name = 'EEGBCI'
71     path = _get_path(path, key, name)
72     destination = _url_to_local_path(url, op.join(path, 'MNE-eegbci-data'))
73     destinations = [destination]
74 
75     # Fetch the file
76     if not op.isfile(destination) or force_update:
77         if op.isfile(destination):
78             os.remove(destination)
79         if not op.isdir(op.dirname(destination)):
80             os.makedirs(op.dirname(destination))
81         _fetch_file(url, destination, print_destination=False)
82 
83     # Offer to update the path
84     _do_path_update(path, update_path, key, name)
85     return destinations
86 
87 
88 @verbose
89 def load_data(subject, runs, path=None, force_update=False, update_path=None,
90               base_url=EEGMI_URL, verbose=None):  # noqa: D301
91     """Get paths to local copies of EEGBCI dataset files.
92 
93     This will fetch data for the EEGBCI dataset [1]_, which is also
94     available at PhysioNet [2]_.
95 
96     Parameters
97     ----------
98     subject : int
99         The subject to use. Can be in the range of 1-109 (inclusive).
100     runs : int | list of int
101         The runs to use. See Notes for details.
102     path : None | str
103         Location of where to look for the EEGBCI data storing location.
104         If None, the environment variable or config parameter
105         ``MNE_DATASETS_EEGBCI_PATH`` is used. If it doesn't exist, the
106         "~/mne_data" directory is used. If the EEGBCI dataset
107         is not found under the given path, the data
108         will be automatically downloaded to the specified folder.
109     force_update : bool
110         Force update of the dataset even if a local copy exists.
111     update_path : bool | None
112         If True, set the MNE_DATASETS_EEGBCI_PATH in mne-python
113         config to the given path. If None, the user is prompted.
114     base_url : str
115         The URL root for the data.
116     %(verbose)s
117 
118     Returns
119     -------
120     paths : list
121         List of local data paths of the given type.
122 
123     Notes
124     -----
125     The run numbers correspond to:
126 
127     =========  ===================================
128     run        task
129     =========  ===================================
130     1          Baseline, eyes open
131     2          Baseline, eyes closed
132     3, 7, 11   Motor execution: left vs right hand
133     4, 8, 12   Motor imagery: left vs right hand
134     5, 9, 13   Motor execution: hands vs feet
135     6, 10, 14  Motor imagery: hands vs feet
136     =========  ===================================
137 
138     For example, one could do::
139 
140         >>> from mne.datasets import eegbci
141         >>> eegbci.load_data(1, [4, 10, 14], os.getenv('HOME') + '/datasets') # doctest:+SKIP
142 
143     This would download runs 4, 10, and 14 (hand/foot motor imagery) runs from
144     subject 1 in the EEGBCI dataset to the 'datasets' folder, and prompt the
145     user to save the 'datasets' path to the  mne-python config, if it isn't
146     there already.
147 
148     References
149     ----------
150     .. [1] Schalk, G., McFarland, D.J., Hinterberger, T., Birbaumer, N.,
151            Wolpaw, J.R. (2004) BCI2000: A General-Purpose Brain-Computer
152            Interface (BCI) System. IEEE TBME 51(6):1034-1043
153     .. [2] Goldberger AL, Amaral LAN, Glass L, Hausdorff JM, Ivanov PCh,
154            Mark RG, Mietus JE, Moody GB, Peng C-K, Stanley HE. (2000)
155            PhysioBank, PhysioToolkit, and PhysioNet: Components of a New
156            Research Resource for Complex Physiologic Signals.
157            Circulation 101(23):e215-e220
158     """  # noqa: E501
159     if not hasattr(runs, '__iter__'):
160         runs = [runs]
161 
162     data_paths = []
163     for r in runs:
164         url = '{u}S{s:03d}/S{s:03d}R{r:02d}.edf'.format(u=base_url,
165                                                         s=subject, r=r)
166         data_paths.extend(data_path(url, path, force_update, update_path))
167 
168     return data_paths
169 
170 
171 def standardize(raw):
172     """Standardize channel positions and names.
173 
174     Parameters
175     ----------
176     raw : instance of Raw
177         The raw data to standardize. Operates in-place.
178     """
179     rename = dict()
180     for name in raw.ch_names:
181         std_name = name.strip('.')
182         std_name = std_name.upper()
183         if std_name.endswith('Z'):
184             std_name = std_name[:-1] + 'z'
185         if std_name.startswith('FP'):
186             std_name = 'Fp' + std_name[2:]
187         rename[name] = std_name
188     raw.rename_channels(rename)
189
```
--- END FILES ---

Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.

Here is an example:

```diff
diff --git a/examples/server_async.py b/examples/server_async.py
--- a/examples/server_async.py
+++ b/examples/server_async.py
@@ -313,4 +313,4 @@
 
 
 if __name__ == "__main__":
-    asyncio.run(run_async_server("."), debug=True)
+    asyncio.run(run_async_server(), debug=True)
diff --git a/examples/server_sync.py b/examples/server_sync.py
--- a/examples/server_sync.py
+++ b/examples/server_sync.py
@@ -313,5 +313,5 @@
 
 
 if __name__ == "__main__":
-    server = run_sync_server(".")
+    server = run_sync_server()
     server.shutdown()

```

diff --git a/mne/datasets/eegbci/eegbci.py b/mne/datasets/eegbci/eegbci.py
--- a/mne/datasets/eegbci/eegbci.py
+++ b/mne/datasets/eegbci/eegbci.py
@@ -17,7 +17,7 @@
     """Get path to local copy of EEGMMI dataset URL.
 
     This is a low-level function useful for getting a local copy of a
-    remote EEGBCI dataset [1]_ which is available at PhysioNet [2]_.
+    remote EEGBCI dataset :footcite:`SchalkEtAl2004` which is available at PhysioNet :footcite:`GoldbergerEtAl2000`.
 
     Parameters
     ----------
@@ -57,14 +57,7 @@
 
     References
     ----------
-    .. [1] Schalk, G., McFarland, D.J., Hinterberger, T., Birbaumer, N.,
-           Wolpaw, J.R. (2004) BCI2000: A General-Purpose Brain-Computer
-           Interface (BCI) System. IEEE TBME 51(6):1034-1043
-    .. [2] Goldberger AL, Amaral LAN, Glass L, Hausdorff JM, Ivanov PCh,
-           Mark RG, Mietus JE, Moody GB, Peng C-K, Stanley HE. (2000)
-           PhysioBank, PhysioToolkit, and PhysioNet: Components of a New
-           Research Resource for Complex Physiologic Signals.
-           Circulation 101(23):e215-e220
+    .. footbibliography::
     """  # noqa: E501
     key = 'MNE_DATASETS_EEGBCI_PATH'
     name = 'EEGBCI'
@@ -90,8 +83,8 @@
               base_url=EEGMI_URL, verbose=None):  # noqa: D301
     """Get paths to local copies of EEGBCI dataset files.
 
-    This will fetch data for the EEGBCI dataset [1]_, which is also
-    available at PhysioNet [2]_.
+    This will fetch data for the EEGBCI dataset :footcite:`SchalkEtAl2004`, which is also
+    available at PhysioNet :footcite:`GoldbergerEtAl2000`.
 
     Parameters
     ----------
@@ -147,14 +140,7 @@
 
     References
     ----------
-    .. [1] Schalk, G., McFarland, D.J., Hinterberger, T., Birbaumer, N.,
-           Wolpaw, J.R. (2004) BCI2000: A General-Purpose Brain-Computer
-           Interface (BCI) System. IEEE TBME 51(6):1034-1043
-    .. [2] Goldberger AL, Amaral LAN, Glass L, Hausdorff JM, Ivanov PCh,
-           Mark RG, Mietus JE, Moody GB, Peng C-K, Stanley HE. (2000)
-           PhysioBank, PhysioToolkit, and PhysioNet: Components of a New
-           Research Resource for Complex Physiologic Signals.
-           Circulation 101(23):e215-e220
+    .. footbibliography::
     """  # noqa: E501
     if not hasattr(runs, '__iter__'):
         runs = [runs]

{"golden_diff": "diff --git a/mne/datasets/eegbci/eegbci.py b/mne/datasets/eegbci/eegbci.py\n--- a/mne/datasets/eegbci/eegbci.py\n+++ b/mne/datasets/eegbci/eegbci.py\n@@ -17,7 +17,7 @@\n     \"\"\"Get path to local copy of EEGMMI dataset URL.\n \n     This is a low-level function useful for getting a local copy of a\n-    remote EEGBCI dataset [1]_ which is available at PhysioNet [2]_.\n+    remote EEGBCI dataset :footcite:`SchalkEtAl2004` which is available at PhysioNet :footcite:`GoldbergerEtAl2000`.\n \n     Parameters\n     ----------\n@@ -57,14 +57,7 @@\n \n     References\n     ----------\n-    .. [1] Schalk, G., McFarland, D.J., Hinterberger, T., Birbaumer, N.,\n-           Wolpaw, J.R. (2004) BCI2000: A General-Purpose Brain-Computer\n-           Interface (BCI) System. IEEE TBME 51(6):1034-1043\n-    .. [2] Goldberger AL, Amaral LAN, Glass L, Hausdorff JM, Ivanov PCh,\n-           Mark RG, Mietus JE, Moody GB, Peng C-K, Stanley HE. (2000)\n-           PhysioBank, PhysioToolkit, and PhysioNet: Components of a New\n-           Research Resource for Complex Physiologic Signals.\n-           Circulation 101(23):e215-e220\n+    .. footbibliography::\n     \"\"\"  # noqa: E501\n     key = 'MNE_DATASETS_EEGBCI_PATH'\n     name = 'EEGBCI'\n@@ -90,8 +83,8 @@\n               base_url=EEGMI_URL, verbose=None):  # noqa: D301\n     \"\"\"Get paths to local copies of EEGBCI dataset files.\n \n-    This will fetch data for the EEGBCI dataset [1]_, which is also\n-    available at PhysioNet [2]_.\n+    This will fetch data for the EEGBCI dataset :footcite:`SchalkEtAl2004`, which is also\n+    available at PhysioNet :footcite:`GoldbergerEtAl2000`.\n \n     Parameters\n     ----------\n@@ -147,14 +140,7 @@\n \n     References\n     ----------\n-    .. [1] Schalk, G., McFarland, D.J., Hinterberger, T., Birbaumer, N.,\n-           Wolpaw, J.R. (2004) BCI2000: A General-Purpose Brain-Computer\n-           Interface (BCI) System. IEEE TBME 51(6):1034-1043\n-    .. [2] Goldberger AL, Amaral LAN, Glass L, Hausdorff JM, Ivanov PCh,\n-           Mark RG, Mietus JE, Moody GB, Peng C-K, Stanley HE. (2000)\n-           PhysioBank, PhysioToolkit, and PhysioNet: Components of a New\n-           Research Resource for Complex Physiologic Signals.\n-           Circulation 101(23):e215-e220\n+    .. footbibliography::\n     \"\"\"  # noqa: E501\n     if not hasattr(runs, '__iter__'):\n         runs = [runs]\n", "issue": "use bibtex in eegbci.py\nconvert references in `mne/datasets/eegbci/eegbci.py` to use footcite / footbibliography\r\n\n", "before_files": [{"content": "# Author: Martin Billinger <martin.billinger@tugraz.at>\n# License: BSD Style.\n\nimport os\nfrom os import path as op\n\nfrom ..utils import _get_path, _do_path_update\nfrom ...utils import _fetch_file, _url_to_local_path, verbose\n\n\nEEGMI_URL = 'https://physionet.org/files/eegmmidb/1.0.0/'\n\n\n@verbose\ndef data_path(url, path=None, force_update=False, update_path=None,\n              verbose=None):\n    \"\"\"Get path to local copy of EEGMMI dataset URL.\n\n    This is a low-level function useful for getting a local copy of a\n    remote EEGBCI dataset [1]_ which is available at PhysioNet [2]_.\n\n    Parameters\n    ----------\n    url : str\n        The dataset to use.\n    path : None | str\n        Location of where to look for the EEGBCI data storing location.\n        If None, the environment variable or config parameter\n        ``MNE_DATASETS_EEGBCI_PATH`` is used. If it doesn't exist, the\n        \"~/mne_data\" directory is used. If the EEGBCI dataset\n        is not found under the given path, the data\n        will be automatically downloaded to the specified folder.\n    force_update : bool\n        Force update of the dataset even if a local copy exists.\n    update_path : bool | None\n        If True, set the MNE_DATASETS_EEGBCI_PATH in mne-python\n        config to the given path. If None, the user is prompted.\n    %(verbose)s\n\n    Returns\n    -------\n    path : list of str\n        Local path to the given data file. This path is contained inside a list\n        of length one, for compatibility.\n\n    Notes\n    -----\n    For example, one could do:\n\n        >>> from mne.datasets import eegbci\n        >>> url = 'http://www.physionet.org/physiobank/database/eegmmidb/'\n        >>> eegbci.data_path(url, os.getenv('HOME') + '/datasets') # doctest:+SKIP\n\n    This would download the given EEGBCI data file to the 'datasets' folder,\n    and prompt the user to save the 'datasets' path to the mne-python config,\n    if it isn't there already.\n\n    References\n    ----------\n    .. [1] Schalk, G., McFarland, D.J., Hinterberger, T., Birbaumer, N.,\n           Wolpaw, J.R. (2004) BCI2000: A General-Purpose Brain-Computer\n           Interface (BCI) System. IEEE TBME 51(6):1034-1043\n    .. [2] Goldberger AL, Amaral LAN, Glass L, Hausdorff JM, Ivanov PCh,\n           Mark RG, Mietus JE, Moody GB, Peng C-K, Stanley HE. (2000)\n           PhysioBank, PhysioToolkit, and PhysioNet: Components of a New\n           Research Resource for Complex Physiologic Signals.\n           Circulation 101(23):e215-e220\n    \"\"\"  # noqa: E501\n    key = 'MNE_DATASETS_EEGBCI_PATH'\n    name = 'EEGBCI'\n    path = _get_path(path, key, name)\n    destination = _url_to_local_path(url, op.join(path, 'MNE-eegbci-data'))\n    destinations = [destination]\n\n    # Fetch the file\n    if not op.isfile(destination) or force_update:\n        if op.isfile(destination):\n            os.remove(destination)\n        if not op.isdir(op.dirname(destination)):\n            os.makedirs(op.dirname(destination))\n        _fetch_file(url, destination, print_destination=False)\n\n    # Offer to update the path\n    _do_path_update(path, update_path, key, name)\n    return destinations\n\n\n@verbose\ndef load_data(subject, runs, path=None, force_update=False, update_path=None,\n              base_url=EEGMI_URL, verbose=None):  # noqa: D301\n    \"\"\"Get paths to local copies of EEGBCI dataset files.\n\n    This will fetch data for the EEGBCI dataset [1]_, which is also\n    available at PhysioNet [2]_.\n\n    Parameters\n    ----------\n    subject : int\n        The subject to use. Can be in the range of 1-109 (inclusive).\n    runs : int | list of int\n        The runs to use. See Notes for details.\n    path : None | str\n        Location of where to look for the EEGBCI data storing location.\n        If None, the environment variable or config parameter\n        ``MNE_DATASETS_EEGBCI_PATH`` is used. If it doesn't exist, the\n        \"~/mne_data\" directory is used. If the EEGBCI dataset\n        is not found under the given path, the data\n        will be automatically downloaded to the specified folder.\n    force_update : bool\n        Force update of the dataset even if a local copy exists.\n    update_path : bool | None\n        If True, set the MNE_DATASETS_EEGBCI_PATH in mne-python\n        config to the given path. If None, the user is prompted.\n    base_url : str\n        The URL root for the data.\n    %(verbose)s\n\n    Returns\n    -------\n    paths : list\n        List of local data paths of the given type.\n\n    Notes\n    -----\n    The run numbers correspond to:\n\n    =========  ===================================\n    run        task\n    =========  ===================================\n    1          Baseline, eyes open\n    2          Baseline, eyes closed\n    3, 7, 11   Motor execution: left vs right hand\n    4, 8, 12   Motor imagery: left vs right hand\n    5, 9, 13   Motor execution: hands vs feet\n    6, 10, 14  Motor imagery: hands vs feet\n    =========  ===================================\n\n    For example, one could do::\n\n        >>> from mne.datasets import eegbci\n        >>> eegbci.load_data(1, [4, 10, 14], os.getenv('HOME') + '/datasets') # doctest:+SKIP\n\n    This would download runs 4, 10, and 14 (hand/foot motor imagery) runs from\n    subject 1 in the EEGBCI dataset to the 'datasets' folder, and prompt the\n    user to save the 'datasets' path to the  mne-python config, if it isn't\n    there already.\n\n    References\n    ----------\n    .. [1] Schalk, G., McFarland, D.J., Hinterberger, T., Birbaumer, N.,\n           Wolpaw, J.R. (2004) BCI2000: A General-Purpose Brain-Computer\n           Interface (BCI) System. IEEE TBME 51(6):1034-1043\n    .. [2] Goldberger AL, Amaral LAN, Glass L, Hausdorff JM, Ivanov PCh,\n           Mark RG, Mietus JE, Moody GB, Peng C-K, Stanley HE. (2000)\n           PhysioBank, PhysioToolkit, and PhysioNet: Components of a New\n           Research Resource for Complex Physiologic Signals.\n           Circulation 101(23):e215-e220\n    \"\"\"  # noqa: E501\n    if not hasattr(runs, '__iter__'):\n        runs = [runs]\n\n    data_paths = []\n    for r in runs:\n        url = '{u}S{s:03d}/S{s:03d}R{r:02d}.edf'.format(u=base_url,\n                                                        s=subject, r=r)\n        data_paths.extend(data_path(url, path, force_update, update_path))\n\n    return data_paths\n\n\ndef standardize(raw):\n    \"\"\"Standardize channel positions and names.\n\n    Parameters\n    ----------\n    raw : instance of Raw\n        The raw data to standardize. Operates in-place.\n    \"\"\"\n    rename = dict()\n    for name in raw.ch_names:\n        std_name = name.strip('.')\n        std_name = std_name.upper()\n        if std_name.endswith('Z'):\n            std_name = std_name[:-1] + 'z'\n        if std_name.startswith('FP'):\n            std_name = 'Fp' + std_name[2:]\n        rename[name] = std_name\n    raw.rename_channels(rename)\n", "path": "mne/datasets/eegbci/eegbci.py"}], "after_files": [{"content": "# Author: Martin Billinger <martin.billinger@tugraz.at>\n# License: BSD Style.\n\nimport os\nfrom os import path as op\n\nfrom ..utils import _get_path, _do_path_update\nfrom ...utils import _fetch_file, _url_to_local_path, verbose\n\n\nEEGMI_URL = 'https://physionet.org/files/eegmmidb/1.0.0/'\n\n\n@verbose\ndef data_path(url, path=None, force_update=False, update_path=None,\n              verbose=None):\n    \"\"\"Get path to local copy of EEGMMI dataset URL.\n\n    This is a low-level function useful for getting a local copy of a\n    remote EEGBCI dataset :footcite:`SchalkEtAl2004` which is available at PhysioNet :footcite:`GoldbergerEtAl2000`.\n\n    Parameters\n    ----------\n    url : str\n        The dataset to use.\n    path : None | str\n        Location of where to look for the EEGBCI data storing location.\n        If None, the environment variable or config parameter\n        ``MNE_DATASETS_EEGBCI_PATH`` is used. If it doesn't exist, the\n        \"~/mne_data\" directory is used. If the EEGBCI dataset\n        is not found under the given path, the data\n        will be automatically downloaded to the specified folder.\n    force_update : bool\n        Force update of the dataset even if a local copy exists.\n    update_path : bool | None\n        If True, set the MNE_DATASETS_EEGBCI_PATH in mne-python\n        config to the given path. If None, the user is prompted.\n    %(verbose)s\n\n    Returns\n    -------\n    path : list of str\n        Local path to the given data file. This path is contained inside a list\n        of length one, for compatibility.\n\n    Notes\n    -----\n    For example, one could do:\n\n        >>> from mne.datasets import eegbci\n        >>> url = 'http://www.physionet.org/physiobank/database/eegmmidb/'\n        >>> eegbci.data_path(url, os.getenv('HOME') + '/datasets') # doctest:+SKIP\n\n    This would download the given EEGBCI data file to the 'datasets' folder,\n    and prompt the user to save the 'datasets' path to the mne-python config,\n    if it isn't there already.\n\n    References\n    ----------\n    .. footbibliography::\n    \"\"\"  # noqa: E501\n    key = 'MNE_DATASETS_EEGBCI_PATH'\n    name = 'EEGBCI'\n    path = _get_path(path, key, name)\n    destination = _url_to_local_path(url, op.join(path, 'MNE-eegbci-data'))\n    destinations = [destination]\n\n    # Fetch the file\n    if not op.isfile(destination) or force_update:\n        if op.isfile(destination):\n            os.remove(destination)\n        if not op.isdir(op.dirname(destination)):\n            os.makedirs(op.dirname(destination))\n        _fetch_file(url, destination, print_destination=False)\n\n    # Offer to update the path\n    _do_path_update(path, update_path, key, name)\n    return destinations\n\n\n@verbose\ndef load_data(subject, runs, path=None, force_update=False, update_path=None,\n              base_url=EEGMI_URL, verbose=None):  # noqa: D301\n    \"\"\"Get paths to local copies of EEGBCI dataset files.\n\n    This will fetch data for the EEGBCI dataset :footcite:`SchalkEtAl2004`, which is also\n    available at PhysioNet :footcite:`GoldbergerEtAl2000`.\n\n    Parameters\n    ----------\n    subject : int\n        The subject to use. Can be in the range of 1-109 (inclusive).\n    runs : int | list of int\n        The runs to use. See Notes for details.\n    path : None | str\n        Location of where to look for the EEGBCI data storing location.\n        If None, the environment variable or config parameter\n        ``MNE_DATASETS_EEGBCI_PATH`` is used. If it doesn't exist, the\n        \"~/mne_data\" directory is used. If the EEGBCI dataset\n        is not found under the given path, the data\n        will be automatically downloaded to the specified folder.\n    force_update : bool\n        Force update of the dataset even if a local copy exists.\n    update_path : bool | None\n        If True, set the MNE_DATASETS_EEGBCI_PATH in mne-python\n        config to the given path. If None, the user is prompted.\n    base_url : str\n        The URL root for the data.\n    %(verbose)s\n\n    Returns\n    -------\n    paths : list\n        List of local data paths of the given type.\n\n    Notes\n    -----\n    The run numbers correspond to:\n\n    =========  ===================================\n    run        task\n    =========  ===================================\n    1          Baseline, eyes open\n    2          Baseline, eyes closed\n    3, 7, 11   Motor execution: left vs right hand\n    4, 8, 12   Motor imagery: left vs right hand\n    5, 9, 13   Motor execution: hands vs feet\n    6, 10, 14  Motor imagery: hands vs feet\n    =========  ===================================\n\n    For example, one could do::\n\n        >>> from mne.datasets import eegbci\n        >>> eegbci.load_data(1, [4, 10, 14], os.getenv('HOME') + '/datasets') # doctest:+SKIP\n\n    This would download runs 4, 10, and 14 (hand/foot motor imagery) runs from\n    subject 1 in the EEGBCI dataset to the 'datasets' folder, and prompt the\n    user to save the 'datasets' path to the  mne-python config, if it isn't\n    there already.\n\n    References\n    ----------\n    .. footbibliography::\n    \"\"\"  # noqa: E501\n    if not hasattr(runs, '__iter__'):\n        runs = [runs]\n\n    data_paths = []\n    for r in runs:\n        url = '{u}S{s:03d}/S{s:03d}R{r:02d}.edf'.format(u=base_url,\n                                                        s=subject, r=r)\n        data_paths.extend(data_path(url, path, force_update, update_path))\n\n    return data_paths\n\n\ndef standardize(raw):\n    \"\"\"Standardize channel positions and names.\n\n    Parameters\n    ----------\n    raw : instance of Raw\n        The raw data to standardize. Operates in-place.\n    \"\"\"\n    rename = dict()\n    for name in raw.ch_names:\n        std_name = name.strip('.')\n        std_name = std_name.upper()\n        if std_name.endswith('Z'):\n            std_name = std_name[:-1] + 'z'\n        if std_name.startswith('FP'):\n            std_name = 'Fp' + std_name[2:]\n        rename[name] = std_name\n    raw.rename_channels(rename)\n", "path": "mne/datasets/eegbci/eegbci.py"}]}