Note
Click here to download the full example code
EEG speech envelope TRF¶
Analyze continuous speech data from the mTRF dataset [1]: use the boosting algorithm for estimating temporal response functions (TRFs) to the acoustic envelope.
# Author: Christian Brodbeck <christianbrodbeck@nyu.edu>
# sphinx_gallery_thumbnail_number = 4
import os
from scipy.io import loadmat
import mne
from eelbrain import *
# Load the mTRF speech dataset and convert data to NDVars
root = mne.datasets.mtrf.data_path()
speech_path = os.path.join(root, 'speech_data.mat')
mdata = loadmat(speech_path)
# Time axis
tstep = 1. / mdata['Fs'][0, 0]
n_times = mdata['envelope'].shape[0]
time = UTS(0, tstep, n_times)
# Load the EEG sensor coordinates (drop fiducials coordinates, which are stored
# after sensor 128)
sensor = Sensor.from_montage('biosemi128')[:128]
# Frequency dimension for the spectrogram
band = Scalar('frequency', range(16))
# Create variables
envelope = NDVar(mdata['envelope'][:, 0], (time,), name='envelope')
eeg = NDVar(mdata['EEG'], (time, sensor), name='EEG', info={'unit': 'µV'})
spectrogram = NDVar(mdata['spectrogram'], (time, band), name='spectrogram')
# Exclude a bad channel
eeg = eeg[sensor.index(exclude='A13')]
Data¶
Plot the spectrogram of the speech stimulus:
plot.Array(spectrogram, xlim=5, w=6, h=2)
Out:
<Array: spectrogram>
Plot the envelope used as stimulus representation for reverse correlation:
Out:
<UTS: envelope>
Plot the corresponding EEG data:
p = plot.TopoButterfly(eeg, xlim=5, w=7, h=2)
p.set_time(1.200)
Reverse correlation¶
TRF for the envelope using boosting:
- TRF from -100 to 400 ms
- Basis of 100 ms Hamming windows
- Use 4 partitionings of the data for cross-validation based early stopping
res = boosting(eeg, envelope, -0.100, 0.400, basis=0.100, partitions=4)
p = plot.TopoButterfly(res.h_scaled, w=6, h=2)
p.set_time(.180)
Out:
Boosting 127 signals: 0%| | 0/508 [00:00<?, ?it/s]
Boosting 127 signals: 0%| | 1/508 [00:00<02:52, 2.93it/s]
Boosting 127 signals: 2%|1 | 8/508 [00:00<02:01, 4.11it/s]
Boosting 127 signals: 3%|2 | 14/508 [00:00<01:26, 5.70it/s]
Boosting 127 signals: 4%|4 | 21/508 [00:00<01:02, 7.85it/s]
Boosting 127 signals: 6%|5 | 28/508 [00:00<00:44, 10.70it/s]
Boosting 127 signals: 7%|6 | 34/508 [00:00<00:34, 13.94it/s]
Boosting 127 signals: 8%|8 | 41/508 [00:00<00:25, 18.28it/s]
Boosting 127 signals: 9%|9 | 48/508 [00:01<00:19, 23.33it/s]
Boosting 127 signals: 11%|# | 55/508 [00:01<00:15, 28.76it/s]
Boosting 127 signals: 12%|#2 | 61/508 [00:01<00:13, 32.00it/s]
Boosting 127 signals: 13%|#3 | 67/508 [00:01<00:11, 37.18it/s]
Boosting 127 signals: 14%|#4 | 73/508 [00:01<00:11, 38.96it/s]
Boosting 127 signals: 16%|#5 | 79/508 [00:01<00:10, 41.71it/s]
Boosting 127 signals: 17%|#6 | 85/508 [00:01<00:09, 45.74it/s]
Boosting 127 signals: 18%|#8 | 92/508 [00:01<00:08, 49.28it/s]
Boosting 127 signals: 19%|#9 | 98/508 [00:02<00:07, 51.99it/s]
Boosting 127 signals: 21%|## | 105/508 [00:02<00:07, 55.12it/s]
Boosting 127 signals: 22%|##1 | 111/508 [00:02<00:07, 54.28it/s]
Boosting 127 signals: 23%|##3 | 117/508 [00:02<00:08, 47.08it/s]
Boosting 127 signals: 24%|##4 | 123/508 [00:02<00:07, 48.97it/s]
Boosting 127 signals: 26%|##5 | 130/508 [00:02<00:07, 52.81it/s]
Boosting 127 signals: 27%|##6 | 136/508 [00:02<00:06, 54.45it/s]
Boosting 127 signals: 28%|##7 | 142/508 [00:02<00:06, 54.23it/s]
Boosting 127 signals: 29%|##9 | 148/508 [00:02<00:06, 54.17it/s]
Boosting 127 signals: 30%|### | 154/508 [00:03<00:06, 53.80it/s]
Boosting 127 signals: 32%|###1 | 161/508 [00:03<00:06, 57.78it/s]
Boosting 127 signals: 33%|###2 | 167/508 [00:03<00:05, 58.04it/s]
Boosting 127 signals: 34%|###4 | 175/508 [00:03<00:05, 60.05it/s]
Boosting 127 signals: 36%|###5 | 182/508 [00:03<00:05, 62.35it/s]
Boosting 127 signals: 37%|###7 | 189/508 [00:03<00:05, 63.65it/s]
Boosting 127 signals: 39%|###8 | 196/508 [00:03<00:04, 64.52it/s]
Boosting 127 signals: 40%|###9 | 203/508 [00:03<00:04, 64.34it/s]
Boosting 127 signals: 41%|####1 | 210/508 [00:03<00:04, 63.99it/s]
Boosting 127 signals: 43%|####2 | 217/508 [00:04<00:04, 65.24it/s]
Boosting 127 signals: 44%|####4 | 224/508 [00:04<00:04, 64.90it/s]
Boosting 127 signals: 45%|####5 | 231/508 [00:04<00:04, 63.78it/s]
Boosting 127 signals: 47%|####6 | 238/508 [00:04<00:04, 58.62it/s]
Boosting 127 signals: 48%|####8 | 245/508 [00:04<00:04, 60.33it/s]
Boosting 127 signals: 50%|####9 | 252/508 [00:04<00:04, 62.70it/s]
Boosting 127 signals: 51%|##### | 259/508 [00:04<00:03, 64.07it/s]
Boosting 127 signals: 52%|#####2 | 266/508 [00:04<00:03, 61.30it/s]
Boosting 127 signals: 54%|#####3 | 273/508 [00:04<00:03, 62.02it/s]
Boosting 127 signals: 55%|#####5 | 280/508 [00:05<00:03, 63.31it/s]
Boosting 127 signals: 56%|#####6 | 287/508 [00:05<00:03, 64.56it/s]
Boosting 127 signals: 58%|#####8 | 295/508 [00:05<00:03, 65.13it/s]
Boosting 127 signals: 60%|#####9 | 303/508 [00:05<00:03, 61.94it/s]
Boosting 127 signals: 61%|######1 | 310/508 [00:05<00:03, 60.30it/s]
Boosting 127 signals: 62%|######2 | 317/508 [00:05<00:03, 56.77it/s]
Boosting 127 signals: 64%|######3 | 323/508 [00:05<00:03, 50.12it/s]
Boosting 127 signals: 65%|######4 | 329/508 [00:05<00:03, 48.89it/s]
Boosting 127 signals: 66%|######5 | 335/508 [00:06<00:03, 48.43it/s]
Boosting 127 signals: 68%|######7 | 343/508 [00:06<00:03, 52.67it/s]
Boosting 127 signals: 69%|######8 | 350/508 [00:06<00:02, 54.87it/s]
Boosting 127 signals: 70%|####### | 356/508 [00:06<00:02, 53.63it/s]
Boosting 127 signals: 71%|#######1 | 362/508 [00:06<00:02, 52.78it/s]
Boosting 127 signals: 72%|#######2 | 368/508 [00:06<00:02, 52.13it/s]
Boosting 127 signals: 74%|#######3 | 374/508 [00:06<00:02, 51.91it/s]
Boosting 127 signals: 75%|#######4 | 380/508 [00:06<00:02, 49.43it/s]
Boosting 127 signals: 76%|#######5 | 386/508 [00:07<00:02, 51.77it/s]
Boosting 127 signals: 77%|#######7 | 393/508 [00:07<00:02, 55.76it/s]
Boosting 127 signals: 79%|#######8 | 399/508 [00:07<00:02, 51.17it/s]
Boosting 127 signals: 80%|#######9 | 405/508 [00:07<00:02, 49.97it/s]
Boosting 127 signals: 81%|######## | 411/508 [00:07<00:02, 41.27it/s]
Boosting 127 signals: 82%|########1 | 416/508 [00:07<00:02, 41.49it/s]
Boosting 127 signals: 83%|########2 | 421/508 [00:07<00:02, 39.87it/s]
Boosting 127 signals: 84%|########4 | 427/508 [00:07<00:01, 42.81it/s]
Boosting 127 signals: 85%|########5 | 433/508 [00:08<00:01, 44.44it/s]
Boosting 127 signals: 86%|########6 | 439/508 [00:08<00:01, 47.01it/s]
Boosting 127 signals: 88%|########7 | 446/508 [00:08<00:01, 50.86it/s]
Boosting 127 signals: 89%|########8 | 452/508 [00:08<00:01, 50.78it/s]
Boosting 127 signals: 90%|######### | 458/508 [00:08<00:01, 49.73it/s]
Boosting 127 signals: 91%|#########1| 464/508 [00:08<00:00, 44.31it/s]
Boosting 127 signals: 92%|#########2| 469/508 [00:08<00:00, 40.83it/s]
Boosting 127 signals: 94%|#########3| 475/508 [00:08<00:00, 44.85it/s]
Boosting 127 signals: 95%|#########4| 481/508 [00:09<00:00, 47.06it/s]
Boosting 127 signals: 96%|#########5| 486/508 [00:09<00:00, 47.69it/s]
Boosting 127 signals: 97%|#########6| 491/508 [00:09<00:00, 48.02it/s]
Boosting 127 signals: 98%|#########8| 498/508 [00:09<00:00, 51.79it/s]
Boosting 127 signals: 99%|#########9| 504/508 [00:09<00:00, 50.11it/s]
Boosting 127 signals: 100%|##########| 508/508 [00:09<00:00, 52.80it/s]
Multiple predictors¶
Multiple predictors additively explain the signal:
# Derive acoustic onsets from the envelope
onset = envelope.diff('time', name='onset').clip(0)
onset *= envelope.max() / onset.max()
plot.UTS([[envelope, onset]], xlim=5, w=6, h=2)
Out:
<UTS: envelope, onset>
res_onset = boosting(eeg, [onset, envelope], -0.100, 0.400, basis=0.100, partitions=4)
p = plot.TopoButterfly(res_onset.h_scaled, w=6, h=3)
p.set_time(.150)
Out:
Boosting 127 signals: 0%| | 0/508 [00:00<?, ?it/s]
Boosting 127 signals: 0%| | 1/508 [00:00<03:06, 2.72it/s]
Boosting 127 signals: 1%| | 5/508 [00:00<02:14, 3.75it/s]
Boosting 127 signals: 2%|1 | 9/508 [00:00<01:37, 5.12it/s]
Boosting 127 signals: 3%|2 | 13/508 [00:00<01:12, 6.87it/s]
Boosting 127 signals: 3%|3 | 17/508 [00:00<00:55, 8.87it/s]
Boosting 127 signals: 4%|4 | 21/508 [00:00<00:43, 11.30it/s]
Boosting 127 signals: 5%|4 | 24/508 [00:01<00:35, 13.59it/s]
Boosting 127 signals: 5%|5 | 27/508 [00:01<00:30, 15.86it/s]
Boosting 127 signals: 6%|6 | 31/508 [00:01<00:25, 18.53it/s]
Boosting 127 signals: 7%|6 | 35/508 [00:01<00:22, 21.20it/s]
Boosting 127 signals: 8%|7 | 39/508 [00:01<00:19, 23.90it/s]
Boosting 127 signals: 8%|8 | 43/508 [00:01<00:17, 26.52it/s]
Boosting 127 signals: 9%|9 | 47/508 [00:01<00:16, 28.54it/s]
Boosting 127 signals: 10%|# | 51/508 [00:01<00:14, 30.53it/s]
Boosting 127 signals: 11%|# | 55/508 [00:02<00:15, 29.23it/s]
Boosting 127 signals: 12%|#1 | 59/508 [00:02<00:16, 27.87it/s]
Boosting 127 signals: 12%|#2 | 62/508 [00:02<00:16, 26.93it/s]
Boosting 127 signals: 13%|#2 | 66/508 [00:02<00:15, 29.11it/s]
Boosting 127 signals: 14%|#3 | 70/508 [00:02<00:15, 29.04it/s]
Boosting 127 signals: 15%|#4 | 74/508 [00:02<00:15, 28.20it/s]
Boosting 127 signals: 15%|#5 | 78/508 [00:02<00:15, 28.60it/s]
Boosting 127 signals: 16%|#6 | 82/508 [00:03<00:15, 28.04it/s]
Boosting 127 signals: 17%|#6 | 86/508 [00:03<00:14, 28.97it/s]
Boosting 127 signals: 18%|#7 | 90/508 [00:03<00:14, 29.38it/s]
Boosting 127 signals: 19%|#8 | 94/508 [00:03<00:13, 31.13it/s]
Boosting 127 signals: 19%|#9 | 98/508 [00:03<00:12, 32.48it/s]
Boosting 127 signals: 20%|## | 102/508 [00:03<00:12, 32.00it/s]
Boosting 127 signals: 21%|## | 106/508 [00:03<00:12, 33.09it/s]
Boosting 127 signals: 22%|##1 | 110/508 [00:03<00:12, 31.66it/s]
Boosting 127 signals: 22%|##2 | 114/508 [00:04<00:13, 28.59it/s]
Boosting 127 signals: 23%|##3 | 117/508 [00:04<00:14, 26.84it/s]
Boosting 127 signals: 24%|##3 | 121/508 [00:04<00:13, 28.11it/s]
Boosting 127 signals: 25%|##4 | 125/508 [00:04<00:13, 27.48it/s]
Boosting 127 signals: 25%|##5 | 129/508 [00:04<00:13, 28.95it/s]
Boosting 127 signals: 26%|##6 | 133/508 [00:04<00:12, 30.65it/s]
Boosting 127 signals: 27%|##6 | 137/508 [00:04<00:12, 28.73it/s]
Boosting 127 signals: 28%|##7 | 140/508 [00:05<00:13, 26.78it/s]
Boosting 127 signals: 28%|##8 | 143/508 [00:05<00:15, 23.38it/s]
Boosting 127 signals: 29%|##8 | 147/508 [00:05<00:14, 24.08it/s]
Boosting 127 signals: 30%|##9 | 151/508 [00:05<00:13, 26.23it/s]
Boosting 127 signals: 31%|### | 155/508 [00:05<00:12, 28.97it/s]
Boosting 127 signals: 31%|###1 | 159/508 [00:05<00:11, 31.33it/s]
Boosting 127 signals: 32%|###2 | 163/508 [00:05<00:10, 33.34it/s]
Boosting 127 signals: 33%|###2 | 167/508 [00:05<00:09, 34.65it/s]
Boosting 127 signals: 34%|###3 | 171/508 [00:06<00:10, 31.85it/s]
Boosting 127 signals: 34%|###4 | 175/508 [00:06<00:10, 31.51it/s]
Boosting 127 signals: 35%|###5 | 179/508 [00:06<00:09, 33.07it/s]
Boosting 127 signals: 36%|###6 | 183/508 [00:06<00:09, 33.69it/s]
Boosting 127 signals: 37%|###6 | 187/508 [00:06<00:09, 34.36it/s]
Boosting 127 signals: 38%|###7 | 191/508 [00:06<00:09, 35.01it/s]
Boosting 127 signals: 38%|###8 | 195/508 [00:06<00:10, 30.02it/s]
Boosting 127 signals: 39%|###9 | 199/508 [00:06<00:10, 29.91it/s]
Boosting 127 signals: 40%|###9 | 203/508 [00:07<00:09, 30.62it/s]
Boosting 127 signals: 41%|#### | 207/508 [00:07<00:09, 31.50it/s]
Boosting 127 signals: 42%|####1 | 211/508 [00:07<00:09, 31.04it/s]
Boosting 127 signals: 42%|####2 | 215/508 [00:07<00:09, 31.70it/s]
Boosting 127 signals: 43%|####3 | 219/508 [00:07<00:09, 32.09it/s]
Boosting 127 signals: 44%|####3 | 223/508 [00:07<00:08, 31.94it/s]
Boosting 127 signals: 45%|####4 | 227/508 [00:07<00:08, 32.58it/s]
Boosting 127 signals: 45%|####5 | 231/508 [00:07<00:08, 31.77it/s]
Boosting 127 signals: 46%|####6 | 235/508 [00:08<00:08, 31.08it/s]
Boosting 127 signals: 47%|####7 | 239/508 [00:08<00:08, 32.50it/s]
Boosting 127 signals: 48%|####7 | 243/508 [00:08<00:08, 32.09it/s]
Boosting 127 signals: 49%|####8 | 247/508 [00:08<00:08, 31.21it/s]
Boosting 127 signals: 49%|####9 | 251/508 [00:08<00:08, 31.78it/s]
Boosting 127 signals: 50%|##### | 255/508 [00:08<00:08, 31.24it/s]
Boosting 127 signals: 51%|##### | 259/508 [00:08<00:07, 32.14it/s]
Boosting 127 signals: 52%|#####1 | 263/508 [00:08<00:07, 32.57it/s]
Boosting 127 signals: 53%|#####2 | 267/508 [00:09<00:07, 30.74it/s]
Boosting 127 signals: 53%|#####3 | 271/508 [00:09<00:07, 30.79it/s]
Boosting 127 signals: 54%|#####4 | 275/508 [00:09<00:08, 28.82it/s]
Boosting 127 signals: 55%|#####4 | 278/508 [00:09<00:08, 28.65it/s]
Boosting 127 signals: 55%|#####5 | 281/508 [00:09<00:07, 28.80it/s]
Boosting 127 signals: 56%|#####6 | 285/508 [00:09<00:07, 30.58it/s]
Boosting 127 signals: 57%|#####6 | 289/508 [00:09<00:06, 31.84it/s]
Boosting 127 signals: 58%|#####7 | 293/508 [00:09<00:06, 32.80it/s]
Boosting 127 signals: 58%|#####8 | 297/508 [00:10<00:06, 32.65it/s]
Boosting 127 signals: 59%|#####9 | 301/508 [00:10<00:06, 33.57it/s]
Boosting 127 signals: 60%|###### | 305/508 [00:10<00:06, 33.52it/s]
Boosting 127 signals: 61%|###### | 309/508 [00:10<00:06, 31.46it/s]
Boosting 127 signals: 62%|######1 | 313/508 [00:10<00:06, 30.22it/s]
Boosting 127 signals: 62%|######2 | 317/508 [00:10<00:06, 31.22it/s]
Boosting 127 signals: 63%|######3 | 321/508 [00:10<00:06, 27.69it/s]
Boosting 127 signals: 64%|######3 | 324/508 [00:10<00:06, 26.72it/s]
Boosting 127 signals: 64%|######4 | 327/508 [00:11<00:07, 25.29it/s]
Boosting 127 signals: 65%|######4 | 330/508 [00:11<00:06, 25.73it/s]
Boosting 127 signals: 66%|######5 | 333/508 [00:11<00:06, 25.24it/s]
Boosting 127 signals: 66%|######6 | 337/508 [00:11<00:06, 27.78it/s]
Boosting 127 signals: 67%|######6 | 340/508 [00:11<00:06, 25.29it/s]
Boosting 127 signals: 68%|######7 | 344/508 [00:11<00:05, 27.49it/s]
Boosting 127 signals: 69%|######8 | 348/508 [00:11<00:05, 29.58it/s]
Boosting 127 signals: 69%|######9 | 352/508 [00:11<00:04, 31.20it/s]
Boosting 127 signals: 70%|####### | 356/508 [00:12<00:04, 30.62it/s]
Boosting 127 signals: 71%|####### | 360/508 [00:12<00:05, 29.08it/s]
Boosting 127 signals: 72%|#######1 | 364/508 [00:12<00:04, 29.96it/s]
Boosting 127 signals: 72%|#######2 | 368/508 [00:12<00:05, 27.73it/s]
Boosting 127 signals: 73%|#######3 | 371/508 [00:12<00:04, 28.27it/s]
Boosting 127 signals: 74%|#######3 | 375/508 [00:12<00:04, 26.62it/s]
Boosting 127 signals: 75%|#######4 | 379/508 [00:12<00:05, 24.81it/s]
Boosting 127 signals: 75%|#######5 | 383/508 [00:13<00:04, 25.54it/s]
Boosting 127 signals: 76%|#######5 | 386/508 [00:13<00:04, 25.17it/s]
Boosting 127 signals: 77%|#######6 | 389/508 [00:13<00:04, 25.76it/s]
Boosting 127 signals: 77%|#######7 | 392/508 [00:13<00:04, 25.49it/s]
Boosting 127 signals: 78%|#######7 | 396/508 [00:13<00:04, 27.37it/s]
Boosting 127 signals: 79%|#######8 | 399/508 [00:13<00:04, 26.76it/s]
Boosting 127 signals: 79%|#######9 | 402/508 [00:13<00:04, 26.32it/s]
Boosting 127 signals: 80%|#######9 | 405/508 [00:13<00:03, 26.18it/s]
Boosting 127 signals: 80%|######## | 408/508 [00:14<00:04, 23.52it/s]
Boosting 127 signals: 81%|######## | 411/508 [00:14<00:04, 19.91it/s]
Boosting 127 signals: 81%|########1 | 414/508 [00:14<00:04, 21.68it/s]
Boosting 127 signals: 82%|########2 | 417/508 [00:14<00:04, 19.19it/s]
Boosting 127 signals: 83%|########2 | 420/508 [00:14<00:04, 19.68it/s]
Boosting 127 signals: 83%|########3 | 423/508 [00:14<00:04, 20.33it/s]
Boosting 127 signals: 84%|########3 | 426/508 [00:15<00:04, 19.67it/s]
Boosting 127 signals: 84%|########4 | 429/508 [00:15<00:03, 21.31it/s]
Boosting 127 signals: 85%|########5 | 432/508 [00:15<00:03, 22.29it/s]
Boosting 127 signals: 86%|########5 | 435/508 [00:15<00:03, 23.09it/s]
Boosting 127 signals: 86%|########6 | 439/508 [00:15<00:02, 25.69it/s]
Boosting 127 signals: 87%|########7 | 443/508 [00:15<00:02, 27.42it/s]
Boosting 127 signals: 88%|########7 | 447/508 [00:15<00:02, 27.54it/s]
Boosting 127 signals: 89%|########8 | 450/508 [00:15<00:02, 27.33it/s]
Boosting 127 signals: 89%|########9 | 453/508 [00:16<00:02, 24.25it/s]
Boosting 127 signals: 90%|########9 | 456/508 [00:16<00:02, 21.51it/s]
Boosting 127 signals: 90%|######### | 459/508 [00:16<00:02, 21.68it/s]
Boosting 127 signals: 91%|######### | 462/508 [00:16<00:02, 22.10it/s]
Boosting 127 signals: 92%|#########1| 465/508 [00:16<00:02, 20.79it/s]
Boosting 127 signals: 92%|#########2| 468/508 [00:16<00:01, 21.18it/s]
Boosting 127 signals: 93%|#########2| 471/508 [00:16<00:01, 19.82it/s]
Boosting 127 signals: 94%|#########3| 475/508 [00:17<00:01, 22.58it/s]
Boosting 127 signals: 94%|#########4| 479/508 [00:17<00:01, 24.40it/s]
Boosting 127 signals: 95%|#########4| 482/508 [00:17<00:01, 24.77it/s]
Boosting 127 signals: 95%|#########5| 485/508 [00:17<00:01, 22.43it/s]
Boosting 127 signals: 96%|#########6| 488/508 [00:17<00:00, 21.88it/s]
Boosting 127 signals: 97%|#########6| 491/508 [00:17<00:00, 20.27it/s]
Boosting 127 signals: 97%|#########7| 495/508 [00:17<00:00, 22.84it/s]
Boosting 127 signals: 98%|#########8| 499/508 [00:18<00:00, 25.53it/s]
Boosting 127 signals: 99%|#########8| 502/508 [00:18<00:00, 25.28it/s]
Boosting 127 signals: 99%|#########9| 505/508 [00:18<00:00, 22.97it/s]
Boosting 127 signals: 100%|##########| 508/508 [00:18<00:00, 27.56it/s]
Compare models¶
Compare model quality through the correlation between measured and predicted responses:
plot.Topomap([res.r, res_onset.r], w=4, h=2, ncol=2, axtitle=['envelope', 'envelope + onset'])
Out:
<Topomap: correlation>
References¶
[1] | Crosse, M. J., Liberto, D., M, G., Bednar, A., & Lalor, E. C. (2016). The Multivariate Temporal Response Function (mTRF) Toolbox: A MATLAB Toolbox for Relating Neural Signals to Continuous Stimuli. Frontiers in Human Neuroscience, 10. https://doi.org/10.3389/fnhum.2016.00604 |
Total running time of the script: ( 0 minutes 31.863 seconds)