@@ -7,19 +7,21 @@ Czifile, Zarr, kerchunk, and other scientific image input/output packages.
7
7
8
8
Decode and/or encode functions are implemented for Zlib (DEFLATE), GZIP,
9
9
ZStandard (ZSTD), Blosc, Brotli, Snappy, LZMA, BZ2, LZ4, LZ4F, LZ4HC, LZ4H5,
10
- LZW, LZF, LZFSE, LZHAM, PGLZ (PostgreSQL LZ), RCOMP (Rice), ZFP, AEC, SZIP,
11
- LERC, EER, NPY, BCn, DDS, PNG, APNG, GIF, TIFF, WebP, QOI, JPEG 8 and 12-bit,
12
- Lossless JPEG (LJPEG, LJ92, JPEGLL), JPEG 2000 (JP2, J2K), JPEG LS, JPEG XL,
13
- JPEG XR (WDP, HD Photo), MOZJPEG, AVIF, HEIF, RGBE (HDR), Jetraw, PackBits,
14
- Packed Integers, Delta, XOR Delta, Floating Point Predictor, Bitorder reversal,
15
- Byteshuffle, Bitshuffle, Quantize (Scale, BitGroom, BitRound, GranularBR),
16
- Float24 (24-bit floating point), and CMS (color space transformations).
10
+ LZW, LZO, LZF, LZFSE, LZHAM, PGLZ (PostgreSQL LZ), RCOMP (Rice), ZFP, SPERR,
11
+ AEC, SZIP, LERC, EER, NPY, BCn, DDS, BMP, PNG, APNG, GIF, TIFF, WebP, QOI,
12
+ JPEG 8 and 12-bit, Lossless JPEG (LJPEG, LJ92, JPEGLL), JPEG 2000 (JP2, J2K),
13
+ JPEG LS, JPEG XL, JPEG XR (WDP, HD Photo), MOZJPEG, AVIF, HEIF, RGBE (HDR),
14
+ Jetraw, DICOMRLE, PackBits, Packed Integers, Delta, XOR Delta,
15
+ Floating Point Predictor, Bitorder reversal, Byteshuffle, Bitshuffle,
16
+ Float24 (24-bit floating point),
17
+ Quantize (Scale, BitGroom, BitRound, GranularBR), and
18
+ CMS (color space transformations).
17
19
Checksum functions are implemented for crc32, adler32, fletcher32, and
18
20
Jenkins lookup3.
19
21
20
22
:Author: `Christoph Gohlke <https://www.cgohlke.com >`_
21
23
:License: BSD 3-Clause
22
- :Version: 2023.9.18
24
+ :Version: 2024.1.1
23
25
:DOI: `10.5281/zenodo.6915978 <https://doi.org/10.5281/zenodo.6915978 >`_
24
26
25
27
Quickstart
@@ -48,51 +50,53 @@ Requirements
48
50
This revision was tested with the following requirements and dependencies
49
51
(other versions may work):
50
52
51
- - `CPython <https://www.python.org >`_ 3.9.13, 3.10.11, 3.11.4 , 3.12.0rc , 64-bit
52
- - `Numpy <https://pypi.org/project/numpy >`_ 1.25 .2
53
- - `numcodecs <https://pypi.org/project/numcodecs/ >`_ 0.11.0
53
+ - `CPython <https://www.python.org >`_ 3.9.13, 3.10.11, 3.11.7 , 3.12.1 , 64-bit
54
+ - `Numpy <https://pypi.org/project/numpy >`_ 1.26 .2
55
+ - `numcodecs <https://pypi.org/project/numcodecs/ >`_ 0.12.1
54
56
(optional, for Zarr compatible codecs)
55
57
56
58
Build requirements:
57
59
58
- - `Cython <https://github.com/cython/cython >`_ 0.29.36
60
+ - `Cython <https://github.com/cython/cython >`_ 3.0.7
59
61
- `brotli <https://github.com/google/brotli >`_ 1.1.0
60
62
- `brunsli <https://github.com/google/brunsli >`_ 0.1
61
63
- `bzip2 <https://gitlab.com/bzip2/bzip2 >`_ 1.0.8
62
64
- `c-blosc <https://github.com/Blosc/c-blosc >`_ 1.21.5
63
- - `c-blosc2 <https://github.com/Blosc/c-blosc2 >`_ 2.10.3
65
+ - `c-blosc2 <https://github.com/Blosc/c-blosc2 >`_ 2.12.0
64
66
- `charls <https://github.com/team-charls/charls >`_ 2.4.2
65
67
- `giflib <https://sourceforge.net/projects/giflib/ >`_ 5.2.1
66
- - `jetraw <https://github.com/Jetraw/Jetraw >`_ 22.02 .16.1
68
+ - `jetraw <https://github.com/Jetraw/Jetraw >`_ 23.03 .16.4
67
69
- `jxrlib <https://github.com/cgohlke/jxrlib >`_ 1.2
68
- - `lcms <https://github.com/mm2/Little-CMS >`_ 2.15
70
+ - `lcms2 <https://github.com/mm2/Little-CMS >`_ 2.16.0
69
71
- `lerc <https://github.com/Esri/lerc >`_ 4.0.0
70
- - `libaec <https://gitlab.dkrz.de/k202009/libaec >`_ 1.0.6
71
- - `libavif <https://github.com/AOMediaCodec/libavif >`_ 1.0.1
72
- (`aom <https://aomedia.googlesource.com/aom >`_ 3.7 .0,
73
- `dav1d <https://github.com/videolan/dav1d >`_ 1.2.1 ,
72
+ - `libaec <https://gitlab.dkrz.de/k202009/libaec >`_ 1.1.2
73
+ - `libavif <https://github.com/AOMediaCodec/libavif >`_ 1.0.3
74
+ (`aom <https://aomedia.googlesource.com/aom >`_ 3.8 .0,
75
+ `dav1d <https://github.com/videolan/dav1d >`_ 1.3.0 ,
74
76
`rav1e <https://github.com/xiph/rav1e >`_ 0.6.6,
75
- `svt-av1 <https://gitlab.com/AOMediaCodec/SVT-AV1 >`_ 1.7 .0)
77
+ `svt-av1 <https://gitlab.com/AOMediaCodec/SVT-AV1 >`_ 1.8 .0)
76
78
- `libdeflate <https://github.com/ebiggers/libdeflate >`_ 1.19
77
- - `libheif <https://github.com/strukturag/libheif >`_ 1.16.2
78
- (`libde265 <https://github.com/strukturag/libde265 >`_ 1.0.12 ,
79
+ - `libheif <https://github.com/strukturag/libheif >`_ 1.17.6
80
+ (`libde265 <https://github.com/strukturag/libde265 >`_ 1.0.15 ,
79
81
`x265 <https://bitbucket.org/multicoreware/x265_git/src/master/ >`_ 3.5)
80
- - `libjpeg-turbo <https://github.com/libjpeg-turbo/libjpeg-turbo >`_ 3.0.0
81
- - `libjxl <https://github.com/libjxl/libjxl >`_ 0.8.2
82
- - `liblzma <https://git.tukaani.org/?p=xz.git >`_ 5.4.4
82
+ - `libjpeg-turbo <https://github.com/libjpeg-turbo/libjpeg-turbo >`_ 3.0.1
83
+ - `libjxl <https://github.com/libjxl/libjxl >`_ 0.9.0
84
+ - `liblzma <https://git.tukaani.org/?p=xz.git >`_ 5.4.5
83
85
- `libpng <https://github.com/glennrp/libpng >`_ 1.6.40
84
86
- `libpng-apng <https://sourceforge.net/projects/libpng-apng/ >`_ 1.6.40
85
87
- `libtiff <https://gitlab.com/libtiff/libtiff >`_ 4.6.0
86
88
- `libwebp <https://github.com/webmproject/libwebp >`_ 1.3.2
87
89
- `lz4 <https://github.com/lz4/lz4 >`_ 1.9.4
88
90
- `lzfse <https://github.com/lzfse/lzfse/ >`_ 1.0
89
91
- `lzham_codec <https://github.com/richgel999/lzham_codec/ >`_ 1.0
90
- - `mozjpeg <https://github.com/mozilla/mozjpeg >`_ 4.1.1
92
+ - `lzokay <https://github.com/AxioDL/lzokay >`_ db2df1f
93
+ - `mozjpeg <https://github.com/mozilla/mozjpeg >`_ 4.1.5
91
94
- `openjpeg <https://github.com/uclouvain/openjpeg >`_ 2.5.0
92
95
- `snappy <https://github.com/google/snappy >`_ 1.1.10
93
- - `zfp <https://github.com/LLNL/zfp >`_ 1.0.0
96
+ - `sperr <https://github.com/NCAR/SPERR >`_ 0.8.0
97
+ - `zfp <https://github.com/LLNL/zfp >`_ 1.0.1
94
98
- `zlib <https://github.com/madler/zlib >`_ 1.3
95
- - `zlib-ng <https://github.com/zlib-ng/zlib-ng >`_ 2.1.3
99
+ - `zlib-ng <https://github.com/zlib-ng/zlib-ng >`_ 2.1.5
96
100
- `zopfli <https://github.com/google/zopfli >`_ 1.0.3
97
101
- `zstd <https://github.com/facebook/zstd >`_ 1.5.5
98
102
@@ -117,33 +121,46 @@ Vendored requirements:
117
121
118
122
Test requirements:
119
123
120
- - `tifffile <https://pypi.org/project/tifffile >`_ 2023.9.18
124
+ - `tifffile <https://pypi.org/project/tifffile >`_ 2023.12.9
121
125
- `czifile <https://pypi.org/project/czifile >`_ 2019.7.2
122
126
- `zarr <https://github.com/zarr-developers/zarr-python >`_ 2.16.1
123
127
- `python-blosc <https://github.com/Blosc/python-blosc >`_ 1.11.1
124
- - `python-blosc2 <https://github.com/Blosc/python-blosc2 >`_ 2.2.7
128
+ - `python-blosc2 <https://github.com/Blosc/python-blosc2 >`_ 2.4.0
125
129
- `python-brotli <https://github.com/google/brotli/tree/master/python >`_ 1.0.9
126
130
- `python-lz4 <https://github.com/python-lz4/python-lz4 >`_ 4.3.2
127
131
- `python-lzf <https://github.com/teepark/python-lzf >`_ 0.2.4
128
132
- `python-snappy <https://github.com/andrix/python-snappy >`_ 0.6.1
129
133
- `python-zstd <https://github.com/sergey-dryabzhinsky/python-zstd >`_ 1.5.5.1
130
134
- `pyliblzfse <https://github.com/ydkhatri/pyliblzfse >`_ 0.4.1
131
- - `zopflipy <https://github.com/hattya/zopflipy >`_ 1.8
135
+ - `zopflipy <https://github.com/hattya/zopflipy >`_ 1.9
132
136
133
137
Revisions
134
138
---------
135
139
140
+ 2024.1.1
141
+
142
+ - Pass 7420 tests.
143
+ - Add 8/24-bit BMP codec.
144
+ - Add SPERR codec based on SPERR library.
145
+ - Add LZO decoder based on lzokay library.
146
+ - Add DICOMRLE decoder.
147
+ - Enable float16 in CMS codec.
148
+ - Enable MCT for lossless JPEG2K encoder (#88).
149
+ - Ignore pad-byte in PackBits decoder (#86).
150
+ - Fix heif_write_callback error message not set.
151
+ - Require lcms2 2.16 with issue-420 fixes.
152
+ - Require libjxl 0.9, libaec 1.1, Cython 3.
153
+
136
154
2023.9.18
137
155
138
- - Pass 7110 tests.
139
- - Rebuild with updated dependencies fixes CVE-2023-4863.
156
+ - Rebuild with updated dependencies fixes CVE-2024-4863.
140
157
141
158
2023.9.4
142
159
143
160
- Map avif_encode level parameter to quality (breaking).
144
161
- Support monochrome images in avif_encode.
145
162
- Add numthreads parameter to avif_decode (fix imread of AVIF).
146
- - Add experimental quantize filter (BitGroom, BitRound, GBR) via nc4var.c.
163
+ - Add quantize filter (BitGroom, BitRound, GBR) via nc4var.c.
147
164
- Add LZ4H5 codec.
148
165
- Support more BCn compressed DDS fourcc types.
149
166
- Require libavif 1.0.
@@ -200,58 +217,6 @@ Revisions
200
217
201
218
2022.12.24
202
219
203
- - Fix PNG codec error handling.
204
- - Fix truncated transferfunctions in cms_profile (#57).
205
- - Fix exceptions not raised in cdef functions not returning Python object.
206
-
207
- 2022.12.22
208
-
209
- - Require libtiff 4.5.
210
- - Require libavif 0.11.
211
- - Change jpegxl_encode level parameter to resemble libjpeg quality (breaking).
212
- - Add LZFSE codec via lzfse library.
213
- - Add LZHAM codec via lzham library.
214
- - Fix AttributeError in cms_profile (#52).
215
- - Support gamma argument in cms_profile (#53).
216
- - Raise limit of TIFF pages to 1048576.
217
- - Use libtiff thread-safe error/warning handlers.
218
- - Add option to specify filters and strategy in png_encode.
219
- - Add option to specify integrity check type in lzma_encode.
220
- - Fix DeprecationWarning with NumPy 1.24.
221
- - Support Python 3.11 and win-arm64.
222
-
223
- 2022.9.26
224
-
225
- - Support JPEG XL multi-channel (planar grayscale only) and multi-frame.
226
- - Require libjxl 0.7.
227
- - Switch to Blosc2 API and require c-blosc 2.4 (breaking).
228
- - Return LogLuv encoded TIFF as float32.
229
- - Add RGBE codec via rgbe.c.
230
-
231
- 2022.8.8
232
-
233
- - Drop support for libjpeg.
234
- - Fix encoding JPEG in RGB color space.
235
- - Require ZFP 1.0.
236
-
237
- 2022.7.31
238
-
239
- - Add option to decode WebP as RGBA.
240
- - Add option to specify WebP compression method.
241
- - Use exact lossless WebP encoding.
242
-
243
- 2022.7.27
244
-
245
- - Add LZW encoder.
246
- - Add QOI codec via qoi.h (#37).
247
- - Add HEIF codec via libheif (source only; #33).
248
- - Add JETRAW codec via Jetraw demo (source only).
249
- - Add ByteShuffle codec, a generic version of FloatPred.
250
- - Replace imcd_floatpred by imcd_byteshuffle (breaking).
251
- - Use bool type in imcd (breaking).
252
-
253
- 2022.2.22
254
-
255
220
- …
256
221
257
222
Refer to the CHANGES file for older revisions.
@@ -302,8 +267,8 @@ Wheels may not be available for all platforms and all releases.
302
267
303
268
Only the ``win_amd64 `` wheels include all features.
304
269
305
- The ``tiff ``, ``bcn ``, ``dds ``, ``eer ``, ``packints ``, and `` jpegsof3 `` codecs
306
- are currently decode-only.
270
+ The ``tiff ``, ``bcn ``, ``dds ``, ``dicomrle ``, ``eer ``, `` lzo ``, `` packints ``,
271
+ and `` jpegsof3 `` codecs are currently decode-only.
307
272
308
273
The ``heif `` and ``jetraw `` codecs are distributed as source code only due to
309
274
license and possible patent usage issues.
@@ -340,8 +305,8 @@ specific extensions, for example:
340
305
--global-option="--skip-bitshuffle" ``
341
306
342
307
The ``apng ``, ``avif ``, ``jetraw ``, ``jpegls ``, ``jpegxl ``, ``lerc ``,
343
- ``lz4f ``, ``lzfse ``, ``lzham ``, ``mozjpeg ``, ``zfp ``, and `` zlibng ``
344
- extensions are disabled by default when building from source.
308
+ ``lz4f ``, ``lzfse ``, ``lzham ``, ``lzo ``, `` mozjpeg ``, ``sperr ``, `` zfp ``,
309
+ and `` zlibng `` extensions are disabled by default when building from source.
345
310
346
311
To modify other build settings such as library names and compiler arguments,
347
312
provide a ``imagecodecs_distributor_setup.customize_build `` function, which
@@ -390,7 +355,7 @@ Other Python packages and C libraries providing imaging or compression codecs:
390
355
`Wuffs <https://github.com/google/wuffs >`_,
391
356
`TinyDNG <https://github.com/syoyo/tinydng >`_,
392
357
`OpenJPH <https://github.com/aous72/OpenJPH >`_,
393
- `SPERR <https://github.com/NCAR/SPERR >`_ (GPL ),
358
+ `Grok <https://github.com/GrokImageCompression/grok >`_ (AGPL ),
394
359
`MAFISC
395
360
<https://wr.informatik.uni-hamburg.de/research/projects/icomex/mafisc> `_,
396
361
`B3D <https://github.com/balintbalazs/B3D >`_.
0 commit comments