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.40M/1.65G [00:00<01:08, 24.0MB/s]
0%|▏ | 7.04M/1.65G [00:00<00:44, 37.2MB/s]
1%|▎ | 12.0M/1.65G [00:00<00:38, 42.7MB/s]
1%|▍ | 17.4M/1.65G [00:00<00:34, 47.1MB/s]
1%|▍ | 22.1M/1.65G [00:00<00:38, 42.0MB/s]
2%|▋ | 28.0M/1.65G [00:00<00:34, 47.5MB/s]
2%|▊ | 33.9M/1.65G [00:00<00:31, 51.1MB/s]
2%|▉ | 39.8M/1.65G [00:00<00:30, 53.4MB/s]
3%|█ | 45.5M/1.65G [00:00<00:29, 54.5MB/s]
3%|█▏ | 51.0M/1.65G [00:01<00:29, 54.1MB/s]
3%|█▎ | 56.5M/1.65G [00:01<00:31, 51.0MB/s]
4%|█▍ | 62.1M/1.65G [00:01<00:30, 52.4MB/s]
4%|█▌ | 68.1M/1.65G [00:01<00:28, 54.7MB/s]
4%|█▋ | 74.0M/1.65G [00:01<00:28, 56.0MB/s]
5%|█▊ | 79.6M/1.65G [00:01<00:29, 53.3MB/s]
5%|█▉ | 85.0M/1.65G [00:01<00:29, 52.8MB/s]
5%|██ | 90.3M/1.65G [00:01<00:30, 51.8MB/s]
6%|██▏ | 95.5M/1.65G [00:01<00:30, 50.9MB/s]
6%|██▎ | 101M/1.65G [00:01<00:30, 51.4MB/s]
6%|██▍ | 107M/1.65G [00:02<00:28, 53.9MB/s]
7%|██▌ | 113M/1.65G [00:02<00:27, 56.5MB/s]
7%|██▋ | 119M/1.65G [00:02<00:26, 57.7MB/s]
8%|██▊ | 125M/1.65G [00:02<00:26, 57.0MB/s]
8%|███ | 131M/1.65G [00:02<00:26, 58.4MB/s]
8%|███▏ | 138M/1.65G [00:02<00:25, 60.4MB/s]
9%|███▎ | 144M/1.65G [00:02<00:24, 61.5MB/s]
9%|███▍ | 151M/1.65G [00:02<00:23, 62.6MB/s]
9%|███▌ | 157M/1.65G [00:02<00:24, 61.5MB/s]
10%|███▊ | 163M/1.65G [00:03<00:23, 62.5MB/s]
10%|███▉ | 170M/1.65G [00:03<00:23, 62.7MB/s]
11%|████ | 176M/1.65G [00:03<00:24, 61.0MB/s]
11%|████▏ | 182M/1.65G [00:03<00:23, 62.3MB/s]
11%|████▎ | 189M/1.65G [00:03<00:23, 61.6MB/s]
12%|████▍ | 195M/1.65G [00:03<00:27, 53.8MB/s]
12%|████▌ | 200M/1.65G [00:03<00:27, 52.6MB/s]
12%|████▋ | 206M/1.65G [00:03<00:28, 51.6MB/s]
13%|████▊ | 211M/1.65G [00:03<00:28, 51.2MB/s]
13%|████▉ | 216M/1.65G [00:03<00:28, 50.8MB/s]
13%|█████ | 221M/1.65G [00:04<00:28, 49.9MB/s]
14%|█████▏ | 226M/1.65G [00:04<00:28, 49.6MB/s]
14%|█████▎ | 231M/1.65G [00:04<00:28, 49.3MB/s]
14%|█████▍ | 236M/1.65G [00:04<00:28, 49.3MB/s]
15%|█████▌ | 241M/1.65G [00:04<00:28, 49.0MB/s]
15%|█████▋ | 246M/1.65G [00:04<00:29, 48.1MB/s]
15%|█████▊ | 251M/1.65G [00:04<00:29, 47.6MB/s]
15%|█████▉ | 256M/1.65G [00:04<00:28, 48.4MB/s]
16%|█████▉ | 261M/1.65G [00:04<00:28, 48.6MB/s]
16%|██████ | 266M/1.65G [00:05<00:28, 48.2MB/s]
16%|██████▏ | 271M/1.65G [00:05<00:29, 47.6MB/s]
17%|██████▎ | 275M/1.65G [00:05<00:28, 48.0MB/s]
17%|██████▍ | 280M/1.65G [00:05<00:28, 48.5MB/s]
17%|██████▌ | 285M/1.65G [00:05<00:28, 48.7MB/s]
18%|██████▋ | 290M/1.65G [00:05<00:28, 47.9MB/s]
18%|██████▊ | 295M/1.65G [00:05<00:29, 45.5MB/s]
18%|██████▉ | 300M/1.65G [00:05<00:32, 41.9MB/s]
18%|██████▉ | 304M/1.65G [00:05<00:30, 43.6MB/s]
19%|███████ | 309M/1.65G [00:05<00:29, 44.9MB/s]
19%|███████▏ | 314M/1.65G [00:06<00:29, 45.9MB/s]
19%|███████▎ | 319M/1.65G [00:06<00:28, 46.9MB/s]
20%|███████▍ | 324M/1.65G [00:06<00:28, 47.3MB/s]
20%|███████▌ | 329M/1.65G [00:06<00:27, 47.4MB/s]
20%|███████▋ | 333M/1.65G [00:06<00:27, 47.9MB/s]
20%|███████▊ | 338M/1.65G [00:06<00:27, 48.1MB/s]
21%|███████▉ | 343M/1.65G [00:06<00:26, 48.6MB/s]
21%|████████ | 348M/1.65G [00:06<00:26, 48.7MB/s]
21%|████████ | 353M/1.65G [00:06<00:26, 49.2MB/s]
22%|████████▏ | 358M/1.65G [00:07<00:28, 45.7MB/s]
22%|████████▍ | 364M/1.65G [00:07<00:25, 50.7MB/s]
22%|████████▌ | 371M/1.65G [00:07<00:23, 54.9MB/s]
23%|████████▋ | 377M/1.65G [00:07<00:22, 56.0MB/s]
23%|████████▊ | 383M/1.65G [00:07<00:21, 58.1MB/s]
24%|████████▉ | 390M/1.65G [00:07<00:21, 59.6MB/s]
24%|█████████ | 396M/1.65G [00:07<00:20, 62.6MB/s]
24%|█████████▎ | 403M/1.65G [00:07<00:19, 64.0MB/s]
25%|█████████▍ | 410M/1.65G [00:07<00:19, 65.3MB/s]
25%|█████████▌ | 417M/1.65G [00:07<00:18, 66.1MB/s]
26%|█████████▋ | 424M/1.65G [00:08<00:18, 66.5MB/s]
26%|█████████▉ | 430M/1.65G [00:08<00:18, 67.0MB/s]
26%|██████████ | 437M/1.65G [00:08<00:18, 66.7MB/s]
27%|██████████▏ | 444M/1.65G [00:08<00:18, 66.0MB/s]
27%|██████████▎ | 451M/1.65G [00:08<00:18, 66.3MB/s]
28%|██████████▌ | 457M/1.65G [00:08<00:17, 66.9MB/s]
28%|██████████▋ | 464M/1.65G [00:08<00:17, 67.3MB/s]
28%|██████████▊ | 471M/1.65G [00:08<00:17, 67.3MB/s]
29%|██████████▉ | 478M/1.65G [00:08<00:17, 67.2MB/s]
29%|███████████▏ | 484M/1.65G [00:08<00:17, 66.8MB/s]
30%|███████████▎ | 491M/1.65G [00:09<00:17, 65.1MB/s]
30%|███████████▍ | 498M/1.65G [00:09<00:17, 64.5MB/s]
31%|███████████▌ | 504M/1.65G [00:09<00:17, 65.1MB/s]
31%|███████████▊ | 511M/1.65G [00:09<00:17, 66.1MB/s]
31%|███████████▉ | 518M/1.65G [00:09<00:16, 67.3MB/s]
32%|████████████ | 525M/1.65G [00:09<00:16, 67.5MB/s]
32%|████████████▏ | 532M/1.65G [00:09<00:16, 67.4MB/s]
33%|████████████▍ | 538M/1.65G [00:09<00:16, 67.2MB/s]
33%|████████████▌ | 545M/1.65G [00:09<00:16, 66.2MB/s]
33%|████████████▋ | 552M/1.65G [00:09<00:17, 63.7MB/s]
34%|████████████▊ | 558M/1.65G [00:10<00:17, 61.7MB/s]
34%|████████████▉ | 564M/1.65G [00:10<00:18, 58.8MB/s]
35%|█████████████ | 570M/1.65G [00:10<00:18, 58.9MB/s]
35%|█████████████▎ | 577M/1.65G [00:10<00:17, 60.5MB/s]
35%|█████████████▍ | 583M/1.65G [00:10<00:17, 60.8MB/s]
36%|█████████████▌ | 589M/1.65G [00:10<00:17, 61.3MB/s]
36%|█████████████▋ | 595M/1.65G [00:10<00:17, 61.5MB/s]
36%|█████████████▊ | 602M/1.65G [00:10<00:16, 63.2MB/s]
37%|█████████████▉ | 608M/1.65G [00:10<00:16, 63.2MB/s]
37%|██████████████▏ | 615M/1.65G [00:10<00:16, 64.1MB/s]
38%|██████████████▎ | 622M/1.65G [00:11<00:15, 65.6MB/s]
38%|██████████████▍ | 629M/1.65G [00:11<00:15, 66.3MB/s]
38%|██████████████▌ | 635M/1.65G [00:11<00:16, 60.6MB/s]
39%|██████████████▋ | 641M/1.65G [00:11<00:18, 54.8MB/s]
39%|██████████████▉ | 648M/1.65G [00:11<00:17, 58.3MB/s]
40%|███████████████ | 654M/1.65G [00:11<00:17, 57.9MB/s]
40%|███████████████▏ | 661M/1.65G [00:11<00:16, 60.2MB/s]
40%|███████████████▎ | 667M/1.65G [00:11<00:16, 61.2MB/s]
41%|███████████████▍ | 674M/1.65G [00:11<00:15, 62.9MB/s]
41%|███████████████▋ | 681M/1.65G [00:12<00:15, 64.0MB/s]
42%|███████████████▊ | 687M/1.65G [00:12<00:14, 65.0MB/s]
42%|███████████████▉ | 694M/1.65G [00:12<00:15, 63.9MB/s]
42%|████████████████ | 700M/1.65G [00:12<00:14, 64.6MB/s]
43%|████████████████▎ | 707M/1.65G [00:12<00:14, 64.4MB/s]
43%|████████████████▍ | 713M/1.65G [00:12<00:16, 58.5MB/s]
44%|████████████████▌ | 719M/1.65G [00:12<00:18, 51.2MB/s]
44%|████████████████▋ | 726M/1.65G [00:12<00:16, 54.9MB/s]
44%|████████████████▊ | 733M/1.65G [00:12<00:15, 57.9MB/s]
45%|████████████████▉ | 739M/1.65G [00:13<00:15, 59.3MB/s]
45%|█████████████████▏ | 745M/1.65G [00:13<00:15, 59.1MB/s]
45%|█████████████████▎ | 751M/1.65G [00:13<00:15, 59.2MB/s]
46%|█████████████████▍ | 757M/1.65G [00:13<00:15, 59.6MB/s]
46%|█████████████████▌ | 763M/1.65G [00:13<00:14, 60.8MB/s]
47%|█████████████████▋ | 770M/1.65G [00:13<00:14, 61.2MB/s]
47%|█████████████████▊ | 776M/1.65G [00:13<00:15, 54.9MB/s]
47%|█████████████████▉ | 783M/1.65G [00:13<00:14, 59.4MB/s]
48%|██████████████████▏ | 789M/1.65G [00:13<00:16, 52.5MB/s]
48%|██████████████████▎ | 794M/1.65G [00:14<00:16, 51.0MB/s]
48%|██████████████████▍ | 800M/1.65G [00:14<00:18, 47.1MB/s]
49%|██████████████████▌ | 806M/1.65G [00:14<00:17, 49.4MB/s]
49%|██████████████████▋ | 811M/1.65G [00:14<00:17, 48.5MB/s]
49%|██████████████████▊ | 816M/1.65G [00:14<00:18, 44.6MB/s]
50%|██████████████████▊ | 820M/1.65G [00:14<00:19, 42.9MB/s]
50%|███████████████████ | 827M/1.65G [00:14<00:16, 49.0MB/s]
50%|███████████████████▏ | 832M/1.65G [00:14<00:18, 45.0MB/s]
51%|███████████████████▎ | 838M/1.65G [00:15<00:16, 48.5MB/s]
51%|███████████████████▍ | 843M/1.65G [00:15<00:18, 43.1MB/s]
51%|███████████████████▍ | 848M/1.65G [00:15<00:18, 44.5MB/s]
52%|███████████████████▋ | 854M/1.65G [00:15<00:16, 48.8MB/s]
52%|███████████████████▊ | 860M/1.65G [00:15<00:14, 52.9MB/s]
52%|███████████████████▉ | 867M/1.65G [00:15<00:13, 56.6MB/s]
53%|████████████████████ | 872M/1.65G [00:15<00:16, 46.4MB/s]
53%|████████████████████▏ | 879M/1.65G [00:15<00:14, 52.0MB/s]
54%|████████████████████▍ | 886M/1.65G [00:15<00:13, 56.9MB/s]
54%|████████████████████▌ | 893M/1.65G [00:16<00:12, 59.6MB/s]
54%|████████████████████▋ | 900M/1.65G [00:16<00:12, 62.6MB/s]
55%|████████████████████▊ | 907M/1.65G [00:16<00:11, 64.7MB/s]
55%|█████████████████████ | 914M/1.65G [00:16<00:11, 65.8MB/s]
56%|█████████████████████▏ | 921M/1.65G [00:16<00:11, 64.8MB/s]
56%|█████████████████████▎ | 927M/1.65G [00:16<00:11, 63.4MB/s]
56%|█████████████████████▍ | 934M/1.65G [00:16<00:12, 58.9MB/s]
57%|█████████████████████▌ | 940M/1.65G [00:16<00:12, 58.6MB/s]
57%|█████████████████████▊ | 946M/1.65G [00:16<00:11, 61.5MB/s]
58%|█████████████████████▉ | 954M/1.65G [00:16<00:10, 64.4MB/s]
58%|██████████████████████ | 960M/1.65G [00:17<00:10, 64.8MB/s]
59%|██████████████████████▏ | 967M/1.65G [00:17<00:10, 66.5MB/s]
59%|██████████████████████▍ | 975M/1.65G [00:17<00:09, 68.3MB/s]
59%|██████████████████████▌ | 981M/1.65G [00:17<00:09, 67.2MB/s]
60%|██████████████████████▋ | 988M/1.65G [00:17<00:09, 67.8MB/s]
60%|██████████████████████▉ | 996M/1.65G [00:17<00:09, 69.2MB/s]
61%|██████████████████████▍ | 1.00G/1.65G [00:17<00:09, 69.8MB/s]
61%|██████████████████████▌ | 1.01G/1.65G [00:17<00:09, 68.6MB/s]
62%|██████████████████████▊ | 1.02G/1.65G [00:17<00:09, 69.9MB/s]
62%|██████████████████████▉ | 1.02G/1.65G [00:17<00:09, 69.7MB/s]
62%|███████████████████████ | 1.03G/1.65G [00:18<00:08, 69.5MB/s]
63%|███████████████████████▏ | 1.04G/1.65G [00:18<00:08, 69.8MB/s]
63%|███████████████████████▍ | 1.04G/1.65G [00:18<00:08, 69.8MB/s]
64%|███████████████████████▌ | 1.05G/1.65G [00:18<00:08, 69.7MB/s]
64%|███████████████████████▋ | 1.06G/1.65G [00:18<00:08, 69.2MB/s]
64%|███████████████████████▊ | 1.07G/1.65G [00:18<00:08, 69.2MB/s]
65%|████████████████████████ | 1.07G/1.65G [00:18<00:08, 69.8MB/s]
65%|████████████████████████▏ | 1.08G/1.65G [00:18<00:08, 70.2MB/s]
66%|████████████████████████▎ | 1.09G/1.65G [00:18<00:08, 70.5MB/s]
66%|████████████████████████▍ | 1.09G/1.65G [00:19<00:08, 68.5MB/s]
67%|████████████████████████▋ | 1.10G/1.65G [00:19<00:07, 69.2MB/s]
67%|████████████████████████▊ | 1.11G/1.65G [00:19<00:07, 69.6MB/s]
67%|████████████████████████▉ | 1.12G/1.65G [00:19<00:07, 69.8MB/s]
68%|█████████████████████████▏ | 1.12G/1.65G [00:19<00:07, 69.6MB/s]
68%|█████████████████████████▎ | 1.13G/1.65G [00:19<00:07, 69.5MB/s]
69%|█████████████████████████▍ | 1.14G/1.65G [00:19<00:07, 69.6MB/s]
69%|█████████████████████████▌ | 1.14G/1.65G [00:19<00:07, 69.8MB/s]
70%|█████████████████████████▊ | 1.15G/1.65G [00:19<00:07, 70.8MB/s]
70%|█████████████████████████▉ | 1.16G/1.65G [00:19<00:07, 70.2MB/s]
70%|██████████████████████████ | 1.16G/1.65G [00:20<00:07, 69.7MB/s]
71%|██████████████████████████▏ | 1.17G/1.65G [00:20<00:06, 70.1MB/s]
71%|██████████████████████████▍ | 1.18G/1.65G [00:20<00:06, 70.5MB/s]
72%|██████████████████████████▌ | 1.19G/1.65G [00:20<00:06, 70.2MB/s]
72%|██████████████████████████▋ | 1.19G/1.65G [00:20<00:06, 70.6MB/s]
73%|██████████████████████████▊ | 1.20G/1.65G [00:20<00:06, 70.8MB/s]
73%|███████████████████████████ | 1.21G/1.65G [00:20<00:06, 70.7MB/s]
73%|███████████████████████████▏ | 1.21G/1.65G [00:20<00:06, 69.5MB/s]
74%|███████████████████████████▎ | 1.22G/1.65G [00:20<00:06, 70.4MB/s]
74%|███████████████████████████▌ | 1.23G/1.65G [00:20<00:06, 70.3MB/s]
75%|███████████████████████████▋ | 1.24G/1.65G [00:21<00:05, 70.7MB/s]
75%|███████████████████████████▊ | 1.24G/1.65G [00:21<00:05, 69.7MB/s]
76%|███████████████████████████▉ | 1.25G/1.65G [00:21<00:05, 68.7MB/s]
76%|████████████████████████████▏ | 1.26G/1.65G [00:21<00:05, 67.9MB/s]
76%|████████████████████████████▎ | 1.26G/1.65G [00:21<00:05, 68.7MB/s]
77%|████████████████████████████▍ | 1.27G/1.65G [00:21<00:05, 64.5MB/s]
77%|████████████████████████████▌ | 1.28G/1.65G [00:21<00:05, 64.1MB/s]
78%|████████████████████████████▋ | 1.28G/1.65G [00:21<00:06, 61.3MB/s]
78%|████████████████████████████▉ | 1.29G/1.65G [00:21<00:05, 61.8MB/s]
78%|█████████████████████████████ | 1.30G/1.65G [00:21<00:05, 62.2MB/s]
79%|█████████████████████████████▏ | 1.30G/1.65G [00:22<00:05, 62.4MB/s]
79%|█████████████████████████████▎ | 1.31G/1.65G [00:22<00:05, 61.9MB/s]
80%|█████████████████████████████▍ | 1.32G/1.65G [00:22<00:05, 62.4MB/s]
80%|█████████████████████████████▌ | 1.32G/1.65G [00:22<00:05, 63.8MB/s]
80%|█████████████████████████████▋ | 1.33G/1.65G [00:22<00:05, 64.0MB/s]
81%|█████████████████████████████▉ | 1.34G/1.65G [00:22<00:04, 64.8MB/s]
81%|██████████████████████████████ | 1.34G/1.65G [00:22<00:04, 65.5MB/s]
82%|██████████████████████████████▏ | 1.35G/1.65G [00:22<00:04, 65.5MB/s]
82%|██████████████████████████████▎ | 1.36G/1.65G [00:22<00:04, 66.1MB/s]
82%|██████████████████████████████▍ | 1.36G/1.65G [00:22<00:04, 66.0MB/s]
83%|██████████████████████████████▋ | 1.37G/1.65G [00:23<00:04, 65.5MB/s]
83%|██████████████████████████████▊ | 1.38G/1.65G [00:23<00:04, 66.2MB/s]
84%|██████████████████████████████▉ | 1.38G/1.65G [00:23<00:04, 65.3MB/s]
84%|███████████████████████████████ | 1.39G/1.65G [00:23<00:04, 64.5MB/s]
84%|███████████████████████████████▏ | 1.39G/1.65G [00:23<00:03, 65.0MB/s]
85%|███████████████████████████████▍ | 1.40G/1.65G [00:23<00:03, 65.4MB/s]
85%|███████████████████████████████▌ | 1.41G/1.65G [00:23<00:03, 66.2MB/s]
86%|███████████████████████████████▋ | 1.42G/1.65G [00:23<00:03, 65.9MB/s]
86%|███████████████████████████████▊ | 1.42G/1.65G [00:23<00:03, 66.0MB/s]
86%|███████████████████████████████▉ | 1.43G/1.65G [00:24<00:03, 60.5MB/s]
87%|████████████████████████████████ | 1.43G/1.65G [00:24<00:03, 58.3MB/s]
87%|████████████████████████████████▎ | 1.44G/1.65G [00:24<00:03, 59.4MB/s]
88%|████████████████████████████████▍ | 1.45G/1.65G [00:24<00:03, 61.5MB/s]
88%|████████████████████████████████▌ | 1.45G/1.65G [00:24<00:03, 62.6MB/s]
88%|████████████████████████████████▋ | 1.46G/1.65G [00:24<00:03, 63.4MB/s]
89%|████████████████████████████████▊ | 1.47G/1.65G [00:24<00:02, 64.5MB/s]
89%|████████████████████████████████▉ | 1.47G/1.65G [00:24<00:02, 65.0MB/s]
90%|█████████████████████████████████▏ | 1.48G/1.65G [00:24<00:02, 64.4MB/s]
90%|█████████████████████████████████▎ | 1.49G/1.65G [00:24<00:02, 64.7MB/s]
90%|█████████████████████████████████▍ | 1.49G/1.65G [00:25<00:02, 66.0MB/s]
91%|█████████████████████████████████▌ | 1.50G/1.65G [00:25<00:02, 67.3MB/s]
91%|█████████████████████████████████▋ | 1.51G/1.65G [00:25<00:02, 67.8MB/s]
92%|█████████████████████████████████▉ | 1.51G/1.65G [00:25<00:02, 68.4MB/s]
92%|██████████████████████████████████ | 1.52G/1.65G [00:25<00:01, 69.1MB/s]
92%|██████████████████████████████████▏ | 1.53G/1.65G [00:25<00:01, 69.3MB/s]
93%|██████████████████████████████████▍ | 1.54G/1.65G [00:25<00:01, 67.7MB/s]
93%|██████████████████████████████████▌ | 1.54G/1.65G [00:25<00:01, 68.5MB/s]
94%|██████████████████████████████████▋ | 1.55G/1.65G [00:25<00:01, 67.9MB/s]
94%|██████████████████████████████████▊ | 1.56G/1.65G [00:25<00:01, 66.7MB/s]
95%|██████████████████████████████████▉ | 1.56G/1.65G [00:26<00:01, 66.9MB/s]
95%|███████████████████████████████████▏ | 1.57G/1.65G [00:26<00:01, 68.3MB/s]
95%|███████████████████████████████████▎ | 1.58G/1.65G [00:26<00:01, 68.4MB/s]
96%|███████████████████████████████████▍ | 1.58G/1.65G [00:26<00:00, 69.3MB/s]
96%|███████████████████████████████████▌ | 1.59G/1.65G [00:26<00:00, 69.4MB/s]
97%|███████████████████████████████████▊ | 1.60G/1.65G [00:26<00:00, 68.8MB/s]
97%|███████████████████████████████████▉ | 1.60G/1.65G [00:26<00:00, 67.7MB/s]
98%|████████████████████████████████████ | 1.61G/1.65G [00:26<00:00, 68.6MB/s]
98%|████████████████████████████████████▏| 1.62G/1.65G [00:26<00:00, 69.1MB/s]
98%|████████████████████████████████████▍| 1.63G/1.65G [00:26<00:00, 68.0MB/s]
99%|████████████████████████████████████▌| 1.63G/1.65G [00:27<00:00, 67.3MB/s]
99%|████████████████████████████████████▋| 1.64G/1.65G [00:27<00:00, 66.5MB/s]
100%|████████████████████████████████████▊| 1.65G/1.65G [00:27<00:00, 68.3MB/s]
0%| | 0.00/1.65G [00:00<?, ?B/s]
100%|█████████████████████████████████████| 1.65G/1.65G [00:00<00:00, 5.85TB/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 01m04s (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 11.806 seconds)