Main Content

Filters and Compression (H5Z)

内联数据过滤器、数据压缩

描述

使用 MATLAB® HDF5 过滤器和压缩接口 H5Z 访问本地环境中有关过滤器的信息。

函数

H5Z.filter_avail

确定过滤器是否可用

如果 filterID 指定的过滤器可用于应用程序,则 output = H5Z.filter_avail(filterID) 返回正值,否则返回 0filterID 可以指定为以下值之一或其等效数值:

  • "H5Z_FILTER_DEFLATE"

  • "H5Z_FILTER_SHUFFLE"

  • "H5Z_FILTER_FLETCHER32"

  • "H5Z_FILTER_SZIP"

  • "H5Z_FILTER_NBIT"

  • "H5Z_FILTER_SCALEOFFSET"

对于自定义第三方过滤器,请指定 filterID 作为由 The HDF Group 分配的数值过滤器标识符。

H5Z.get_filter_info

有关过滤器的信息

configFlags = H5Z.get_filter_info(filterID) 检索有关其标识符指定的过滤器的信息。目前,返回的信息是过滤器的配置标志,表示是否配置了过滤器以便对数据解码、对数据编码、执行这两项操作之一或同时执行这两项操作。在按位与运算中,configFlags 应与这些 HDF5 常量值一起使用:

  • "H5Z_FILTER_CONFIG_ENCODE_ENABLED" - 为过滤器启用编码。

  • "H5Z_FILTER_CONFIG_DECODE_ENABLED" - 为过滤器启用解码。

  • 0 - 编码和解码功能不可用。

如果生成值为 0,编码或解码功能不可用。

对于自定义第三方过滤器,请指定 filterID 作为由 The HDF Group 分配的数值过滤器标识符。

示例

全部展开

确定 shuffle 过滤器是否可用。

bool = H5Z.filter_avail("H5Z_FILTER_SHUFFLE");

确定是否对 deflate 过滤器启用编码。

flags = H5Z.get_filter_info("H5Z_FILTER_DEFLATE");
func = H5ML.get_constant_value("H5Z_FILTER_CONFIG_ENCODE_ENABLED");
enabled = bitand(flags,func) > 0;

版本历史记录

在 R2006a 之前推出