The preprocessing pipeline of EEG data from EEG-fMRI paradigm differs from that of regular EEG data, because they are mainly influenced by MRI artefacts. However, after removing the MRI artefacts at the first step, following ones would be the same as the regular pipeline.

Figure above: an example of raw EEG data with MRI artefacts - the very dense part. Only after removing the dominating artefacts could we go on with other preprocessing and analyses.

Environment requirement

  • Matlab (R2015b).
  • EEGLab toolbox (v13.6.5b). Plug-ins needed: BERGEN, FMRIB, AAR.

Testing data

Acquired using an Brain Products system with 64 scalp channels. Standard procedure to setup the EEG system: fs = 5000 Hz, low-pass hard ware filter at 250 Hz. Using SyncBox to sync the EEG and fMRI clocks.

Gathering continuous data for about 10-min.

Pipeline

  1. Removing gradient artefacts: using BERGEN plug-in. Sliding window length for artefact template = 31.
  2. Filtering: first high-pass at 0.5 Hz, then low-pass at 45 Hz - do NOT using band-pass filter, do them separately.
  3. Resample the data to fs = 500 Hz. Resample before QRS detection is beneficial (as far as I can see).
  4. Detect R-peaks, visually check incorrect ones and remove cardiac artefacts: using FMRIB plug-in (optimal basis set: first 3 PCs used). Using Edit -> Event values to delete the incorrect QRS events.
  5. Import channel locations: using '\dipfit2.3\standard_BESA\standard-10-5-cap385.elp'.
  6. Select the data points to be analysed - to save time.
  7. Remove ECG and bad channels (Must done before re-reference).
  8. Re-reference: average reference.
  9. Removing EOG (blinks) and EMG artefacts using AAR plug-in directly.

Note

  • The data is a continuous data. For task data (i.e. you may epoch them first), baseline correction is needed.
  • The AAR plugin is good to detect EOG and EMG artefacts, but sometimes they do not pick up ICs relating to residuals of R-peak artefacts.
  • Considering what mentioned above, an alternative is using 'ICA + ADJUST plug-in' to replace AAR in step 9. This is a better strategy with enough experience on recognising artefact ICs.
  • Removing power interference may be needed sometimes: 'Tools -> Filter the data -> Basic FIR filter -> Lower & Higher: both 50Hz, using Notch filter'.
  • The steps and their order may vary among different groups, while the main parts remain unchanged.
  • Inspired by 52Brain. Thanks a lot to the contributors.

One EEG preprocessing pipeline - EEG-fMRI paradigm的更多相关文章

  1. EEG preprocessing - A Trick Before Doing ICA

    EEGLab maillist My ICs don't have high power in low frequency is b/c I do a small trick here. before ...

  2. EEG preprocess - re-reference EEG预处理 - 重参考

    Source: https://blricrex.hypotheses.org/ressources/eeg/pre-processing-for-erps/re-referencing-eeg-da ...

  3. [Machine Learning with Python] My First Data Preprocessing Pipeline with Titanic Dataset

    The Dataset was acquired from https://www.kaggle.com/c/titanic For data preprocessing, I firstly def ...

  4. Specific sleep staging features in EEG

    Source: MedScape Overview NREM and REM occur in alternating cycles, each lasting approximately 90-10 ...

  5. EEG montage

    Source: WikiPedia - Electroencephalography Since an EEG voltage signal represents a difference betwe ...

  6. Advice for applying Machine Learning

    https://jmetzen.github.io/2015-01-29/ml_advice.html Advice for applying Machine Learning This post i ...

  7. Recover data from reference electrode via EEGLab 用EEGLab恢复参考电极数据

    The data of scanning reference electrode will not show initially. Here is a summary of recovering it ...

  8. EEGLAB数据分析:预处理与后续处理

    来源:http://blog.sina.com.cn/s/blog_13171a73d0102v4zx.html 数据预处理主要包括数据导入.电极定位.电极返回.滤波.去除伪迹.重建参考.分段.叠加平 ...

  9. 使用Flask部署机器学习模型

    Introduction A lot of Machine Learning (ML) projects, amateur and professional, start with an aplomb ...

随机推荐

  1. swift 之 纯代码创建 cell

    初学swift 但是网上只有很多swift用xib创建的cell,就算是有也不是我想要的.今天自己弄了一个不用xib纯代码写的,来上代码 博客地址: https://github.com/liguol ...

  2. GJM :SqlServer语言学习笔记

    ----------------------------SqlServer RDBMS 关系型数据库管理系统 Row/Record 行 Colimn/Attribute 列 Field/Cell 字段 ...

  3. css3之3d导航

    css3的新属性非常不错,目前IE除外其他浏览器都已支持 实现原理:比如元素a在hover时候可以改变元素b的状态. 效果如本农导航,欢迎采用和建议~ a:hover b{ 执行简单动画效果 } HT ...

  4. angular源码分析:$compile服务——指令的编写

    这一期中,我不会分析源码,只是翻译一下"https://docs.angularjs.org/api/ng/service/$compile",当然不是逐字逐句翻译,讲解指令应该如 ...

  5. HTML5学习笔记三 HTML元素、属性、标题、段落简介

    一.HTML 元素 HTML 元素以开始标签起始 HTML 元素以结束标签终止 元素的内容是开始标签与结束标签之间的内容 某些 HTML 元素具有空内容(empty content) 空元素在开始标签 ...

  6. 最详细的hadoop2.2.0集群的HA高可靠的最简单配置

    简介 [from http://www.open-open.com/lib/view/open1390717631132.html] hadoop中的NameNode好比是人的心脏,非常重要,绝对不可 ...

  7. XML 概述 (可扩展标记语言)

    XML:eXtensible Markup Language  可扩展标记语言 概念:可扩展:xml中所有的标签都是自定义的.没有预定义的.        功能:            存储数据   ...

  8. Redis 5种数据结构使用及注意事项

    1优缺点 非常非常的快,有测评说比Memcached还快(当大家都是单CPU的时候),而且是无短板的快,读写都一般的快,所有API都差不多快,也没有MySQL Cluster.MongoDB那样更新同 ...

  9. SQLSERVER2008 R2安装说明

    SQLSERVER2008 R2安装说明一. 安装环境:SQLSERVER2008 R2有32位版本和64位版本,32位版本可以安装在WINDOWS XP及以上操32位和64位的操作系统上,如果服务器 ...

  10. ElasticSearch大数据分布式弹性搜索引擎使用

    阅读目录: 背景 安装 查找.下载rpm包 .执行rpm包安装 配置elasticsearch专属账户和组 设置elasticsearch文件所有者 切换到elasticsearch专属账户测试能否成 ...