Number of events 402
Events response/correct: 381
response/incorrect: 21
Time range -0.602 – 0.398 s
Baseline off
Epoch # event_name compatible/left compatible/right incompatible/left incompatible/right response/correct response/incorrect
0 response/incorrect 0.000
1 response/incorrect 0.000
2 response/correct -0.453 0.000
3 response/correct -0.430 0.000
4 response/correct -0.391 0.000
5 response/correct -0.469 0.000
6 response/correct -0.453 0.000
7 response/correct -0.414 0.000
8 response/correct 0.000
9 response/correct -0.492 0.000
10 response/correct -0.500 0.000
11 response/correct -0.430 0.000
12 response/correct -0.414 0.000
13 response/correct -0.391 0.000
14 response/correct -0.375 0.000
15 response/correct -0.359 0.000
16 response/correct -0.523 0.000
17 response/correct -0.414 0.000
18 response/correct -0.477 0.000
19 response/correct -0.398 0.000
20 response/correct -0.500 0.000
21 response/correct -0.414 0.000
22 response/correct -0.414 0.000
23 response/correct -0.391 0.000
24 response/correct -0.359 0.000
25 response/correct -0.398 0.000
26 response/correct -0.500 0.000
27 response/correct -0.406 0.000
28 response/correct -0.391 0.000
29 response/correct -0.344 0.000
30 response/incorrect -0.391 0.000
31 response/correct -0.406 0.000
32 response/correct -0.422 0.000
33 response/correct -0.422 0.000
34 response/correct -0.531 0.000
35 response/correct -0.422 0.000
36 response/correct -0.469 0.000
37 response/correct -0.477 0.000
38 response/correct -0.352 0.000
39 response/correct -0.359 0.000
40 response/correct -0.406 0.000
41 response/correct -0.461 0.000
42 response/correct -0.477 0.000
43 response/correct -0.312 0.000
44 response/correct -0.320 0.000
45 response/correct -0.305 0.000
46 response/correct -0.289 0.000
47 response/incorrect -0.336 0.000
48 response/correct -0.414 0.000
49 response/correct -0.414 0.000
50 response/correct -0.430 0.000
51 response/correct -0.352 0.000
52 response/correct -0.398 0.000
53 response/correct -0.312 0.000
54 response/correct -0.312 0.000
55 response/correct -0.312 0.000
56 response/correct -0.406 0.000
57 response/correct -0.391 0.000
58 response/correct -0.500 0.000
59 response/correct -0.359 0.000
60 response/correct -0.430 0.000
61 response/correct -0.367 0.000
62 response/incorrect -0.344 0.000
63 response/correct -0.422 0.000
64 response/correct -0.445 0.000
65 response/correct -0.398 0.000
66 response/correct -0.391 0.000
67 response/correct -0.430 0.000
68 response/correct -0.516 0.000
69 response/correct -0.422 0.000
70 response/correct -0.500 0.000
71 response/correct -0.445 0.000
72 response/correct -0.438 0.000
73 response/correct -0.469 0.000
74 response/correct -0.539 0.000
75 response/correct -0.391 0.000
76 response/correct -0.352 0.000
77 response/correct -0.367 0.000
78 response/correct -0.414 0.000
79 response/correct -0.438 0.000
80 response/correct -0.477 0.000
81 response/correct -0.367 0.000
82 response/correct -0.461 0.000
83 response/correct -0.414 0.000
84 response/correct -0.406 0.000
85 response/correct -0.344 0.000
86 response/correct -0.297 0.000
87 response/incorrect -0.328 0.000
88 response/correct -0.391 0.000
89 response/correct -0.391 0.000
90 response/correct -0.352 0.000
91 response/correct -0.289 0.000
92 response/incorrect -0.359 0.000
93 response/correct -0.375 0.000
94 response/correct -0.312 0.000
95 response/correct -0.273 0.000
96 response/incorrect -0.359 0.000
97 response/correct -0.453 0.000
98 response/correct -0.359 0.000
99 response/correct -0.430 0.000
100 response/correct -0.445 0.000
101 response/correct -0.461 0.000
102 response/correct -0.398 0.000
103 response/correct -0.312 0.000
104 response/correct -0.438 0.000
105 response/correct -0.391 0.000
106 response/correct -0.422 0.000
107 response/correct -0.469 0.000
108 response/correct -0.367 0.000
109 response/correct -0.375 0.000
110 response/correct -0.320 0.000
111 response/incorrect -0.422 0.000
112 response/correct -0.438 0.000
113 response/correct -0.352 0.000
114 response/correct -0.391 0.000
115 response/correct -0.367 0.000
116 response/correct -0.367 0.000
117 response/correct -0.453 0.000
118 response/correct -0.375 0.000
119 response/correct -0.477 0.000
120 response/correct -0.406 0.000
121 response/correct -0.523 0.000
122 response/correct -0.508 0.000
123 response/correct -0.383 0.000
124 response/correct -0.422 0.000
125 response/correct -0.445 0.000
126 response/correct -0.375 0.000
127 response/correct -0.461 0.000
128 response/correct -0.359 0.000
129 response/correct -0.383 0.000
130 response/correct -0.367 0.000
131 response/correct -0.375 0.000
132 response/correct -0.391 0.000
133 response/correct -0.312 0.000
134 response/correct -0.289 0.000
135 response/correct -0.297 0.000
136 response/correct -0.391 0.000
137 response/correct -0.375 0.000
138 response/correct -0.352 0.000
139 response/correct -0.273 0.000
140 response/correct -0.336 0.000
141 response/correct -0.438 0.000
142 response/correct -0.383 0.000
143 response/correct -0.359 0.000
144 response/correct -0.391 0.000
145 response/correct -0.430 0.000
146 response/correct -0.320 0.000
147 response/correct -0.500 0.000
148 response/correct -0.438 0.000
149 response/correct -0.375 0.000
150 response/correct -0.414 0.000
151 response/correct -0.352 0.000
152 response/correct -0.383 0.000
153 response/correct 0.000
154 response/correct -0.484 0.000
155 response/correct -0.461 0.000
156 response/correct -0.445 0.000
157 response/correct -0.398 0.000
158 response/correct -0.375 0.000
159 response/correct -0.359 0.000
160 response/correct -0.320 0.000
161 response/incorrect -0.352 0.000
162 response/correct -0.500 0.000
163 response/correct -0.430 0.000
164 response/correct -0.359 0.000
165 response/correct -0.430 0.000
166 response/correct -0.375 0.000
167 response/correct -0.375 0.000
168 response/correct -0.320 0.000
169 response/correct -0.383 0.000
170 response/incorrect -0.375 0.000
171 response/correct -0.359 0.000
172 response/correct -0.375 0.000
173 response/correct -0.398 0.000
174 response/correct -0.328 0.000
175 response/correct -0.383 0.000
176 response/correct -0.398 0.000
177 response/correct -0.375 0.000
178 response/correct -0.430 0.000
179 response/correct -0.375 0.000
180 response/correct -0.266 0.000
181 response/correct -0.414 0.000
182 response/correct -0.367 0.000
183 response/correct -0.336 0.000
184 response/correct -0.445 0.000
185 response/correct -0.430 0.000
186 response/correct -0.367 0.000
187 response/correct -0.422 0.000
188 response/correct -0.391 0.000
189 response/correct -0.383 0.000
190 response/correct -0.406 0.000
191 response/correct -0.406 0.000
192 response/correct -0.383 0.000
193 response/correct -0.375 0.000
194 response/correct -0.406 0.000
195 response/correct -0.383 0.000
196 response/correct -0.391 0.000
197 response/correct -0.445 0.000
198 response/correct -0.367 0.000
199 response/correct -0.445 0.000
200 response/correct -0.406 0.000
201 response/correct -0.422 0.000
202 response/correct -0.523 0.000
203 response/correct -0.336 0.000
204 response/correct -0.430 0.000
205 response/correct -0.438 0.000
206 response/correct -0.422 0.000
207 response/correct -0.328 0.000
208 response/correct -0.367 0.000
209 response/correct -0.383 0.000
210 response/correct -0.281 0.000
211 response/correct -0.328 0.000
212 response/incorrect -0.320 0.000
213 response/correct -0.438 0.000
214 response/correct -0.367 0.000
215 response/correct -0.391 0.000
216 response/correct -0.312 0.000
217 response/correct -0.430 0.000
218 response/correct -0.367 0.000
219 response/correct -0.445 0.000
220 response/correct -0.438 0.000
221 response/correct -0.328 0.000
222 response/incorrect -0.289 0.000
223 response/correct -0.336 0.000
224 response/correct -0.328 0.000
225 response/correct -0.375 0.000
226 response/correct -0.352 0.000
227 response/correct -0.344 0.000
228 response/correct -0.328 0.000
229 response/correct -0.359 0.000
230 response/correct -0.375 0.000
231 response/correct -0.367 0.000
232 response/correct -0.344 0.000
233 response/correct -0.391 0.000
234 response/correct -0.398 0.000
235 response/correct -0.398 0.000
236 response/correct -0.406 0.000
237 response/correct -0.367 0.000
238 response/correct -0.414 0.000
239 response/correct -0.367 0.000
240 response/correct -0.484 0.000
241 response/correct -0.375 0.000
242 response/correct -0.383 0.000
243 response/correct -0.297 0.000
244 response/correct -0.375 0.000
245 response/correct -0.492 0.000
246 response/correct -0.477 0.000
247 response/correct -0.383 0.000
248 response/correct -0.359 0.000
249 response/correct -0.375 0.000
250 response/correct -0.438 0.000
251 response/correct -0.438 0.000
252 response/correct -0.438 0.000
253 response/correct -0.430 0.000
254 response/correct -0.438 0.000
255 response/correct -0.406 0.000
256 response/correct -0.422 0.000
257 response/correct -0.406 0.000
258 response/correct -0.391 0.000
259 response/correct -0.352 0.000
260 response/correct -0.289 0.000
261 response/correct -0.336 0.000
262 response/correct -0.281 0.000
263 response/correct -0.430 0.000
264 response/correct -0.406 0.000
265 response/correct -0.289 0.000
266 response/correct -0.367 0.000
267 response/correct -0.375 0.000
268 response/correct -0.359 0.000
269 response/correct -0.289 0.000
270 response/correct -0.367 0.000
271 response/correct -0.344 0.000
272 response/correct -0.414 0.000
273 response/correct -0.344 0.000
274 response/correct -0.297 0.000
275 response/incorrect -0.289 0.000
276 response/incorrect -0.367 0.000
277 response/correct -0.344 0.000
278 response/correct -0.414 0.000
279 response/correct -0.391 0.000
280 response/correct -0.453 0.000
281 response/correct -0.312 0.000
282 response/correct -0.461 0.000
283 response/correct -0.414 0.000
284 response/correct -0.320 0.000
285 response/correct -0.281 0.000
286 response/correct -0.336 0.000
287 response/correct -0.273 0.000
288 response/correct -0.406 0.000
289 response/correct -0.344 0.000
290 response/correct -0.445 0.000
291 response/correct -0.297 0.000
292 response/correct -0.414 0.000
293 response/correct -0.367 0.000
294 response/correct -0.352 0.000
295 response/correct -0.578 0.000
296 response/correct -0.398 0.000
297 response/correct -0.383 0.000
298 response/correct -0.367 0.000
299 response/correct -0.352 0.000
300 response/correct -0.430 0.000
301 response/incorrect -0.367 0.000
302 response/correct -0.422 0.000
303 response/correct -0.359 0.000
304 response/correct -0.398 0.000
305 response/correct -0.375 0.000
306 response/correct -0.547 0.000
307 response/correct -0.406 0.000
308 response/correct 0.000
309 response/correct -0.500 0.000
310 response/correct -0.516 0.000
311 response/correct -0.477 0.000
312 response/correct -0.359 0.000
313 response/correct -0.406 0.000
314 response/correct -0.438 0.000
315 response/incorrect -0.352 0.000
316 response/correct -0.438 0.000
317 response/correct -0.305 0.000
318 response/correct -0.422 0.000
319 response/correct -0.383 0.000
320 response/correct -0.305 0.000
321 response/incorrect -0.398 0.000
322 response/correct 0.000
323 response/correct -0.375 0.000
324 response/correct -0.406 0.000
325 response/correct -0.320 0.000
326 response/correct -0.367 0.000
327 response/correct -0.461 0.000
328 response/correct -0.414 0.000
329 response/correct -0.398 0.000
330 response/correct -0.461 0.000
331 response/correct -0.398 0.000
332 response/correct -0.383 0.000
333 response/correct -0.375 0.000
334 response/correct -0.344 0.000
335 response/correct -0.344 0.000
336 response/correct -0.422 0.000
337 response/correct -0.461 0.000
338 response/correct -0.367 0.000
339 response/correct -0.344 0.000
340 response/incorrect -0.391 0.000
341 response/correct -0.414 0.000
342 response/correct -0.453 0.000
343 response/correct -0.438 0.000
344 response/correct -0.320 0.000
345 response/correct -0.523 0.000
346 response/correct -0.391 0.000
347 response/correct -0.359 0.000
348 response/correct -0.312 0.000
349 response/correct -0.461 0.000
350 response/correct -0.438 0.000
351 response/correct -0.336 0.000
352 response/correct -0.539 0.000
353 response/correct -0.406 0.000
354 response/correct -0.414 0.000
355 response/correct -0.328 0.000
356 response/correct -0.516 0.000
357 response/correct -0.367 0.000
358 response/correct -0.492 0.000
359 response/correct -0.391 0.000
360 response/correct -0.453 0.000
361 response/correct -0.383 0.000
362 response/correct -0.594 0.000
363 response/correct -0.375 0.000
364 response/correct -0.320 0.000
365 response/correct -0.305 0.000
366 response/correct -0.359 0.000
367 response/correct -0.320 0.000
368 response/correct -0.344 0.000
369 response/correct 0.000
370 response/correct -0.477 0.000
371 response/correct -0.359 0.000
372 response/incorrect -0.438 0.000
373 response/correct 0.000
374 response/correct -0.438 0.000
375 response/correct -0.477 0.000
376 response/correct -0.484 0.000
377 response/correct -0.383 0.000
378 response/correct -0.477 0.000
379 response/correct -0.414 0.000
380 response/correct -0.391 0.000
381 response/incorrect -0.453 0.000
382 response/correct -0.414 0.000
383 response/correct -0.523 0.000
384 response/correct -0.516 0.000
385 response/correct -0.438 0.000
386 response/correct -0.414 0.000
387 response/correct -0.422 0.000
388 response/correct -0.414 0.000
389 response/correct -0.383 0.000
390 response/correct -0.438 0.000
391 response/correct -0.461 0.000
392 response/correct -0.352 0.000
393 response/correct -0.336 0.000
394 response/correct -0.445 0.000
395 response/correct -0.438 0.000
396 response/correct -0.398 0.000
397 response/correct -0.336 0.000
398 response/correct -0.305 0.000
399 response/correct -0.359 0.000
400 response/correct -0.375 0.000
401 response/correct -0.453 0.000

402 rows × 8 columns

No epochs exceeded the rejection thresholds. Nothing was dropped.
PSD
PSD calculated from 402 epochs (402.0 s).
  """ERP CORE.

This example demonstrate how to process 5 participants from the
[ERP CORE](https://erpinfo.org/erp-core) dataset. It shows how to obtain 7 ERP
components from a total of 6 experimental tasks:

- N170 (face perception)
- MMN (passive auditory oddball)
- N2pc (visual search)
- N400 (word pair judgment)
- P3b (active visual oddball)
- LRP and ERN (flankers task)

## Dataset information

- **Authors:** Emily S. Kappenman, Jaclyn L. Farrens, Wendy Zhang,
                       Andrew X. Stewart, and Steven J. Luck
- **License:** CC-BY-4.0
- **URL:** [https://erpinfo.org/erp-core](https://erpinfo.org/erp-core)
- **Citation:** Kappenman, E., Farrens, J., Zhang, W., Stewart, A. X.,
                & Luck, S. J. (2021). ERP CORE: An open resource for human
                event-related potential research. *NeuroImage* 225: 117465.
                [https://doi.org/10.1016/j.neuroimage.2020.117465](https://doi.org/10.1016/j.neuroimage.2020.117465)
"""

import argparse
import sys

import mne

bids_root = "~/mne_data/ERP_CORE"
deriv_root = "~/mne_data/derivatives/mne-bids-pipeline/ERP_CORE"

# Find the --task option
args = [arg for arg in sys.argv if arg.startswith("--task") or not arg.startswith("-")]
parser = argparse.ArgumentParser()
parser.add_argument("ignored", nargs="*")
parser.add_argument(
    "--task", choices=("N400", "ERN", "LRP", "MMN", "N2pc", "N170", "P3"), required=True
)
task = parser.parse_args(args).task
sessions = [task]

subjects = ["015", "016", "017", "018", "019"]

ch_types = ["eeg"]
interactive = False

raw_resample_sfreq = 128
# Suppress "Data file name in EEG.data (sub-019_task-ERN_eeg.fdt) is incorrect..."
read_raw_bids_verbose = "error"

eeg_template_montage = mne.channels.make_standard_montage("standard_1005")
eeg_bipolar_channels = {
    "HEOG": ("HEOG_left", "HEOG_right"),
    "VEOG": ("VEOG_lower", "FP2"),
}
drop_channels = ["HEOG_left", "HEOG_right", "VEOG_lower"]
eog_channels = ["HEOG", "VEOG"]

l_freq = 0.1
h_freq = None
notch_freq = 60

decode = True
decoding_time_generalization = True
decoding_time_generalization_decim = 2

find_breaks = True
min_break_duration = 10
t_break_annot_start_after_previous_event = 3.0
t_break_annot_stop_before_next_event = 1.5

if task == "N400":  # test autoreject local without ICA
    spatial_filter = None
    reject = "autoreject_local"
    autoreject_n_interpolate = [2, 4]
elif task == "N170":  # test autoreject local before ICA
    spatial_filter = "ica"
    ica_reject = "autoreject_local"
    reject = "autoreject_global"
    autoreject_n_interpolate = [2, 4]
else:
    spatial_filter = "ica"
    ica_reject = dict(eeg=350e-6, eog=500e-6)
    reject = "autoreject_global"

# These settings are only used for the cases where spatial_filter="ica"
ica_max_iterations = 1000
ica_eog_threshold = 2
ica_decim = 2  # speed up ICA fitting

run_source_estimation = False
on_rename_missing_events = "ignore"

parallel_backend = "dask"
dask_worker_memory_limit = "2.5G"
n_jobs = 4

if task == "N400":
    dask_open_dashboard = True

    rename_events = {
        "response/201": "response/correct",
        "response/202": "response/error",
        "stimulus/111": "stimulus/prime/related",
        "stimulus/112": "stimulus/prime/related",
        "stimulus/121": "stimulus/prime/unrelated",
        "stimulus/122": "stimulus/prime/unrelated",
        "stimulus/211": "stimulus/target/related",
        "stimulus/212": "stimulus/target/related",
        "stimulus/221": "stimulus/target/unrelated",
        "stimulus/222": "stimulus/target/unrelated",
    }

    eeg_reference = ["P9", "P10"]
    epochs_tmin = -0.2
    epochs_tmax = 0.8
    epochs_metadata_tmin = 0
    epochs_metadata_tmax = 1.5
    epochs_metadata_keep_first = ["stimulus/target", "response"]
    baseline = (None, 0)

    conditions = {
        "related": '`first_stimulus/target` == "related" and '
        'first_response == "correct"',
        "unrelated": '`first_stimulus/target` == "unrelated" and '
        'first_response == "correct"',
    }
    contrasts = [("unrelated", "related")]
    cluster_forming_t_threshold = 1.5  # Only for testing!
    cluster_permutation_p_threshold = 0.2  # Only for testing!
elif task == "ERN":
    rename_events = {
        "stimulus/11": "compatible/left",
        "stimulus/12": "compatible/right",
        "stimulus/21": "incompatible/left",
        "stimulus/22": "incompatible/right",
        "response/111": "response/correct",
        "response/112": "response/incorrect",
        "response/121": "response/correct",
        "response/122": "response/incorrect",
        "response/211": "response/incorrect",
        "response/212": "response/correct",
        "response/221": "response/incorrect",
        "response/222": "response/correct",
    }

    eeg_reference = ["P9", "P10"]
    epochs_tmin = -0.6
    epochs_tmax = 0.4
    baseline = (-0.4, -0.2)
    conditions = ["response/correct", "response/incorrect"]
    contrasts = [("response/incorrect", "response/correct")]
    cluster_forming_t_threshold = 5  # Only for testing!
    cluster_permutation_p_threshold = 0.2  # Only for testing!
    decoding_csp = True
    decoding_csp_freqs = {
        "theta": [4, 7],
        "alpha": [8, 12],
        "beta": [13, 20, 30],
        "gamma": [50, 63],
    }
    decoding_csp_times = [-0.2, 0.0, 0.2, 0.4]
elif task == "LRP":
    rename_events = {
        "stimulus/11": "compatible/left",
        "stimulus/12": "compatible/right",
        "stimulus/21": "incompatible/left",
        "stimulus/22": "incompatible/right",
        "response/111": "response/left/correct",
        "response/112": "response/left/incorrect",
        "response/121": "response/left/correct",
        "response/122": "response/left/incorrect",
        "response/211": "response/right/incorrect",
        "response/212": "response/right/correct",
        "response/221": "response/right/incorrect",
        "response/222": "response/right/correct",
    }

    eeg_reference = ["P9", "P10"]
    epochs_tmin = -0.8
    epochs_tmax = 0.2
    baseline = (None, -0.6)
    conditions = ["response/left", "response/right"]
    contrasts = [("response/right", "response/left")]  # contralateral vs ipsi
elif task == "MMN":
    rename_events = {
        "stimulus/70": "stimulus/deviant",
        "stimulus/80": "stimulus/standard",
    }

    eeg_reference = ["P9", "P10"]
    epochs_tmin = -0.2
    epochs_tmax = 0.8
    baseline = (None, 0)
    conditions = ["stimulus/standard", "stimulus/deviant"]
    contrasts = [("stimulus/deviant", "stimulus/standard")]
elif task == "N2pc":
    rename_events = {
        "response/201": "response/correct",
        "response/202": "response/error",
        "stimulus/111": "stimulus/blue/left",
        "stimulus/112": "stimulus/blue/left",
        "stimulus/121": "stimulus/blue/right",
        "stimulus/122": "stimulus/blue/right",
        "stimulus/211": "stimulus/pink/left",
        "stimulus/212": "stimulus/pink/left",
        "stimulus/221": "stimulus/pink/right",
        "stimulus/222": "stimulus/pink/right",
    }

    eeg_reference = ["P9", "P10"]
    # Analyze all EEG channels -- we only specify the channels here for the purpose of
    # demonstration
    analyze_channels = [
        "FP1",
        "F3",
        "F7",
        "FC3",
        "C3",
        "C5",
        "P3",
        "P7",
        "P9",
        "PO7",
        "PO3",
        "O1",
        "Oz",
        "Pz",
        "CPz",
        "FP2",
        "Fz",
        "F4",
        "F8",
        "FC4",
        "FCz",
        "Cz",
        "C4",
        "C6",
        "P4",
        "P8",
        "P10",
        "PO8",
        "PO4",
        "O2",
    ]

    epochs_tmin = -0.2
    epochs_tmax = 0.8
    baseline = (None, 0)
    conditions = ["stimulus/right", "stimulus/left"]
    contrasts = [("stimulus/right", "stimulus/left")]  # Contralteral vs ipsi
elif task == "N170":
    rename_events = {
        "response/201": "response/correct",
        "response/202": "response/error",
    }

    eeg_reference = "average"
    # Analyze all EEG channels -- we only specify the channels here for the purpose of
    # demonstration
    analyze_channels = [
        "FP1",
        "F3",
        "F7",
        "FC3",
        "C3",
        "C5",
        "P3",
        "P7",
        "P9",
        "PO7",
        "PO3",
        "O1",
        "Oz",
        "Pz",
        "CPz",
        "FP2",
        "Fz",
        "F4",
        "F8",
        "FC4",
        "FCz",
        "Cz",
        "C4",
        "C6",
        "P4",
        "P8",
        "P10",
        "PO8",
        "PO4",
        "O2",
    ]

    ica_n_components = 30 - 1
    for i in range(1, 180 + 1):
        orig_name = f"stimulus/{i}"

        if 1 <= i <= 40:
            new_name = "stimulus/face/normal"
        elif 41 <= i <= 80:
            new_name = "stimulus/car/normal"
        elif 101 <= i <= 140:
            new_name = "stimulus/face/scrambled"
        elif 141 <= i <= 180:
            new_name = "stimulus/car/scrambled"
        else:
            continue

        rename_events[orig_name] = new_name

    epochs_tmin = -0.2
    epochs_tmax = 0.8
    baseline = (None, 0)
    conditions = ["stimulus/face/normal", "stimulus/car/normal"]
    contrasts = [("stimulus/face/normal", "stimulus/car/normal")]
elif task == "P3":
    rename_events = {
        "response/201": "response/correct",
        "response/202": "response/incorrect",
        "stimulus/11": "stimulus/target/11",
        "stimulus/22": "stimulus/target/22",
        "stimulus/33": "stimulus/target/33",
        "stimulus/44": "stimulus/target/44",
        "stimulus/55": "stimulus/target/55",
        "stimulus/21": "stimulus/non-target/21",
        "stimulus/31": "stimulus/non-target/31",
        "stimulus/41": "stimulus/non-target/41",
        "stimulus/51": "stimulus/non-target/51",
        "stimulus/12": "stimulus/non-target/12",
        "stimulus/32": "stimulus/non-target/32",
        "stimulus/42": "stimulus/non-target/42",
        "stimulus/52": "stimulus/non-target/52",
        "stimulus/13": "stimulus/non-target/13",
        "stimulus/23": "stimulus/non-target/23",
        "stimulus/43": "stimulus/non-target/43",
        "stimulus/53": "stimulus/non-target/53",
        "stimulus/14": "stimulus/non-target/14",
        "stimulus/24": "stimulus/non-target/24",
        "stimulus/34": "stimulus/non-target/34",
        "stimulus/54": "stimulus/non-target/54",
        "stimulus/15": "stimulus/non-target/15",
        "stimulus/25": "stimulus/non-target/25",
        "stimulus/35": "stimulus/non-target/35",
        "stimulus/45": "stimulus/non-target/45",
    }

    eeg_reference = ["P9", "P10"]
    epochs_tmin = -0.2
    epochs_tmax = 0.8
    baseline = (None, 0)
    conditions = ["stimulus/target", "stimulus/non-target"]
    contrasts = [("stimulus/target", "stimulus/non-target")]
    cluster_forming_t_threshold = 0.8  # Only for testing!
    cluster_permutation_p_threshold = 0.2  # Only for testing!
else:
    raise RuntimeError(f"Task {task} not currently supported")

  Platform             Linux-5.15.0-1053-aws-x86_64-with-glibc2.35
Python               3.10.12 (main, Nov 20 2023, 15:14:05) [GCC 11.4.0]
Executable           /home/circleci/python_env/bin/python3.10
CPU                  x86_64 (36 cores)
Memory               68.6 GB

Core
├☑ mne               1.7.0.dev156+g415e7f68e (devel, latest release is 1.6.1)
├☑ numpy             1.26.4 (OpenBLAS 0.3.23.dev with 2 threads)
├☑ scipy             1.12.0
└☑ matplotlib        3.8.3 (backend=agg)

Numerical (optional)
├☑ sklearn           1.4.1.post1
├☑ numba             0.59.1
├☑ nibabel           5.2.1
├☑ pandas            2.2.1
└☐ unavailable       nilearn, dipy, openmeeg, cupy

Visualization (optional)
├☑ pyvista           0.43.4 (OpenGL 4.5 (Core Profile) Mesa 23.2.1-1ubuntu3.1~22.04.2 via llvmpipe (LLVM 15.0.7, 256 bits))
├☑ pyvistaqt         0.11.0
├☑ vtk               9.3.0
├☑ qtpy              2.4.1 (PyQt6=6.6.0)
└☐ unavailable       ipympl, pyqtgraph, mne-qt-browser, ipywidgets, trame_client, trame_server, trame_vtk, trame_vuetify

Ecosystem (optional)
├☑ mne-bids          0.15.0.dev43+g17d20c132
├☑ mne-bids-pipeline 1.8.0
└☐ unavailable       mne-nirs, mne-features, mne-connectivity, mne-icalabel, neo