Python-生成模拟原始脑电数据

更多技术干货第一时间送达

在实验中有时需要原始脑电数据来进行模拟实验,但又限于实验条件的不足,需要构造模拟的原始脑电数据。

本示例通过多次重复所需的源激活来生成原始数据。

案例介绍

# 导入工具包import numpy as npimport matplotlib.pyplot as plt
import mnefrom mne import find_events, Epochs, compute_covariance, make_ad_hoc_covfrom mne.datasets import samplefrom mne.simulation import (simulate_sparse_stc, simulate_raw, add_noise, add_ecg, add_eog)%matplotlib auto
data_path = sample.data_path()raw_fname = data_path + '/MEG/sample/sample_audvis_raw.fif'fwd_fname = data_path + '/MEG/sample/sample_audvis-meg-eeg-oct-6-fwd.fif'
# 加载真实数据作为模板raw = mne.io.read_raw_fif(raw_fname)raw.set_eeg_reference(projection=True)

生成偶极子时间序列

# 设置偶极子的数量n_dipoles = 4# 每个epoch或者event的时间窗口长度epoch_duration = 2.#谐波数n = 0 # 随机状态(可复制)rng = np.random.RandomState(0)
def data_fun(times): """产生时间交错的正弦波,谐波为10Hz""" global n n_samp = len(times) window = np.zeros(n_samp) start, stop = [int(ii * float(n_samp) / (2 * n_dipoles)) for ii in (2 * n, 2 * n + 1)] window[start:stop] = 1. n += 1 data = 25e-9 * np.sin(2. * np.pi * 10. * n * times) data *= window return data

times = raw.times[:int(raw.info['sfreq'] * epoch_duration)]fwd = mne.read_forward_solution(fwd_fname)src = fwd['src']stc = simulate_sparse_stc(src, n_dipoles=n_dipoles, times=times, data_fun=data_fun, random_state=rng)# look at our source datafig, ax = plt.subplots(1)ax.plot(times, 1e9 * stc.data.T)ax.set(ylabel='Amplitude (nAm)', xlabel='Time (sec)')mne.viz.utils.plt_show()

得到模拟原始数据并绘制

"""模拟原始数据"""raw_sim = simulate_raw(raw.info, [stc] * 10, forward=fwd, cov=None, verbose=True)cov = make_ad_hoc_cov(raw_sim.info)add_noise(raw_sim, cov, iir_filter=[0.2, -0.2, 0.04], random_state=rng)add_ecg(raw_sim, random_state=rng)add_eog(raw_sim, random_state=rng)raw_sim.plot()plt.show()

绘制诱发数据

"""绘制诱发数据"""events = find_events(raw_sim) # only 1 pos, so event number == 1epochs = Epochs(raw_sim, events, 1, tmin=-0.2, tmax=epoch_duration)cov = compute_covariance(epochs, tmax=0., method='empirical', verbose='error') # quick calcevoked = epochs.average()evoked.plot_white(cov, time_unit='s')plt.show()

更多阅读

EEG信号特征提取算法

EEMD算法原理与实现

EMD算法原理与实现
EEGNet: 神经网络应用于脑电信号

信号处理之倒频谱原理与python实现

信号处理之功率谱原理与python实现

脑电信号滤波-代码实现

运动想象系统中的特征提取算法和分类算法

特征提取算法 | 共空间模式 Common Spatial Pattern(CSP)

功率谱估计-直接法原理与案例

MNE中文教程(16)-脑电数据的Epoching处理

DEAP数据库介绍--来自于音乐视频材料诱发得到的脑电数据

PsychoPy安装与测试案例

PsychoPy文字刺激、图片刺激和光栅刺激

Python机器学习算法随机森林判断睡眠类型

应用深度学习EEGNet来处理脑电信号

(0)

相关推荐

  • 高斯混合模型(GMM):理念、数学、EM算法和python实现

    高斯混合模型是一种流行的无监督学习算法.GMM方法类似于K-Means聚类算法,但是由于其复杂性,它更健壮,因此更有用. K-means聚类使用欧式距离函数来发现数据中的聚类.只要数据相对于质心呈圆形 ...

  • 从零开始,用Python徒手写线性回归

    关键时间,第一时间送达! 转自:机器之心 先放下 Scikit-learn,我们来看一看真正的技术. 对于大多数数据科学家而言,线性回归方法是他们进行统计学建模和预测分析任务的起点.这种方法已经存在了 ...

  • keras搭建多层LSTM时间序列预测模型

    参考基于 Keras 的 LSTM 时间序列分析--以苹果股价预测为例 ######################导入库##########################import osos.e ...

  • Python协方差矩阵处理脑电数据

    更多技术干货第一时间送达 Hello,大家好! Rose小哥今天主要介绍一下MNE中如何用协方差矩阵来处理脑电数据的. MNE中的许多方法,包括源估计和一些分类算法,都需要根据记录进行协方差估计. 在 ...

  • 脑电分析系列[MNE-Python-21]| Python协方差矩阵处理脑电数据

    今天主要介绍一下MNE中如何用协方差矩阵来处理脑电数据的. MNE中的许多方法,包括源估计和一些分类算法,都需要根据记录进行协方差估计. 在本教程中,我们将介绍传感器协方差计算的基础知识,并构建一个噪 ...

  • MNE中文教程(16)-脑电数据的Epoching处理

    更多技术干货第一时间送达 Epoch概念简介 从连续的脑电图信号中提取一些特定时间窗口的信号,这些时间窗口可以称作为epochs.由于EEG是连续收集的,要分析脑电事件相关的电位时,需要将信号&quo ...

  • DEAP数据库介绍--来自于音乐视频材料诱发得到的脑电数据

    更多技术干货第一时间送达 DEAP数据库简介 DEAP[1](Database for Emotion Analysis usingPhysiological Signals),该数据库是由来自英国伦 ...

  • Python-使用多种滤波器对脑电数据去除伪影

    更多技术干货第一时间送达 一些由电源线造成的伪影具有某些特定范围的频率(比如,由电网产生的电力线噪声,主要由50Hz(或60Hz取决于实验的地理位置)的尖峰组成).因此可以通过滤波来固定. 本文分别使 ...

  • 脑电数据收集,处理和分析的基础

    更多技术干货第一时间送达 在进行EEG数据分析时,需要进行各种预处理来筛选.清洗得到较好的EEG数据,所有这些预处理步骤都需要就数据的预期影响做出明智的决定. 关于EEG方面的介绍可以查看:<什 ...

  • 利用LSTM(长短期记忆网络)来处理脑电数据

    更多技术干货第一时间送达 Hello,大家好! Rose小哥今天介绍一下用LSTM来处理脑电数据. LSTMs(Long Short Term Memory networks,长短期记忆网络)简称LS ...

  • 计算机视觉与脑电数据等应用于驾驶员的疲劳状态检测综述

    更多技术干货第一时间送达 大家好! 今天Rose小哥分享一篇伍冬睿教授的关于驾驶员疲劳状态检测综述,主要包括非接触式例如计算机视觉以及接触式包括脑电等在驾驶员的疲劳状态检测! 伍老师在机器学习.脑机接 ...

  • letswave7中文教程1:软件安装与脑电数据导入

    更多技术干货第一时间送达 Letswave是一款非常好用的神经生理信号处理分析工具,支持从主流的脑电图放大器中导入数据,为数据预处理和时频域信号分析提供多种功能.而且用户友好的界面使文件管理.批处理操 ...