P300数据学习
import pandas as pd
import numpy as np
from scipy.io import loadmat# AAS011R06.mat
m = loadmat('Data/P300/v2/AA001.mat')
m{'__header__': b'MATLAB 5.0 MAT-file, Platform: PCWIN, Created on: Thu Nov 29 14:36:17 2001',
'__version__': '1.0',
'__globals__': [],
'run': array([[3],
[3],
[3],
...,
[8],
[8],
[8]], dtype=uint8),
'trial': array([[ 0],
[ 0],
[ 0],
...,
[192],
[192],
[192]], dtype=uint8),
'sample': array([[ 0],
[ 1],
[ 2],
...,
[28829],
[28830],
[28831]], dtype=uint16),
'signal': array([[-1136, -416, -592, ..., -816, -496, -624],
[-1456, -912, -752, ..., -48, 336, -48],
[-1888, -912, -480, ..., -240, 0, 64],
...,
[-1952, -2416, -2336, ..., -1376, -2096, -1168],
[-2784, -2912, -2912, ..., 144, -800, -48],
[-1872, -1168, -1264, ..., 1008, 304, 816]], dtype=int16),
'TargetCode': array([[0],
[0],
[0],
...,
[0],
[0],
[0]], dtype=uint8),
'ResultCode': array([[0],
[0],
[0],
...,
[0],
[0],
[0]], dtype=uint8),
'StimulusTime': array([[51992],
[51992],
[51992],
...,
[54165],
[54165],
[54165]], dtype=uint16),
'Feedback': array([[0],
[0],
[0],
...,
[0],
[0],
[0]], dtype=uint8),
'IntertrialInterval': array([[1],
[1],
[1],
...,
[1],
[1],
[1]], dtype=uint8),
'Active': array([[1],
[1],
[1],
...,
[1],
[1],
[1]], dtype=uint8),
'SourceTime': array([[52082],
[52082],
[52082],
...,
[54256],
[54256],
[54256]], dtype=uint16),
'RunActive': array([[1],
[1],
[1],
...,
[1],
[1],
[1]], dtype=uint8),
'Recording': array([[1],
[1],
[1],
...,
[1],
[1],
[1]], dtype=uint8),
'IntCompute': array([[0],
[0],
[0],
...,
[0],
[0],
[0]], dtype=uint8),
'Running': array([[1],
[1],
[1],
...,
[1],
[1],
[1]], dtype=uint8)}P300 范式
6 x 6的字符矩阵
注意力一次集中到一个字符上
行和列以5.7Hz频率连续随机增强
6次行,6次列,分别有一行和一列包含目标字符,此时引起的反应,类似P300
v2数据采集
三个时间段的同一个受试者的信号,240Hz
每个会话:包含多个运行
每次运行:用户集中在一系列字符中。
每个字符:
矩阵显示时间2.5s,此时字符强度相等 ==> 视为空白
每一行和每一列被随机增强100ms,增强后,空白75ms
每个字符重复12组增强15次,共计180次增强
2.5s空白
每次实验的单个通道信号量 = {2.5s + [(100+75) x 180 x 字符数]/1000 + 2.5s }x 240 Hz
v2信号处理文件(样例)
文件名:example.m
该程序比较session10-run01数据集中,对目标与非目标刺激(即,包含/未包含所需字符的刺激)的响应
文件名:testclass.m
使用一个非常简单的分类器来预测session12-run01中单词的第一个字符
它在增强后使用Cz和310ms处的一个样本进行分类。 它确定目标字符为振幅最高的字符(Cz / 310ms)
它针对session12中的单词01中的第一个字符执行此操作
最后更新于
这有帮助吗?