ddn.data.hdf5.filter
HDF5 Filter/Compression Wrapper
This module provides a D wrapper for HDF5 filter and compression operations. Filters are used to transform data during I/O operations, commonly for compression, checksumming, and data transformation.
License
BSD-3-Clause
enum SzipOption
Types 3
enumSzipOption : uint
SZIP options for compression.
ALLOW_K13 = 1Allow encoding with SZIP
CHIP = 2Use chip encoding
EC = 4Use entropy coding (EC)
NN = 32Use nearest neighbor coding (NN)
structFilterInfo
Filter information flags.
Fields
bool canEncodeWhether the filter can encode (compress) databool canDecodeWhether the filter can decode (decompress) datastructFilter
Static wrapper for HDF5 filter and compression operations.
This struct provides static methods for checking filter availability and convenience methods for enabling filters on dataset creation property lists.
Example:
// Check if GZIP is available
if (Filter.isAvailable(H5Z_FILTER.DEFLATE)) {
// Enable GZIP compression on a property list
Filter.enableGzip(dcpl, 6);
}
// Enable a compression pipeline
Filter.enableShuffle(dcpl);
Filter.enableGzip(dcpl, 6);
Filter.enableFletcher32(dcpl);Methods
bool isAvailable(H5Z_filter_t filterId)Checks if a filter is available in the HDF5 library.bool isAvailable(H5Z_FILTER filter)Checks if a filter is available (enum overload).FilterInfo getInfo(H5Z_filter_t filterId)Gets information about a filter's capabilities.FilterInfo getInfo(H5Z_FILTER filter)Gets information about a filter's capabilities (enum overload).void enableGzip(hid_t plistId, uint level = 6)Enables GZIP (DEFLATE) compression on a dataset creation property list.void enableSzip(hid_t plistId, uint optionsMask, uint pixelsPerBlock = 16)Enables SZIP compression on a dataset creation property list.void enableShuffle(hid_t plistId)Enables the shuffle filter on a dataset creation property list.void enableNbit(hid_t plistId)Enables the N-bit filter on a dataset creation property list.void enableScaleOffset(hid_t plistId, H5Z_SO scaleType, int scaleFactor = 0)Enables the scale-offset filter on a dataset creation property list.void enableFletcher32(hid_t plistId)Enables the Fletcher32 checksum filter on a dataset creation property list.void enableStandardPipeline(hid_t plistId, uint gzipLevel = 6)Enables a standard compression pipeline: shuffle + gzip + fletcher32.bool isGzipAvailable()Checks if GZIP compression is available.bool isSzipAvailable()Checks if SZIP compression is available.bool isShuffleAvailable()Checks if the shuffle filter is available.bool isFletcher32Available()Checks if the Fletcher32 filter is available.