Note
Go to the end to download the full example code.
The example runs the Picard-O algorithm proposed in:
Pierre Ablin, Jean-François Cardoso, Alexandre Gramfort “Faster ICA under orthogonal constraint” ICASSP, 2018 https://arxiv.org/abs/1711.10873
# Author: Pierre Ablin <pierre.ablin@inria.fr>
# Alexandre Gramfort <alexandre.gramfort@inria.fr>
# License: BSD 3 clause
import numpy as np
import matplotlib.pyplot as plt
import mne
from mne.datasets import sample
from scipy.stats import kurtosis
from picard import picard
print(__doc__)
Generate sample EEG data
data_path = sample.data_path()
raw_fname = data_path / 'MEG/sample/sample_audvis_filt-0-40_raw.fif'
raw = mne.io.read_raw_fif(raw_fname, preload=True)
raw.filter(1, 40, n_jobs=1) # 1Hz high pass is often helpful for fitting ICA
picks = mne.pick_types(raw.info, meg=False, eeg=True, eog=False,
stim=False, exclude='bads')
random_state = 0
data = raw[picks, :][0]
data = data[:, ::2] # decimate a bit
Using default location ~/mne_data for sample...
Creating /home/circleci/mne_data
Fetching 1 file for the sample dataset ...
Downloading file 'MNE-sample-data-processed.tar.gz' from 'https://osf.io/download/86qa2?version=6' to '/home/circleci/mne_data'.
0%| | 0.00/1.65G [00:00<?, ?B/s]
0%| | 2.79M/1.65G [00:00<00:59, 27.9MB/s]
1%|▏ | 9.85M/1.65G [00:00<00:30, 53.0MB/s]
1%|▍ | 16.9M/1.65G [00:00<00:26, 61.2MB/s]
1%|▌ | 24.0M/1.65G [00:00<00:25, 65.1MB/s]
2%|▋ | 31.0M/1.65G [00:00<00:24, 66.6MB/s]
2%|▊ | 38.1M/1.65G [00:00<00:23, 68.2MB/s]
3%|█ | 45.4M/1.65G [00:00<00:23, 69.7MB/s]
3%|█▏ | 52.7M/1.65G [00:00<00:22, 70.7MB/s]
4%|█▎ | 59.7M/1.65G [00:00<00:23, 69.1MB/s]
4%|█▍ | 66.7M/1.65G [00:01<00:22, 69.1MB/s]
4%|█▋ | 73.6M/1.65G [00:01<00:22, 68.8MB/s]
5%|█▊ | 80.5M/1.65G [00:01<00:22, 68.9MB/s]
5%|█▉ | 87.4M/1.65G [00:01<00:22, 68.6MB/s]
6%|██ | 94.2M/1.65G [00:01<00:23, 67.5MB/s]
6%|██▎ | 101M/1.65G [00:01<00:23, 65.9MB/s]
7%|██▍ | 108M/1.65G [00:01<00:25, 60.3MB/s]
7%|██▋ | 114M/1.65G [00:01<00:24, 62.3MB/s]
7%|██▊ | 121M/1.65G [00:01<00:23, 63.9MB/s]
8%|██▉ | 128M/1.65G [00:01<00:24, 63.4MB/s]
8%|███ | 134M/1.65G [00:02<00:23, 63.3MB/s]
9%|███▏ | 141M/1.65G [00:02<00:23, 63.8MB/s]
9%|███▍ | 147M/1.65G [00:02<00:23, 63.0MB/s]
9%|███▌ | 153M/1.65G [00:02<00:23, 62.6MB/s]
10%|███▋ | 160M/1.65G [00:02<00:23, 62.5MB/s]
10%|███▊ | 166M/1.65G [00:02<00:23, 62.2MB/s]
10%|███▉ | 172M/1.65G [00:02<00:23, 62.0MB/s]
11%|████ | 178M/1.65G [00:02<00:23, 61.9MB/s]
11%|████▏ | 184M/1.65G [00:02<00:23, 62.1MB/s]
12%|████▍ | 191M/1.65G [00:02<00:23, 61.9MB/s]
12%|████▌ | 197M/1.65G [00:03<00:23, 61.9MB/s]
12%|████▋ | 203M/1.65G [00:03<00:23, 62.6MB/s]
13%|████▊ | 210M/1.65G [00:03<00:23, 61.3MB/s]
13%|████▉ | 216M/1.65G [00:03<00:24, 58.5MB/s]
13%|█████ | 222M/1.65G [00:03<00:23, 60.3MB/s]
14%|█████▏ | 228M/1.65G [00:03<00:23, 60.0MB/s]
14%|█████▍ | 235M/1.65G [00:03<00:23, 60.9MB/s]
15%|█████▌ | 241M/1.65G [00:03<00:22, 62.4MB/s]
15%|█████▋ | 248M/1.65G [00:03<00:22, 63.2MB/s]
15%|█████▊ | 254M/1.65G [00:03<00:22, 63.5MB/s]
16%|█████▉ | 261M/1.65G [00:04<00:21, 63.9MB/s]
16%|██████▏ | 267M/1.65G [00:04<00:21, 64.5MB/s]
17%|██████▎ | 274M/1.65G [00:04<00:21, 65.0MB/s]
17%|██████▍ | 280M/1.65G [00:04<00:21, 65.2MB/s]
17%|██████▌ | 287M/1.65G [00:04<00:20, 65.6MB/s]
18%|██████▋ | 294M/1.65G [00:04<00:20, 65.2MB/s]
18%|██████▉ | 300M/1.65G [00:04<00:22, 59.1MB/s]
19%|███████ | 307M/1.65G [00:04<00:22, 61.2MB/s]
19%|███████▏ | 313M/1.65G [00:04<00:21, 62.5MB/s]
19%|███████▎ | 320M/1.65G [00:05<00:21, 63.2MB/s]
20%|███████▍ | 326M/1.65G [00:05<00:22, 58.6MB/s]
20%|███████▋ | 333M/1.65G [00:05<00:21, 60.3MB/s]
21%|███████▊ | 339M/1.65G [00:05<00:21, 61.7MB/s]
21%|███████▉ | 346M/1.65G [00:05<00:20, 63.1MB/s]
21%|████████ | 352M/1.65G [00:05<00:20, 62.2MB/s]
22%|████████▏ | 359M/1.65G [00:05<00:20, 63.2MB/s]
22%|████████▍ | 365M/1.65G [00:05<00:20, 62.7MB/s]
22%|████████▌ | 372M/1.65G [00:05<00:20, 63.7MB/s]
23%|████████▋ | 379M/1.65G [00:05<00:19, 65.7MB/s]
23%|████████▊ | 386M/1.65G [00:06<00:18, 66.9MB/s]
24%|█████████ | 393M/1.65G [00:06<00:18, 67.4MB/s]
24%|█████████▏ | 399M/1.65G [00:06<00:18, 67.6MB/s]
25%|█████████▎ | 406M/1.65G [00:06<00:18, 68.1MB/s]
25%|█████████▌ | 413M/1.65G [00:06<00:18, 68.7MB/s]
25%|█████████▋ | 420M/1.65G [00:06<00:18, 68.0MB/s]
26%|█████████▊ | 427M/1.65G [00:06<00:18, 67.4MB/s]
26%|█████████▉ | 434M/1.65G [00:06<00:18, 66.7MB/s]
27%|██████████▏ | 440M/1.65G [00:06<00:18, 65.4MB/s]
27%|██████████▎ | 447M/1.65G [00:06<00:18, 65.6MB/s]
27%|██████████▍ | 454M/1.65G [00:07<00:18, 64.4MB/s]
28%|██████████▌ | 460M/1.65G [00:07<00:18, 64.3MB/s]
28%|██████████▋ | 467M/1.65G [00:07<00:18, 65.0MB/s]
29%|██████████▉ | 473M/1.65G [00:07<00:18, 64.8MB/s]
29%|███████████ | 480M/1.65G [00:07<00:17, 65.2MB/s]
29%|███████████▏ | 486M/1.65G [00:07<00:17, 65.1MB/s]
30%|███████████▎ | 493M/1.65G [00:07<00:17, 64.6MB/s]
30%|███████████▍ | 499M/1.65G [00:07<00:17, 64.8MB/s]
31%|███████████▋ | 506M/1.65G [00:07<00:18, 63.4MB/s]
31%|███████████▊ | 512M/1.65G [00:08<00:18, 62.8MB/s]
31%|███████████▉ | 519M/1.65G [00:08<00:17, 63.3MB/s]
32%|████████████ | 525M/1.65G [00:08<00:17, 64.0MB/s]
32%|████████████▏ | 532M/1.65G [00:08<00:17, 63.7MB/s]
33%|████████████▎ | 538M/1.65G [00:08<00:17, 63.9MB/s]
33%|████████████▌ | 544M/1.65G [00:08<00:17, 63.5MB/s]
33%|████████████▋ | 551M/1.65G [00:08<00:17, 63.7MB/s]
34%|████████████▊ | 557M/1.65G [00:08<00:17, 62.8MB/s]
34%|████████████▉ | 564M/1.65G [00:08<00:17, 61.8MB/s]
34%|█████████████ | 570M/1.65G [00:08<00:17, 62.0MB/s]
35%|█████████████▏ | 576M/1.65G [00:09<00:17, 62.7MB/s]
35%|█████████████▍ | 583M/1.65G [00:09<00:18, 59.3MB/s]
36%|█████████████▌ | 589M/1.65G [00:09<00:19, 53.7MB/s]
36%|█████████████▋ | 594M/1.65G [00:09<00:20, 51.6MB/s]
36%|█████████████▊ | 600M/1.65G [00:09<00:19, 54.0MB/s]
37%|█████████████▉ | 606M/1.65G [00:09<00:19, 55.1MB/s]
37%|██████████████ | 612M/1.65G [00:09<00:18, 57.4MB/s]
37%|██████████████▏ | 618M/1.65G [00:09<00:17, 58.2MB/s]
38%|██████████████▎ | 625M/1.65G [00:09<00:17, 59.8MB/s]
38%|██████████████▍ | 631M/1.65G [00:10<00:17, 60.1MB/s]
39%|██████████████▋ | 637M/1.65G [00:10<00:16, 61.3MB/s]
39%|██████████████▊ | 644M/1.65G [00:10<00:16, 62.7MB/s]
39%|██████████████▉ | 650M/1.65G [00:10<00:15, 63.6MB/s]
40%|███████████████ | 657M/1.65G [00:10<00:15, 64.0MB/s]
40%|███████████████▏ | 663M/1.65G [00:10<00:15, 64.4MB/s]
41%|███████████████▍ | 670M/1.65G [00:10<00:15, 64.8MB/s]
41%|███████████████▌ | 677M/1.65G [00:10<00:14, 66.3MB/s]
41%|███████████████▋ | 684M/1.65G [00:10<00:14, 68.2MB/s]
42%|███████████████▉ | 691M/1.65G [00:10<00:13, 69.5MB/s]
42%|████████████████ | 699M/1.65G [00:11<00:13, 70.3MB/s]
43%|████████████████▏ | 706M/1.65G [00:11<00:13, 70.4MB/s]
43%|████████████████▍ | 713M/1.65G [00:11<00:13, 70.0MB/s]
44%|████████████████▌ | 720M/1.65G [00:11<00:13, 69.7MB/s]
44%|████████████████▋ | 727M/1.65G [00:11<00:13, 68.4MB/s]
44%|████████████████▊ | 734M/1.65G [00:11<00:13, 66.5MB/s]
45%|█████████████████ | 740M/1.65G [00:11<00:13, 66.5MB/s]
45%|█████████████████▏ | 747M/1.65G [00:11<00:13, 66.8MB/s]
46%|█████████████████▎ | 754M/1.65G [00:11<00:13, 67.7MB/s]
46%|█████████████████▍ | 761M/1.65G [00:11<00:13, 68.6MB/s]
46%|█████████████████▋ | 768M/1.65G [00:12<00:12, 69.3MB/s]
47%|█████████████████▊ | 775M/1.65G [00:12<00:12, 68.5MB/s]
47%|█████████████████▉ | 782M/1.65G [00:12<00:13, 66.7MB/s]
48%|██████████████████▏ | 789M/1.65G [00:12<00:12, 66.6MB/s]
48%|██████████████████▎ | 795M/1.65G [00:12<00:12, 66.4MB/s]
49%|██████████████████▍ | 802M/1.65G [00:12<00:12, 65.6MB/s]
49%|██████████████████▌ | 808M/1.65G [00:12<00:12, 65.4MB/s]
49%|██████████████████▋ | 815M/1.65G [00:12<00:12, 65.4MB/s]
50%|██████████████████▉ | 822M/1.65G [00:12<00:12, 65.5MB/s]
50%|███████████████████ | 828M/1.65G [00:12<00:12, 64.8MB/s]
51%|███████████████████▏ | 835M/1.65G [00:13<00:12, 65.5MB/s]
51%|███████████████████▎ | 841M/1.65G [00:13<00:12, 65.7MB/s]
51%|███████████████████▍ | 848M/1.65G [00:13<00:12, 64.6MB/s]
52%|███████████████████▋ | 855M/1.65G [00:13<00:12, 64.9MB/s]
52%|███████████████████▊ | 861M/1.65G [00:13<00:12, 65.4MB/s]
53%|███████████████████▉ | 868M/1.65G [00:13<00:11, 65.8MB/s]
53%|████████████████████ | 874M/1.65G [00:13<00:11, 65.2MB/s]
53%|████████████████████▎ | 881M/1.65G [00:13<00:12, 64.0MB/s]
54%|████████████████████▍ | 888M/1.65G [00:13<00:11, 64.5MB/s]
54%|████████████████████▌ | 894M/1.65G [00:13<00:11, 64.0MB/s]
54%|████████████████████▋ | 901M/1.65G [00:14<00:11, 64.6MB/s]
55%|████████████████████▊ | 907M/1.65G [00:14<00:11, 63.4MB/s]
55%|█████████████████████ | 913M/1.65G [00:14<00:11, 61.9MB/s]
56%|█████████████████████▏ | 920M/1.65G [00:14<00:11, 62.9MB/s]
56%|█████████████████████▎ | 926M/1.65G [00:14<00:11, 63.1MB/s]
56%|█████████████████████▍ | 933M/1.65G [00:14<00:11, 63.6MB/s]
57%|█████████████████████▌ | 939M/1.65G [00:14<00:11, 63.5MB/s]
57%|█████████████████████▋ | 946M/1.65G [00:14<00:11, 63.8MB/s]
58%|█████████████████████▉ | 952M/1.65G [00:14<00:11, 63.6MB/s]
58%|██████████████████████ | 958M/1.65G [00:14<00:11, 63.0MB/s]
58%|██████████████████████▏ | 965M/1.65G [00:15<00:10, 62.9MB/s]
59%|██████████████████████▎ | 971M/1.65G [00:15<00:10, 62.9MB/s]
59%|██████████████████████▍ | 977M/1.65G [00:15<00:11, 60.9MB/s]
60%|██████████████████████▌ | 983M/1.65G [00:15<00:12, 55.0MB/s]
60%|██████████████████████▊ | 989M/1.65G [00:15<00:11, 56.6MB/s]
60%|██████████████████████▉ | 996M/1.65G [00:15<00:11, 58.0MB/s]
61%|██████████████████████▍ | 1.00G/1.65G [00:15<00:11, 57.5MB/s]
61%|██████████████████████▌ | 1.01G/1.65G [00:15<00:11, 58.0MB/s]
61%|██████████████████████▋ | 1.01G/1.65G [00:15<00:10, 58.6MB/s]
62%|██████████████████████▊ | 1.02G/1.65G [00:16<00:10, 59.6MB/s]
62%|██████████████████████▉ | 1.03G/1.65G [00:16<00:10, 59.9MB/s]
62%|███████████████████████ | 1.03G/1.65G [00:16<00:10, 60.6MB/s]
63%|███████████████████████▏ | 1.04G/1.65G [00:16<00:10, 60.9MB/s]
63%|███████████████████████▍ | 1.04G/1.65G [00:16<00:09, 61.2MB/s]
64%|███████████████████████▌ | 1.05G/1.65G [00:16<00:09, 61.4MB/s]
64%|███████████████████████▋ | 1.06G/1.65G [00:16<00:09, 62.2MB/s]
64%|███████████████████████▊ | 1.06G/1.65G [00:16<00:09, 62.1MB/s]
65%|███████████████████████▉ | 1.07G/1.65G [00:16<00:09, 62.3MB/s]
65%|████████████████████████ | 1.08G/1.65G [00:16<00:09, 61.8MB/s]
65%|████████████████████████▏ | 1.08G/1.65G [00:17<00:09, 62.0MB/s]
66%|████████████████████████▎ | 1.09G/1.65G [00:17<00:09, 61.0MB/s]
66%|████████████████████████▍ | 1.09G/1.65G [00:17<00:09, 60.3MB/s]
67%|████████████████████████▋ | 1.10G/1.65G [00:17<00:09, 60.2MB/s]
67%|████████████████████████▊ | 1.11G/1.65G [00:17<00:09, 59.1MB/s]
67%|████████████████████████▉ | 1.11G/1.65G [00:17<00:09, 59.2MB/s]
68%|█████████████████████████ | 1.12G/1.65G [00:17<00:09, 59.3MB/s]
68%|█████████████████████████▏ | 1.12G/1.65G [00:17<00:08, 59.6MB/s]
68%|█████████████████████████▎ | 1.13G/1.65G [00:17<00:08, 59.1MB/s]
69%|█████████████████████████▍ | 1.14G/1.65G [00:17<00:08, 59.2MB/s]
69%|█████████████████████████▌ | 1.14G/1.65G [00:18<00:08, 59.9MB/s]
69%|█████████████████████████▋ | 1.15G/1.65G [00:18<00:08, 59.3MB/s]
70%|█████████████████████████▊ | 1.15G/1.65G [00:18<00:08, 58.3MB/s]
70%|█████████████████████████▉ | 1.16G/1.65G [00:18<00:08, 59.5MB/s]
71%|██████████████████████████ | 1.17G/1.65G [00:18<00:08, 60.1MB/s]
71%|██████████████████████████▎ | 1.17G/1.65G [00:18<00:07, 60.8MB/s]
71%|██████████████████████████▍ | 1.18G/1.65G [00:18<00:07, 60.6MB/s]
72%|██████████████████████████▌ | 1.19G/1.65G [00:18<00:07, 60.7MB/s]
72%|██████████████████████████▋ | 1.19G/1.65G [00:18<00:07, 60.7MB/s]
72%|██████████████████████████▊ | 1.20G/1.65G [00:18<00:07, 59.7MB/s]
73%|██████████████████████████▉ | 1.20G/1.65G [00:19<00:07, 60.3MB/s]
73%|███████████████████████████ | 1.21G/1.65G [00:19<00:07, 60.3MB/s]
74%|███████████████████████████▏ | 1.22G/1.65G [00:19<00:07, 60.7MB/s]
74%|███████████████████████████▎ | 1.22G/1.65G [00:19<00:07, 60.2MB/s]
74%|███████████████████████████▍ | 1.23G/1.65G [00:19<00:07, 60.1MB/s]
75%|███████████████████████████▋ | 1.23G/1.65G [00:19<00:06, 61.2MB/s]
75%|███████████████████████████▊ | 1.24G/1.65G [00:19<00:06, 62.3MB/s]
75%|███████████████████████████▉ | 1.25G/1.65G [00:19<00:06, 63.1MB/s]
76%|████████████████████████████ | 1.25G/1.65G [00:19<00:06, 64.1MB/s]
76%|████████████████████████████▏ | 1.26G/1.65G [00:19<00:06, 64.5MB/s]
77%|████████████████████████████▎ | 1.27G/1.65G [00:20<00:06, 63.1MB/s]
77%|████████████████████████████▍ | 1.27G/1.65G [00:20<00:06, 62.7MB/s]
77%|████████████████████████████▋ | 1.28G/1.65G [00:20<00:05, 63.1MB/s]
78%|████████████████████████████▊ | 1.29G/1.65G [00:20<00:05, 62.6MB/s]
78%|████████████████████████████▉ | 1.29G/1.65G [00:20<00:05, 61.4MB/s]
79%|█████████████████████████████ | 1.30G/1.65G [00:20<00:06, 57.6MB/s]
79%|█████████████████████████████▏ | 1.30G/1.65G [00:20<00:06, 57.4MB/s]
79%|█████████████████████████████▎ | 1.31G/1.65G [00:20<00:05, 59.4MB/s]
80%|█████████████████████████████▍ | 1.32G/1.65G [00:20<00:05, 61.1MB/s]
80%|█████████████████████████████▋ | 1.32G/1.65G [00:21<00:05, 62.9MB/s]
80%|█████████████████████████████▊ | 1.33G/1.65G [00:21<00:05, 63.0MB/s]
81%|█████████████████████████████▉ | 1.34G/1.65G [00:21<00:04, 63.7MB/s]
81%|██████████████████████████████ | 1.34G/1.65G [00:21<00:04, 64.6MB/s]
82%|██████████████████████████████▏ | 1.35G/1.65G [00:21<00:04, 64.0MB/s]
82%|██████████████████████████████▎ | 1.36G/1.65G [00:21<00:04, 65.2MB/s]
82%|██████████████████████████████▌ | 1.36G/1.65G [00:21<00:04, 65.0MB/s]
83%|██████████████████████████████▋ | 1.37G/1.65G [00:21<00:04, 63.9MB/s]
83%|██████████████████████████████▊ | 1.38G/1.65G [00:21<00:04, 63.6MB/s]
84%|██████████████████████████████▉ | 1.38G/1.65G [00:21<00:04, 62.6MB/s]
84%|███████████████████████████████ | 1.39G/1.65G [00:22<00:04, 60.9MB/s]
84%|███████████████████████████████▏ | 1.40G/1.65G [00:22<00:04, 62.9MB/s]
85%|███████████████████████████████▍ | 1.40G/1.65G [00:22<00:03, 64.2MB/s]
85%|███████████████████████████████▌ | 1.41G/1.65G [00:22<00:03, 65.0MB/s]
86%|███████████████████████████████▋ | 1.42G/1.65G [00:22<00:03, 65.2MB/s]
86%|███████████████████████████████▊ | 1.42G/1.65G [00:22<00:03, 65.3MB/s]
86%|███████████████████████████████▉ | 1.43G/1.65G [00:22<00:03, 65.8MB/s]
87%|████████████████████████████████▏ | 1.44G/1.65G [00:22<00:03, 66.1MB/s]
87%|████████████████████████████████▎ | 1.44G/1.65G [00:22<00:03, 65.8MB/s]
88%|████████████████████████████████▍ | 1.45G/1.65G [00:22<00:03, 64.2MB/s]
88%|████████████████████████████████▌ | 1.45G/1.65G [00:23<00:03, 63.4MB/s]
88%|████████████████████████████████▋ | 1.46G/1.65G [00:23<00:03, 61.5MB/s]
89%|████████████████████████████████▊ | 1.47G/1.65G [00:23<00:03, 60.5MB/s]
89%|████████████████████████████████▉ | 1.47G/1.65G [00:23<00:02, 61.6MB/s]
90%|█████████████████████████████████▏ | 1.48G/1.65G [00:23<00:02, 60.7MB/s]
90%|█████████████████████████████████▎ | 1.49G/1.65G [00:23<00:02, 60.2MB/s]
90%|█████████████████████████████████▍ | 1.49G/1.65G [00:23<00:02, 60.2MB/s]
91%|█████████████████████████████████▌ | 1.50G/1.65G [00:23<00:02, 58.4MB/s]
91%|█████████████████████████████████▋ | 1.50G/1.65G [00:23<00:02, 57.4MB/s]
91%|█████████████████████████████████▊ | 1.51G/1.65G [00:24<00:02, 58.5MB/s]
92%|█████████████████████████████████▉ | 1.52G/1.65G [00:24<00:02, 60.6MB/s]
92%|██████████████████████████████████ | 1.52G/1.65G [00:24<00:02, 61.6MB/s]
93%|██████████████████████████████████▏ | 1.53G/1.65G [00:24<00:01, 62.4MB/s]
93%|██████████████████████████████████▍ | 1.54G/1.65G [00:24<00:01, 62.7MB/s]
93%|██████████████████████████████████▌ | 1.54G/1.65G [00:24<00:01, 62.8MB/s]
94%|██████████████████████████████████▋ | 1.55G/1.65G [00:24<00:01, 62.5MB/s]
94%|██████████████████████████████████▊ | 1.55G/1.65G [00:24<00:01, 62.7MB/s]
94%|██████████████████████████████████▉ | 1.56G/1.65G [00:24<00:01, 62.8MB/s]
95%|███████████████████████████████████ | 1.57G/1.65G [00:24<00:01, 63.4MB/s]
95%|███████████████████████████████████▏ | 1.57G/1.65G [00:25<00:01, 63.8MB/s]
96%|███████████████████████████████████▍ | 1.58G/1.65G [00:25<00:01, 64.3MB/s]
96%|███████████████████████████████████▌ | 1.59G/1.65G [00:25<00:01, 63.7MB/s]
96%|███████████████████████████████████▋ | 1.59G/1.65G [00:25<00:00, 63.4MB/s]
97%|███████████████████████████████████▊ | 1.60G/1.65G [00:25<00:00, 63.2MB/s]
97%|███████████████████████████████████▉ | 1.61G/1.65G [00:25<00:00, 64.0MB/s]
98%|████████████████████████████████████ | 1.61G/1.65G [00:25<00:00, 64.4MB/s]
98%|████████████████████████████████████▏| 1.62G/1.65G [00:25<00:00, 64.6MB/s]
98%|████████████████████████████████████▍| 1.63G/1.65G [00:25<00:00, 64.5MB/s]
99%|████████████████████████████████████▌| 1.63G/1.65G [00:25<00:00, 64.3MB/s]
99%|████████████████████████████████████▋| 1.64G/1.65G [00:26<00:00, 64.4MB/s]
100%|████████████████████████████████████▊| 1.65G/1.65G [00:26<00:00, 64.5MB/s]
100%|████████████████████████████████████▉| 1.65G/1.65G [00:26<00:00, 64.0MB/s]
0%| | 0.00/1.65G [00:00<?, ?B/s]
100%|█████████████████████████████████████| 1.65G/1.65G [00:00<00:00, 5.58TB/s]
Untarring contents of '/home/circleci/mne_data/MNE-sample-data-processed.tar.gz' to '/home/circleci/mne_data'
Attempting to create new mne-python configuration file:
/home/circleci/.mne/mne-python.json
Could not read the /home/circleci/.mne/mne-python.json json file during the writing. Assuming it is empty. Got: Expecting value: line 1 column 1 (char 0)
Download complete in 01m00s (1576.2 MB)
Opening raw data file /home/circleci/mne_data/MNE-sample-data/MEG/sample/sample_audvis_filt-0-40_raw.fif...
Read a total of 4 projection items:
PCA-v1 (1 x 102) idle
PCA-v2 (1 x 102) idle
PCA-v3 (1 x 102) idle
Average EEG reference (1 x 60) idle
Range : 6450 ... 48149 = 42.956 ... 320.665 secs
Ready.
Reading 0 ... 41699 = 0.000 ... 277.709 secs...
Filtering raw data in 1 contiguous segment
Setting up band-pass filter from 1 - 40 Hz
FIR filter parameters
---------------------
Designing a one-pass, zero-phase, non-causal bandpass filter:
- Windowed time-domain design (firwin) method
- Hamming window with 0.0194 passband ripple and 53 dB stopband attenuation
- Lower passband edge: 1.00
- Lower transition bandwidth: 1.00 Hz (-6 dB cutoff frequency: 0.50 Hz)
- Upper passband edge: 40.00 Hz
- Upper transition bandwidth: 10.00 Hz (-6 dB cutoff frequency: 45.00 Hz)
- Filter length: 497 samples (3.310 s)
Run ICA on data, after reducing the dimension
Plot results
n_plots = 10
T_plots = 1000
order = np.argsort(kurtosis(Y[:, :T_plots], axis=1))[::-1]
models = [data[:n_plots], Y[order[:n_plots][::-1]]]
names = ['Observations (raw EEG)',
'ICA recovered sources']
fig, axes = plt.subplots(2, 1, figsize=(7, 7))
for ii, (model, name, ax) in enumerate(zip(models, names, axes)):
ax.set_title(name)
ax.get_xaxis().set_visible(False)
ax.get_yaxis().set_visible(False)
offsets = np.max(model, axis=1) - np.min(model, axis=1)
offsets = np.cumsum(offsets)
ax.plot((model[:, :T_plots] + offsets[:, np.newaxis]).T, 'k')
fig.tight_layout()
plt.show()

Total running time of the script: (1 minutes 7.103 seconds)