@@ -10,12 +10,12 @@ Czifile, Zarr, kerchunk, and other scientific image input/output packages.
10
10
11
11
Decode and/or encode functions are implemented for Zlib (DEFLATE), GZIP, LZMA,
12
12
ZStandard (ZSTD), Blosc, Brotli, Snappy, BZ2, LZ4, LZ4F, LZ4HC, LZ4H5, LZW,
13
- LZO, LZF, LZFSE, LZHAM, PGLZ (PostgreSQL LZ), RCOMP (Rice), ZFP, Pcodec, SPERR ,
14
- AEC, SZIP, LERC, EER, NPY, BCn, DDS, BMP, PNG, APNG, GIF, TIFF, WebP, QOI ,
13
+ LZO, LZF, LZFSE, LZHAM, PGLZ (PostgreSQL LZ), RCOMP (Rice), ZFP, SZ3, Pcodec ,
14
+ SPERR, AEC, SZIP, LERC, EER, NPY, BCn, DDS, BMP, PNG, APNG, GIF, TIFF, WebP,
15
15
JPEG 8 and 12-bit, Lossless JPEG (LJPEG, LJ92, JPEGLL), JPEG 2000 (JP2, J2K),
16
- JPEG LS, JPEG XL, JPEG XR (WDP, HD Photo), MOZJPEG, AVIF, HEIF ,
17
- RGBE (HDR), Jetraw, DICOMRLE, PackBits, Packed Integers ,
18
- Delta, XOR Delta, Floating Point Predictor, Bitorder reversal,
16
+ JPEG LS, JPEG XL, JPEG XS, JPEG XR (WDP, HD Photo), Ultra HDR (JPEG_R) ,
17
+ MOZJPEG, AVIF, HEIF, QOI, RGBE (HDR), Jetraw, DICOMRLE, PackBits,
18
+ Packed Integers, Delta, XOR Delta, Floating Point Predictor, Bitorder reversal,
19
19
Byteshuffle, Bitshuffle, Float24 (24-bit floating point),
20
20
Quantize (Scale, BitGroom, BitRound, GranularBR), and
21
21
CMS (color space transformations).
@@ -24,7 +24,7 @@ Jenkins lookup3.
24
24
25
25
:Author: `Christoph Gohlke <https://www.cgohlke.com >`_
26
26
:License: BSD 3-Clause
27
- :Version: 2024.6.1
27
+ :Version: 2024.9.22
28
28
:DOI: `10.5281/zenodo.6915978 <https://doi.org/10.5281/zenodo.6915978 >`_
29
29
30
30
Quickstart
@@ -53,60 +53,64 @@ Requirements
53
53
This revision was tested with the following requirements and dependencies
54
54
(other versions may work):
55
55
56
- - `CPython <https://www.python.org >`_ 3.9.13, 3. 10.11, 3.11.9, 3.12.3, 64-bit
57
- - `Numpy <https://pypi.org/project/numpy >`_ 1.26.4
58
- - `numcodecs <https://pypi.org/project/numcodecs/ >`_ 0.12.1
56
+ - `CPython <https://www.python.org >`_ 3.10.11, 3.11.9, 3.12.6, 3.13.0rc2 64-bit
57
+ - `Numpy <https://pypi.org/project/numpy >`_ 2.1.1
58
+ - `numcodecs <https://pypi.org/project/numcodecs/ >`_ 0.13.0
59
59
(optional, for Zarr compatible codecs)
60
60
61
61
Build requirements:
62
62
63
- - `Cython <https://github.com/cython/cython >`_ 3.0.10
63
+ - `Cython <https://github.com/cython/cython >`_ 3.0.11
64
64
- `brotli <https://github.com/google/brotli >`_ 1.1.0
65
65
- `brunsli <https://github.com/google/brunsli >`_ 0.1
66
66
- `bzip2 <https://gitlab.com/bzip2/bzip2 >`_ 1.0.8
67
- - `c-blosc <https://github.com/Blosc/c-blosc >`_ 1.21.5
68
- - `c-blosc2 <https://github.com/Blosc/c-blosc2 >`_ 2.14.4
67
+ - `c-blosc <https://github.com/Blosc/c-blosc >`_ 1.21.6
68
+ - `c-blosc2 <https://github.com/Blosc/c-blosc2 >`_ 2.15.1
69
69
- `charls <https://github.com/team-charls/charls >`_ 2.4.2
70
70
- `giflib <https://sourceforge.net/projects/giflib/ >`_ 5.2.2
71
71
- `jetraw <https://github.com/Jetraw/Jetraw >`_ 23.03.16.4
72
72
- `jxrlib <https://github.com/cgohlke/jxrlib >`_ 1.2
73
- - `lcms2 <https://github.com/mm2/Little-CMS >`_ 2.16.0
73
+ - `lcms2 <https://github.com/mm2/Little-CMS >`_ 2.16
74
74
- `lerc <https://github.com/Esri/lerc >`_ 4.0.4
75
75
- `libaec <https://gitlab.dkrz.de/k202009/libaec >`_ 1.1.3
76
- - `libavif <https://github.com/AOMediaCodec/libavif >`_ 1.0.4
77
- (`aom <https://aomedia.googlesource.com/aom >`_ 3.9 .0,
78
- `dav1d <https://github.com/videolan/dav1d >`_ 1.4.2 ,
76
+ - `libavif <https://github.com/AOMediaCodec/libavif >`_ 1.1.1
77
+ (`aom <https://aomedia.googlesource.com/aom >`_ 3.10 .0,
78
+ `dav1d <https://github.com/videolan/dav1d >`_ 1.4.3 ,
79
79
`rav1e <https://github.com/xiph/rav1e >`_ 0.7.1,
80
- `svt-av1 <https://gitlab.com/AOMediaCodec/SVT-AV1 >`_ 2.1.0)
81
- - `libdeflate <https://github.com/ebiggers/libdeflate >`_ 1.20
82
- - `libheif <https://github.com/strukturag/libheif >`_ 1.17.6
80
+ `svt-av1 <https://gitlab.com/AOMediaCodec/SVT-AV1 >`_ 2.2.1
81
+ `libyuv <https://chromium.googlesource.com/libyuv/libyuv >`_ main)
82
+ - `libdeflate <https://github.com/ebiggers/libdeflate >`_ 1.21
83
+ - `libheif <https://github.com/strukturag/libheif >`_ 1.18.2
83
84
(`libde265 <https://github.com/strukturag/libde265 >`_ 1.0.15,
84
85
`x265 <https://bitbucket.org/multicoreware/x265_git/src/master/ >`_ 3.6)
85
- - `libjpeg-turbo <https://github.com/libjpeg-turbo/libjpeg-turbo >`_ 3.0.3
86
- - `libjxl <https://github.com/libjxl/libjxl >`_ 0.10.2
86
+ - `libjpeg-turbo <https://github.com/libjpeg-turbo/libjpeg-turbo >`_ 3.0.4
87
+ - `libjxl <https://github.com/libjxl/libjxl >`_ 0.11.0
88
+ - `libjxs <https://jpeg.org/jpegxs/software.html >`_ 2.0.2
87
89
- `liblzma <https://github.com/tukaani-project/xz >`_ 5.6.2
88
- - `libpng <https://github.com/glennrp/libpng >`_ 1.6.43
89
- - `libpng-apng <https://sourceforge.net/projects/libpng-apng/ >`_ 1.6.43
90
- - `libtiff <https://gitlab.com/libtiff/libtiff >`_ 4.6.0
90
+ - `libpng <https://github.com/glennrp/libpng >`_ 1.6.44
91
+ - `libpng-apng <https://sourceforge.net/projects/libpng-apng/ >`_ 1.6.44
92
+ - `libtiff <https://gitlab.com/libtiff/libtiff >`_ 4.7.0
93
+ - `libultrahdr <https://github.com/google/libultrahdr >`_ 1.2.0
91
94
- `libwebp <https://github.com/webmproject/libwebp >`_ 1.4.0
92
- - `lz4 <https://github.com/lz4/lz4 >`_ 1.9.4
95
+ - `lz4 <https://github.com/lz4/lz4 >`_ 1.10.0
93
96
- `lzfse <https://github.com/lzfse/lzfse/ >`_ 1.0
94
97
- `lzham_codec <https://github.com/richgel999/lzham_codec/ >`_ 1.0
95
98
- `lzokay <https://github.com/AxioDL/lzokay >`_ db2df1f
96
99
- `mozjpeg <https://github.com/mozilla/mozjpeg >`_ 4.1.5
97
100
- `openjpeg <https://github.com/uclouvain/openjpeg >`_ 2.5.2
98
- - `pcodec <https://github.com/mwlon/pcodec >`_ 0.2.5,
101
+ - `pcodec <https://github.com/mwlon/pcodec >`_ 0.3.1
99
102
- `snappy <https://github.com/google/snappy >`_ 1.2.1
100
- - `sperr <https://github.com/NCAR/SPERR >`_ 0.8.1
103
+ - `sperr <https://github.com/NCAR/SPERR >`_ 0.8.2
104
+ - `sz3 <https://github.com/szcompressor/SZ3 >`_ 3.1.8 (3.2.0 crashes)
101
105
- `zfp <https://github.com/LLNL/zfp >`_ 1.0.1
102
106
- `zlib <https://github.com/madler/zlib >`_ 1.3.1
103
- - `zlib-ng <https://github.com/zlib-ng/zlib-ng >`_ 2.1.6
107
+ - `zlib-ng <https://github.com/zlib-ng/zlib-ng >`_ 2.2.2
104
108
- `zopfli <https://github.com/google/zopfli >`_ 1.0.3
105
109
- `zstd <https://github.com/facebook/zstd >`_ 1.5.6
106
110
107
111
Vendored requirements:
108
112
109
- - `bcdec.h <https://github.com/iOrange/bcdec >`_ 026acf9
113
+ - `bcdec.h <https://github.com/iOrange/bcdec >`_ 3b29f8f
110
114
- `bitshuffle <https://github.com/kiyo-masui/bitshuffle >`_ 0.5.1
111
115
- `cfitsio ricecomp.c <https://heasarc.gsfc.nasa.gov/fitsio/ >`_ modified
112
116
- `h5checksum.c <https://github.com/HDFGroup/hdf5/ >`_ modified
@@ -125,25 +129,37 @@ Vendored requirements:
125
129
126
130
Test requirements:
127
131
128
- - `tifffile <https://pypi.org/project/tifffile >`_ 2024.5.22
132
+ - `tifffile <https://pypi.org/project/tifffile >`_ 2024.9.20
129
133
- `czifile <https://pypi.org/project/czifile >`_ 2019.7.2
130
134
- `zarr <https://github.com/zarr-developers/zarr-python >`_ 2.18.2
131
- - `python-blosc <https://github.com/Blosc/python-blosc >`_ 1.11.1
132
- - `python-blosc2 <https://github.com/Blosc/python-blosc2 >`_ 2.6.2
135
+ - `python-blosc <https://github.com/Blosc/python-blosc >`_ 1.11.2
136
+ - `python-blosc2 <https://github.com/Blosc/python-blosc2 >`_ 2.7.1
133
137
- `python-brotli <https://github.com/google/brotli/tree/master/python >`_ 1.0.9
134
138
- `python-lz4 <https://github.com/python-lz4/python-lz4 >`_ 4.3.3
135
- - `python-lzf <https://github.com/teepark/python-lzf >`_ 0.2.4
136
- - `python-snappy <https://github.com/andrix/python-snappy >`_ 0.7.1
139
+ - `python-lzf <https://github.com/teepark/python-lzf >`_ 0.2.6
140
+ - `python-snappy <https://github.com/andrix/python-snappy >`_ 0.7.2
137
141
- `python-zstd <https://github.com/sergey-dryabzhinsky/python-zstd >`_ 1.5.5.1
138
142
- `pyliblzfse <https://github.com/ydkhatri/pyliblzfse >`_ 0.4.1
139
143
- `zopflipy <https://github.com/hattya/zopflipy >`_ 1.10
140
144
141
145
Revisions
142
146
---------
143
147
148
+ 2024.9.22
149
+
150
+ - Pass 7644 tests.
151
+ - Use libjpeg-turbo for all Lossless JPEG bit-depths if possible (#105).
152
+ - Fix PackBits encoder fails to skip short replication blocks (#107).
153
+ - Fix JPEG2K encoder leaving trailing random bytes (#104).
154
+ - Fix encoding and decoding JPEG XL with custom bitspersample (#102).
155
+ - Improve error handling in lzf_decode (#103).
156
+ - Add Ultra HDR (JPEG_R) codec based on libultrahdr library (#108).
157
+ - Add JPEGXS codec based on libjxs library (source only).
158
+ - Add SZ3 codec based on SZ3 library.
159
+ - Deprecate Python 3.9, support Python 3.13.
160
+
144
161
2024.6.1
145
162
146
- - Pass 7486 tests.
147
163
- Fix segfault in sperr_decode.
148
164
- Fix segfault when strided-decoding into buffers with unexpected shapes (#98).
149
165
- Fix jpeg2k_encoder output buffer too small (#101).
@@ -254,8 +270,8 @@ Only the ``win_amd64`` wheels include all features.
254
270
The ``tiff ``, ``bcn ``, ``dds ``, ``dicomrle ``, ``eer ``, ``lzo ``, ``packints ``,
255
271
and ``jpegsof3 `` codecs are currently decode-only.
256
272
257
- The ``heif `` and ``jetraw `` codecs are distributed as source code only due to
258
- license and possible patent usage issues.
273
+ The ``heif ``, `` jetraw ``, and ``jpegxs `` codecs are distributed as source
274
+ code only due to license and possible patent usage issues.
259
275
260
276
The latest `Microsoft Visual C++ Redistributable for Visual Studio 2015-2022
261
277
<https://docs.microsoft.com/en-US/cpp/windows/latest-supported-vc-redist> `_
@@ -289,7 +305,7 @@ library names and compiler arguments, provide a
289
305
imported and executed during setup.
290
306
See ``setup.py `` for pre-defined ``customize_build `` functions.
291
307
292
- Other Python packages and C libraries providing imaging or compression codecs:
308
+ Other projects providing imaging or compression codecs:
293
309
`Python zlib <https://docs.python.org/3/library/zlib.html >`_,
294
310
`Python bz2 <https://docs.python.org/3/library/bz2.html >`_,
295
311
`Python lzma <https://docs.python.org/3/library/lzma.html >`_,
@@ -336,7 +352,8 @@ Other Python packages and C libraries providing imaging or compression codecs:
336
352
`MAFISC
337
353
<https://wr.informatik.uni-hamburg.de/research/projects/icomex/mafisc> `_,
338
354
`B3D <https://github.com/balintbalazs/B3D >`_,
339
- `libultrahdr <https://github.com/google/libultrahdr >`_.
355
+ `fo-dicom.Codecs <https://github.com/Efferent-Health/fo-dicom.Codecs >`_,
356
+ `jpegli <https://github.com/google/jpegli >`_.
340
357
341
358
Examples
342
359
--------
0 commit comments