【问题标题】:Open h5 file to use with MNE python打开 h5 文件以与 MNE python 一起使用
【发布时间】:2021-03-31 00:55:43
【问题描述】:

我目前正在与虚拟大脑 (www.thevirtualbrain.org) 合作并模拟一些 EEG 数据。为了进一步分析,我想在 python 中打开这个模拟时间序列,以便我可以使用 MNE 包对其进行分析。但是,我只能以 h5 格式存储来自 The Virtual Brain 的 EEG 数据,而且我无法弄清楚如何在 python 中打开这个文件,以便我可以使用它来使用 MNE 对其进行分析。

我可以在 Python 中读取 h5 文件并查看其描述:

文件键 数据结构 时间结构

但我不知道如何实际使用这些数据再次将其分析为 EEG。

有人知道怎么做吗?

谢谢!

赛琳

【问题讨论】:

    标签: hdf5 h5py


    【解决方案1】:

    “键”是 HDF5 节点(组或数据集)的名称。要精通,您需要了解 HDF5 文件架构。花一些时间在 The HDF Group 上查看 HDF5 文档。我推荐这个文档:Introduction to HDF5

    根据上面的输出,您有 2 个数据集:

    1. HDF5 数据集“data”:形状 (512, 2, 63, 1),类型“
    2. HDF5 数据集“时间”:形状 (512,),类型“

    h5py 将数据集检索为 NumPy 数组。 shape是数组的shape属性,type是dtype属性。 (熟悉 NumPy 也很有帮助。)在这种情况下,所有值都是浮点数。两个数据集都有 512 行,但维度不同。我怀疑time 数据集包含您的时间值。您必须探索 data 数据集以了解该数据的组织方式。

    这是根据您问题中的详细信息检索数据的伪代码。 data_arrtime_arr 是关联数据集的 NumPy 数组。

    with h5py.File('yourfile.h5','r') as h5f:
        data_arr = h5f['data'][:]
        time_arr = h5f['time'][:]
    

    一旦您将数据作为 NumPy 数组,您就可以使用 Python 和 NumPy 操作来处理它。这应该让你开始。试一试,看看你能用data_arrtime_arr 做什么。注意:这是 HDF5 和 h5py 的快速概述。这个主题还有很多。

    注意我使用了 Python 的上下文管理器 with/as: 而不是简单的 h5py.File() 调用。首选,并为您管理文件关闭操作(无需h5f.close()

    【讨论】:

      猜你喜欢
      • 2022-10-06
      • 2017-05-19
      • 2011-06-13
      • 2011-02-13
      • 1970-01-01
      • 2021-09-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多