使用ICA去除32通道脑电数据中的眼电

news/2024/11/23 5:37:02/

使用ICA去除32通道脑电数据中的眼电

% 去除听音乐1的脑电数据眼电
% Method: ICA
% 1.导入数据 32通道 1000hz采样率
% 2. 数据预处理(50hz陷波+0.3hz-250hz带通,可以自己改参数调整)
% 3. ICA(下载的FastICA_25)
% 4. 计算ICA的各ICs分量与原水平、垂直眼电信号相关性
% 5. 将眼电噪声的ICs置零后重建成没有眼电的脑电信号
% 注意代码中设置断点
% copyright:seu-ww
% 2019-05-07
clc;clear all;close all;
MUSIC1PATH=‘D:\Share\music_breath_2018\1-EEG\MUSIC2’;
SAVEPATH1 = ‘D:\Share\music_breath_2018\1-EEG\CLEAN_DATA\MUSIC2’;
data_list = dir(MUSIC1PATH);
eeg_number = length(data_list)-2;
fs = 1000;
for i =3:48 %45名被试的数据
tic;
filename = data_list(i).name;
datapath = [MUSIC1PATH,filename];
num_med = regexp(data_list(i).name,‘D’,‘split’);
subjectID = str2num(cell2mat(num_med(1)));
load(datapath);
data_org = data_music2([1:18,20:23,25:36]?;% M1、M2

%% Preprocessing(Notch + bandpass)
Wo = 50/(fs/2); BW = Wo/35;
[b,a] = iirnotch(Wo,BW);
data_notch= filtfilt(b,a,(double(data_org(:?))’)’;
[b,a] = butter(3,[0.3/(fs/2) 250/(fs/2)],‘bandpass’);
data_bp= filtfilt(b,a,data_notch’)’;%使用零相移数字滤波器(IIR)
L=length(data_bp);t=(0:(L-1))/fs;

%% ICA
level = 32; %ICA分层数,最高设为脑电的通道数
[Zica,A,W] = fastica(data_bp,‘numOfIC’, level);
plot_ICAs(Zica,fs,10);
%% Correlation with VEOG and HEOG
for k=1:(length(Zica(:,1)))
s=corrcoef(data_bp(33,:)’,Zica(k,:)’);
ss1(k) = s(2,1);
s=corrcoef(data_bp(34,:)’,Zica(k,:)’);
ss2(k) = s(2,1);
end
figure;plot(abs(ss1));title(‘各ICs与原水平眼电信号相关性’);
figure;plot(abs(ss2));title(‘各ICs与原垂直眼电信号相关性’);

%% Reconstruction
rec_no = [3,7] %这里输入的是与原垂直眼电信号相关性最高的IC分量
Zica_del = Zica; Zica_eye = zeros(size(Zica,1),size(Zica,2));
Zica_del(rec_no,:) = 0; Zica_eye(rec_no,:) = Zica(rec_no,:);
data_rec = AZica;
data_clean = A
Zica_del;
data_eog = A*Zica_eye;
%去眼电前后对比(以FP1通道的数据为例)
figure;plot(t,data_bp(1,:),‘k’);title('32通道ICA去眼电前EEG信号 ');
figure;plot(t,data_clean(1,:),‘k’);title('32通道ICA去眼电后EEG信号 ');
data_music2=data_clean;
save([SAVEPATH1,filename],‘data_music2’); %保存数据
end

%画ICA分解后ICs分量的函数plot_ICAs
% 画出ICA 独立分量
% Zica : ICs
% fs : fs
% d : offset
function plot_ICAs(Zica,fs,d)
level = length(Zica(:,1));
L = length(Zica(1,:));
t=(0:(L-1))/fs;
figure;
offs= 1:1:level;
d= 10;
for ics = 1:level
plot(t,Zica(ics,:) + offs(ics)d,‘k’);hold on;
end
ylim([0 d
(level+1)]); title(‘Independent Components’);
IC = regexp(sprintf('IC-%02d ‘,[1:level]),’ ',‘split’);
set(gca,‘YTick’,[d:d:d*(level)],‘YTickLabel’,IC(1:end));
end

ICA分解后的独立分量在这里插入图片描述
3明显为垂直眼电,7明显为水平眼电。
去眼电前后的脑电信号对比:
在这里插入图片描述
在这里插入图片描述


http://www.ppmy.cn/news/942537.html

相关文章

论文阅读:AAAI2022 PFD_Net :Pose-guided Feature Disentangling for Occluded Person Re-identification Based

Pose-guided Feature Disentangling for Occluded Person Re-identification Based on Transformer Tao Wang 北京大学机器感知深圳研究生院 论文:https://arxiv.org/abs/2112.02466 源码:https://github.com/WangTaoAs/PFD_Net Abstract: 被…

成都爱尔樊映川:视网膜上视觉最敏锐部位,出问题怎么办

视网膜后极部有一直径约 2mm 的浅漏斗状小凹陷区,该区含有丰富的叶黄素呈现椭圆形黄色,称为“黄斑”,是视网膜上视觉最敏锐的部位。 它主要与精细视觉及色觉等视功能有关。正常情况下,外界物体光线进入眼内,投影在黄斑…

慧创脑科学第八期直播精彩回顾丨fNIRS与神经退行性疾病

「慧创脑科学」第8期直播活动圆满结束,此次直播主题聚焦在神经退行性疾病领域,探索fNIRS在神经退行性疾病领域的临床应用。通过对fNIRS在神经领域的临床实践及研究的相关分析,深入了解该联用技术的应用现状及前景。 本期,我们邀请…

文献阅读(47)—— 遗传数据研究近视和眼压与视网膜脱落的关系

文献阅读(47)—— 遗传数据研究近视和眼压与视网膜脱落的关系 文章目录 文献阅读(47)—— 遗传数据研究近视和眼压与视网膜脱落的关系遗传数据研究近视和眼压与视网膜脱落的关系先验知识/知识拓展文章结构文章结果1. 视网膜脱落风…

视杯和视盘分割及分类方法对青光眼诊断的探讨

摘要: 在过去几年中,视网膜眼底图像的使用已增加用于诊断视网膜疾病。 青光眼是一种导致眼睛视神经受损的疾病,导致视力下降。 一旦确诊,该病不能完全治疗,但及时检测可进一步控制青光眼的效果。 通常通过分析视神经盘…

二叉树与概率论---草稿1

1 二叉树 二叉树的定义 1、二叉树的种类 满二叉树:如果⼀棵⼆叉树只有度为0的结点和度为2的结点,并且度为0的结点在同⼀层上,则这棵⼆叉树为满⼆叉树。 这棵⼆叉树为满⼆叉树,深度为k的有2^k-1个节点的⼆叉树。 完全二叉树&…

Python巅峰日

大贤者福尔经过长期的研究后发现,人的体力、智商和情商和运气具有周期性,会有高峰和低估,并且呈现出周期性变化的规律。在每一个周期中会有一天是高峰,这一天人会在某个方便表现的非常出色。尽管如此,由于这些周期的长…

【安装教程】【FormatFactory(格式工厂)】(附带安装包下载)

【推荐原因】: 好用,免费,能剪辑视频,能去水印,还能录屏。 【安装教程】: 点击安装下载好的 FormatFactory_setup.exe 安装包 (笔者CSDN下载资源的 FormatFactory_setup.exe安装包&#xff0…