blosc2.schunk.SChunk.postfilter#
- SChunk.postfilter(input_dtype: dtype, output_dtype: dtype = None) None #
Decorator to set a function as a postfilter.
The postfilter function will be executed each time after decompressing blocks of data. It will receive three parameters:
the input ndarray to be read from
the output ndarray to be filled out
the offset inside the SChunk instance where the corresponding block begins (see example below).
- Parameters:
input_dtype¶ (np.dtype) – Data type of the input that will receive the postfilter function.
output_dtype¶ (np.dtype) – Data type of the output that will receive and fill the postfilter function. If None (default) it will be set to
input_dtype
.
- Returns:
out
- Return type:
None
Notes
nthreads must be 1 when decompressing.
The
input_dtype
itemsize must be the same as theoutput_dtype
itemsize.
See also
Examples
# Create SChunk input_dtype = np.dtype(np.int64) cparams = blosc2.CParams(typesize=input_dtype.itemsize) dparams = blosc2.DParams(nthreads=1) schunk = blosc2.SChunk( chunksize=20_000 * input_dtype.itemsize, cparams=cparams, dparams=dparams ) # Create postfilter and associate it to the schunk @schunk.postfilter(input_dtype) def postfilter(input, output, offset): output[:] = offset + np.arange(input.size)