我正在尝试使用 HDF5 存储时间序列 EEG 数据。这些文件可能很大并且包含许多通道,我喜欢 HDF5 文件格式的特性(惰性 I/O、动态压缩、mpi 等)。
与 EEG 数据有关的一件常见事情是将数据部分标记为“有趣”。我正在努力寻找一种将这些标记存储在文件中的好方法。我看到支持将同一数据集链接到其他组等的软/硬链接 - 但我看不到任何链接到数据集部分的方法。
例如,假设我有一个名为 EEG 的数据集,其中包含睡眠数据。假设我运行了一个算法,该算法需要一段时间来处理数据并生成与 REM 睡眠周期相对应的索引。将这些索引范围存储在 HDF5 文件中的最佳方法是什么?
我现在能想到的最好的方法是创建一个包含三列的数据集——第一列是一个字符串,包含事件的标签(“REM1”),第二列/第三列分别包含开始/结束索引. 我不喜欢这个解决方案的唯一原因是因为 HDF5 数据集的大小相当固定——如果我后来决定错误识别了一段时间的 REM 睡眠并且我需要添加/删除该事件,那么数据集大小将需要更改(并删除数据集/使用新大小重新创建它是次优的)。再加上我可能有很多事件(想象标记眨眼事件),这变得更加成问题。
我更想知道 HDF5 文件中是否有我不知道的功能,因为这似乎是人们想要做的一件很常见的事情。