Note
Go to the end to download the full example code.
Multitaper spectrogram plot¶
Below is a code sample for plotting spectrograms
from ieeg.viz.ensemble import chan_grid
from ieeg.timefreq.multitaper import spectrogram
from ieeg.timefreq.utils import crop_pad
from ieeg.navigate import channel_outlier_marker
from ieeg.viz.parula import parula_map
import numpy as np
import mne
Load Data¶
misc_path = mne.datasets.misc.data_path()
raw = mne.io.read_raw(misc_path / 'seeg' / 'sample_seeg_ieeg.fif')
Using default location ~/mne_data for misc...
Creating /home/docs/mne_data
Dataset misc version 0.0 out of date, latest version is 0.27
Downloading file 'mne-misc-data-0.27.tar.gz' from 'https://codeload.github.com/mne-tools/mne-misc-data/tar.gz/0.27' to '/home/docs/mne_data'.
0.00B [00:00, ?B/s]
786kB [00:00, 7.11MB/s]
1.57MB [00:00, 7.32MB/s]
4.98MB [00:00, 18.7MB/s]
7.60MB [00:00, 21.1MB/s]
9.73MB [00:00, 20.3MB/s]
11.8MB [00:00, 12.2MB/s]
13.3MB [00:01, 10.7MB/s]
14.7MB [00:01, 9.62MB/s]
16.0MB [00:01, 10.2MB/s]
17.6MB [00:01, 11.3MB/s]
18.8MB [00:01, 8.61MB/s]
20.2MB [00:01, 8.70MB/s]
21.2MB [00:02, 7.39MB/s]
23.1MB [00:02, 8.87MB/s]
24.1MB [00:02, 7.30MB/s]
25.7MB [00:02, 8.11MB/s]
26.6MB [00:02, 6.99MB/s]
27.8MB [00:02, 7.69MB/s]
28.6MB [00:03, 6.51MB/s]
29.9MB [00:03, 7.56MB/s]
30.7MB [00:03, 6.27MB/s]
32.0MB [00:03, 7.44MB/s]
32.8MB [00:03, 6.28MB/s]
34.9MB [00:03, 8.18MB/s]
35.8MB [00:04, 5.19MB/s]
38.8MB [00:04, 9.06MB/s]
41.9MB [00:04, 13.0MB/s]
45.1MB [00:04, 16.7MB/s]
48.2MB [00:04, 19.9MB/s]
51.4MB [00:04, 22.6MB/s]
54.5MB [00:04, 24.5MB/s]
57.7MB [00:04, 26.1MB/s]
60.8MB [00:05, 27.3MB/s]
63.7MB [00:05, 27.6MB/s]
66.8MB [00:05, 28.4MB/s]
69.7MB [00:05, 28.6MB/s]
72.9MB [00:05, 29.3MB/s]
76.0MB [00:05, 29.7MB/s]
79.0MB [00:06, 10.5MB/s]
81.2MB [00:06, 9.49MB/s]
83.6MB [00:06, 11.2MB/s]
86.0MB [00:06, 13.0MB/s]
88.6MB [00:06, 15.2MB/s]
90.8MB [00:07, 9.54MB/s]
93.3MB [00:07, 11.8MB/s]
95.7MB [00:07, 13.6MB/s]
98.1MB [00:07, 15.7MB/s]
100MB [00:07, 17.1MB/s]
104MB [00:07, 20.9MB/s]
106MB [00:08, 17.6MB/s]
108MB [00:08, 9.61MB/s]
110MB [00:09, 6.95MB/s]
111MB [00:09, 5.86MB/s]
115MB [00:09, 8.96MB/s]
117MB [00:09, 11.7MB/s]
120MB [00:09, 13.2MB/s]
122MB [00:09, 13.8MB/s]
124MB [00:10, 9.06MB/s]
125MB [00:10, 8.80MB/s]
126MB [00:10, 9.17MB/s]
127MB [00:10, 7.28MB/s]
128MB [00:11, 6.83MB/s]
129MB [00:11, 7.04MB/s]
131MB [00:11, 9.16MB/s]
132MB [00:11, 9.48MB/s]
133MB [00:11, 10.1MB/s]
135MB [00:11, 10.1MB/s]
136MB [00:11, 7.85MB/s]
137MB [00:11, 7.08MB/s]
137MB [00:12, 6.63MB/s]
139MB [00:12, 8.49MB/s]
140MB [00:12, 6.72MB/s]
141MB [00:12, 6.05MB/s]
141MB [00:12, 5.88MB/s]
143MB [00:12, 7.20MB/s]
144MB [00:12, 9.19MB/s]
145MB [00:13, 8.06MB/s]
146MB [00:13, 6.34MB/s]
147MB [00:13, 6.18MB/s]
148MB [00:13, 7.48MB/s]
149MB [00:13, 8.05MB/s]
150MB [00:13, 7.08MB/s]
151MB [00:14, 6.20MB/s]
152MB [00:14, 6.01MB/s]
153MB [00:14, 8.11MB/s]
154MB [00:14, 7.21MB/s]
155MB [00:14, 6.37MB/s]
156MB [00:14, 5.95MB/s]
156MB [00:14, 5.10MB/s]
158MB [00:15, 7.24MB/s]
159MB [00:15, 7.19MB/s]
160MB [00:15, 6.28MB/s]
160MB [00:15, 5.46MB/s]
161MB [00:15, 5.52MB/s]
163MB [00:15, 7.50MB/s]
163MB [00:15, 7.36MB/s]
164MB [00:16, 6.14MB/s]
165MB [00:16, 5.34MB/s]
166MB [00:16, 6.86MB/s]
168MB [00:16, 8.78MB/s]
169MB [00:16, 7.64MB/s]
170MB [00:16, 6.70MB/s]
170MB [00:17, 3.88MB/s]
174MB [00:17, 7.83MB/s]
176MB [00:17, 11.6MB/s]
180MB [00:17, 15.4MB/s]
183MB [00:17, 18.7MB/s]
186MB [00:17, 20.8MB/s]
189MB [00:17, 23.6MB/s]
192MB [00:18, 25.3MB/s]
195MB [00:18, 26.6MB/s]
198MB [00:18, 27.1MB/s]
201MB [00:18, 28.1MB/s]
204MB [00:18, 28.4MB/s]
207MB [00:18, 28.9MB/s]
210MB [00:18, 29.2MB/s]
213MB [00:18, 29.4MB/s]
216MB [00:18, 29.6MB/s]
219MB [00:18, 30.1MB/s]
222MB [00:19, 30.0MB/s]
225MB [00:19, 29.9MB/s]
229MB [00:19, 30.3MB/s]
232MB [00:19, 30.3MB/s]
235MB [00:19, 18.3MB/s]
237MB [00:19, 18.7MB/s]
239MB [00:19, 18.9MB/s]
242MB [00:20, 19.2MB/s]
244MB [00:20, 19.3MB/s]
246MB [00:20, 19.5MB/s]
248MB [00:20, 19.6MB/s]
250MB [00:20, 19.3MB/s]
252MB [00:20, 19.3MB/s]
254MB [00:20, 10.1MB/s]
256MB [00:21, 10.3MB/s]
257MB [00:21, 9.66MB/s]
258MB [00:21, 9.83MB/s]
259MB [00:21, 9.31MB/s]
260MB [00:21, 9.40MB/s]
261MB [00:21, 9.41MB/s]
262MB [00:21, 9.20MB/s]
263MB [00:21, 9.31MB/s]
265MB [00:22, 9.23MB/s]
266MB [00:22, 8.83MB/s]
267MB [00:22, 9.61MB/s]
268MB [00:22, 9.37MB/s]
269MB [00:22, 9.15MB/s]
270MB [00:22, 9.08MB/s]
271MB [00:22, 9.05MB/s]
272MB [00:22, 9.11MB/s]
273MB [00:23, 9.44MB/s]
274MB [00:23, 9.43MB/s]
275MB [00:23, 9.09MB/s]
276MB [00:23, 9.08MB/s]
277MB [00:23, 9.19MB/s]
278MB [00:23, 9.43MB/s]
279MB [00:23, 9.10MB/s]
280MB [00:23, 8.85MB/s]
281MB [00:23, 8.81MB/s]
282MB [00:24, 8.91MB/s]
283MB [00:24, 8.75MB/s]
284MB [00:24, 9.18MB/s]
285MB [00:24, 9.28MB/s]
286MB [00:24, 9.28MB/s]
287MB [00:24, 9.20MB/s]
288MB [00:24, 9.50MB/s]
289MB [00:24, 9.47MB/s]
290MB [00:24, 9.16MB/s]
291MB [00:25, 9.06MB/s]
292MB [00:25, 8.90MB/s]
0.00B [00:00, ?B/s]
0.00B [00:00, ?B/s]
Untarring contents of '/home/docs/mne_data/mne-misc-data-0.27.tar.gz' to '/home/docs/mne_data'
Attempting to create new mne-python configuration file:
/home/docs/.mne/mne-python.json
Download complete in 30s (278.8 MB)
Opening raw data file /home/docs/mne_data/MNE-misc-data/seeg/sample_seeg_ieeg.fif...
Range : 1310640 ... 1370605 = 1311.411 ... 1371.411 secs
Ready.
Remove bad channels¶
# mark channel outliers as bad
raw.info['bads'] = channel_outlier_marker(raw, 3)
# Exclude bad channels
raw.drop_channels(raw.info['bads'])
raw.load_data()
# CAR (common average reference)
raw.set_eeg_reference(ref_channels="average", ch_type='seeg')
outlier round 1 channels: ['LAMY 7']
outlier round 1 channels: ['LAMY 7', 'LPHG 6']
outlier round 1 channels: ['LAMY 7', 'LPHG 6', 'LBRI 3']
outlier round 1 channels: ['LAMY 7', 'LPHG 6', 'LBRI 3', 'RAHP 3']
outlier round 2 channels: ['LAMY 7', 'LPHG 6', 'LBRI 3', 'RAHP 3', 'LENT 3']
outlier round 2 channels: ['LAMY 7', 'LPHG 6', 'LBRI 3', 'RAHP 3', 'LENT 3', 'LPIT 5']
outlier round 3 channels: ['LAMY 7', 'LPHG 6', 'LBRI 3', 'RAHP 3', 'LENT 3', 'LPIT 5', 'LENT 2']
outlier round 3 channels: ['LAMY 7', 'LPHG 6', 'LBRI 3', 'RAHP 3', 'LENT 3', 'LPIT 5', 'LENT 2', 'LENT 7']
outlier round 4 channels: ['LAMY 7', 'LPHG 6', 'LBRI 3', 'RAHP 3', 'LENT 3', 'LPIT 5', 'LENT 2', 'LENT 7', 'LPLI 8']
outlier round 5 channels: ['LAMY 7', 'LPHG 6', 'LBRI 3', 'RAHP 3', 'LENT 3', 'LPIT 5', 'LENT 2', 'LENT 7', 'LPLI 8', 'RAHP 2']
outlier round 6 channels: ['LAMY 7', 'LPHG 6', 'LBRI 3', 'RAHP 3', 'LENT 3', 'LPIT 5', 'LENT 2', 'LENT 7', 'LPLI 8', 'RAHP 2', 'LPIT 6']
Reading 0 ... 59965 = 0.000 ... 60.000 secs...
Applying average reference.
Applying a custom ('sEEG',) reference.
Calculate Spectra¶
Used Annotations descriptions: [np.str_('Fixation'), np.str_('Go Cue'), np.str_('ISI Onset'), np.str_('Response')]
Not setting metadata
8 matching events found
No baseline correction applied
0 projection items activated
Using data from preloaded Raw for 8 events and 3399 original time points ...
1 bad epochs dropped
Not setting metadata
8 matching events found
No baseline correction applied
0 projection items activated
Using data from preloaded Raw for 8 events and 2400 original time points ...
0 bad epochs dropped
NOTE: tfr_multitaper() is a legacy function. New code should use .compute_tfr(method="multitaper").
Data is self data: True
Copying, fancy indexed picks
NOTE: tfr_multitaper() is a legacy function. New code should use .compute_tfr(method="multitaper").
Data is self data: True
Copying, fancy indexed picks
Plot data¶
chan_grid(spectra, vlim=(0.7, 1.4), cmap=parula_map)
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
No baseline correction applied
[<Figure size 1250.45x1875.67 with 60 Axes>, <Figure size 1250.45x1875.67 with 60 Axes>]
Total running time of the script: (1 minutes 35.919 seconds)
Estimated memory usage: 4696 MB
Related examples

