zoukankan      html  css  js  c++  java
  • Python-EEG工具库MNE-Python详细安装与使用

    本教程为脑机学习者Rose发表于公众号:脑机接口社区(微信号:Brain_Computer).QQ交流群:903290195

    安装Python(推荐安装Anaconda)

    [这里是windows系统下的安装]

    Anaconda用来管理不同版本的Python环境,可以方便地安装、更新、卸载工具包,而且安装时能自动安装相应的依赖包。同时Anaconda自带很多常用软件包以及科学计算包,比如数据分析中需要的Numpy、Pandas等,数据可视化用的matplotlib等,还有Jupyter notebook[Jupyter Notebook 是一个 Web 应用程序,支持实时代码、数学方程、可视化和 Markdown,其用途包括数据清理和转换、数值模拟、统计建模、机器学习等]。所以推荐安装Anaconda,因为它已经包含了Python以及常见要用的Python工具库。

    先到官网下载:https://www.anaconda.com/distribution/
    推荐安装Python3.x版本的Anaconda,因为Python2.x版本即将不被维护了,如下图。

    也可以安装Python3.7以前版本的Anaconda
    (即历史版本:https://repo.anaconda.com/archive/)
    选择Anaconda3因为Anaconda3代表Python3.x。

    具体安装的教程请看:Windows下安装Anaconda3与配置
    安装好一定要记得配置环境

    安装MNE-python

    在控制台中输入:

    pip install -U mne
    

    若是安装过程没出现错误,即表示安装成功

    下载MNE-Python中案例数据

    据交流群中群友反应,官方MNE-Python数据下载特别慢,
    这里提供了MNE-Python官方案例:MNE-sample-data下载。
    下载地址:
    请关注 脑机接口社区 公众号
    后台回复"MNES",获取官方 MNE-sample-data(1.3G)数据,如果失效了,可以在公众号后台联系。

    测试是否安装成功以及简单使用

    先点击如左图红框中,或者在控制台输入如下右图内容回车即可。

    在浏览器中会弹出Jupyter notebook的web应用,操作如下:

    即可生成一个可编辑页面,在编辑页面中编辑如下代码,并点击run,如下图,

    如果能出现下面结果,则表示已安装成功。

    注意,需要将上述下载得到的数据存放的路径赋值给fname。具体看下面代码,我是存放在F盘的data中。

    # 引入python库
    import mne
    from mne.datasets import sample
    import matplotlib.pyplot as plt
    
    # sample的存放地址
    data_path = sample.data_path()
    # 该fif文件存放地址
    fname = 'F:/data/MNE-sample-data/MEG/sample/sample_audvis_raw.fif'
    
    """
    如果上述给定的地址中存在该文件,则直接加载本地文件,
    如果不存在则在网上下载改数据
    """
    raw = mne.io.read_raw_fif(fname)
    
    """
    案例:
    获取10-20秒内的良好的MEG数据
    
    # 根据type来选择 那些良好的MEG信号(良好的MEG信号,通过设置exclude="bads") channel,
    结果为 channels所对应的的索引
    """
    
    picks = mne.pick_types(raw.info, meg=True, exclude='bads')
    t_idx = raw.time_as_index([10., 20.])
    data, times = raw[picks, t_idx[0]:t_idx[1]]
    plt.plot(times,data.T)
    plt.title("Sample channels")
    plt.show()
    

    """
    绘制SSP矢量图
    """
    raw.plot_projs_topomap()
    plt.show()
    

    """
    绘制电极位置
    """
    raw.plot_sensors()
    plt.show()
    

    脑机学习者Rose笔记分享,QQ交流群:903290195
    更多分享,请关注公众号

  • 相关阅读:
    qrcode在手机上不显示的问题
    css 文本溢出省略号
    css解决字段不换行
    vue小程序ref和v-for结合使用得到ref数组的一些问题
    Nginx CORS 跨域资源共享问题
    基于k8s使用helm安装Jenkins
    nginx通过自定义http header 进行服务转发
    基于Kubernetes部署nacos配置中心
    基于Centos 7.8 和Kubeadm部署k8s高可用集群
    Jenkins学习以及配置
  • 原文地址:https://www.cnblogs.com/RoseVorchid/p/11967412.html
Copyright © 2011-2022 走看看