4

只是想知道我可以对组/数据集名称有多自由,或者我是否需要使名称简短(因此可读性降低)。这适用于包含许多组和数据集的 HDF5 文件,这些组和数据集具有许多重复名称。一些 XML API 将字符串实习作为优化,HDF 这样做是有意义的,但我无法从在线文档中判断是否这样做。

4

3 回答 3

2

不,不明确。HDF5 文件格式没有为对象标头(存储组和数据集名称的位置)指定任何压缩。实际写入磁盘是通过几个低级文件驱动程序之一处理的。我不知道其中是否有任何字符串实习,但可以编写自己的文件驱动程序。如果您需要这样做,虚拟文件​​层上的技术说明可能会有所帮助。

于 2013-04-25T12:28:09.027 回答
2

尽管 HDF5 库不为组中的链接名称提供字符串实习,但在 HDF5 库的 1.8.x 版本中,可以使用 H5Pset_filter() 调用压缩包含每个组的链接名称的堆,传入“组创建属性列表”(GCPL),然后将其传递给创建组的调用。请注意,文件创建属性列表 (FCPL) 是组创建属性列表的子类,可以传递给 H5Pset_filter 以允许压缩根组的堆。

见:http ://www.hdfgroup.org/HDF5/doc/RM/RM_H5P.html#Property-SetFilter

于 2013-07-20T20:16:30.417 回答
0

我相信将您想要的任何字符串作为组或数据集名称放在 HDF5 中是可靠的。例如(来自 Python)

import h5py

h5file = h5py.File("newfile.h5", "w")
h5file.create_group("an incredibly descriptive, maybe even obnoxious group name")

h5grp  = h5file["an incredibly descriptive, maybe even obnoxious group name"]
h5dset = h5grp.create_dataset("all kinds of useful things", [100,100])

print h5dset

h5file.close()

或者,您可能希望使用更粗略的组和数据集名称,以及详细的字符串值属性来解释数据的含义。

于 2012-02-14T17:05:53.850 回答