Как читать сжатый LZF набор данных HDF5? - PullRequest
0 голосов
/ 17 июня 2020

Я пытаюсь прочитать набор данных со следующими свойствами:

enter image description here

Я использую скомпилированную библиотеку stati c HDF5 для Visual Studio 2017. Я в основном использую C ++ API и не испытывал проблем с чтением несжатых наборов данных. Как мне прочитать сжатый набор данных LZF в этом случае?

1 Ответ

1 голос
/ 17 июня 2020

Вам необходимо создать фильтр lzf и сделать его доступным для HDF5.
Репозиторий h5py содержит некоторую информацию о том, как это сделать.

В основном вам нужно клонировать репозиторий 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

Затем вы можете протестировать его с помощью h5dump dataset.hdf5. Если фильтр lzf правильно обнаружен и загружен, он должен выгрузить содержимое сжатого набора данных. В противном случае отобразится ошибка.

...