Skip to content

v2024.9.22

Latest
Compare
Choose a tag to compare
@cgohlke cgohlke released this 21 Sep 19:20

Image transformation, compression, and decompression codecs

Imagecodecs is a Python library that provides block-oriented, in-memory buffer transformation, compression, and decompression functions for use in Tifffile, Czifile, Zarr, kerchunk, and other scientific image input/output packages.

Decode and/or encode functions are implemented for Zlib (DEFLATE), GZIP, LZMA, ZStandard (ZSTD), Blosc, Brotli, Snappy, BZ2, LZ4, LZ4F, LZ4HC, LZ4H5, LZW, LZO, LZF, LZFSE, LZHAM, PGLZ (PostgreSQL LZ), RCOMP (Rice), ZFP, SZ3, Pcodec, SPERR, AEC, SZIP, LERC, EER, NPY, BCn, DDS, BMP, PNG, APNG, GIF, TIFF, WebP, JPEG 8 and 12-bit, Lossless JPEG (LJPEG, LJ92, JPEGLL), JPEG 2000 (JP2, J2K), JPEG LS, JPEG XL, JPEG XS, JPEG XR (WDP, HD Photo), Ultra HDR (JPEG_R), MOZJPEG, AVIF, HEIF, QOI, RGBE (HDR), Jetraw, DICOMRLE, PackBits, Packed Integers, Delta, XOR Delta, Floating Point Predictor, Bitorder reversal, Byteshuffle, Bitshuffle, Float24 (24-bit floating point), Quantize (Scale, BitGroom, BitRound, GranularBR), and CMS (color space transformations). Checksum functions are implemented for crc32, adler32, fletcher32, and Jenkins lookup3.

Changes

  • Use libjpeg-turbo for all Lossless JPEG bit-depths if possible (#105).
  • Fix PackBits encoder fails to skip short replication blocks (#107).
  • Fix JPEG2K encoder leaving trailing random bytes (#104).
  • Fix encoding and decoding JPEG XL with custom bitspersample (#102).
  • Improve error handling in lzf_decode (#103).
  • Add Ultra HDR (JPEG_R) codec based on libultrahdr library (#108).
  • Add JPEGXS codec based on libjxs library (source only).
  • Add SZ3 codec based on SZ3 library.
  • Deprecate Python 3.9, support Python 3.13.