如何读取LZF压缩的HDF5数据集?

问题描述 投票:0回答:1

我正在尝试读取具有以下属性的数据集:

enter image description here

我正在为Visual Studio 2017使用HDF5编译的静态库。我一直主要使用C ++ API,并且在读取非压缩数据集时没有问题。在这种情况下,我应该如何读取LZF压缩数据集?

c++ hdf5 lzf
1个回答
1
投票

您需要构建lzf过滤器并将其提供给HDF5。h5py repo具有一些有关如何执行此操作的信息。

基本上,您需要克隆h5py存储库,将lzf过滤器构建为共享库,然后将其放入/ usr / local / hdf5 / lib / plugin,并可选地将环境变量指向该位置:

git clone https://github.com/h5py/h5py.git
cd h5py/lzf && gcc -O2 -fPIC -shared lzf/*.c lzf_filter.c -o liblzf_filter.so
mkdir -p /usr/local/hdf5/lib/plugin
cp liblzf_filter.so /usr/local/hdf5/lib/plugin

然后您可以使用h5dumpdataset.hdf5对其进行测试。如果正确检测到并加载了lzf过滤器,则应转储压缩数据集的内容。如果不是,它将显示错误。

© www.soinside.com 2019 - 2024. All rights reserved.