Image transformation, compression, and decompression codecs
Project description
Imagecodecs is a Python library that provides block-oriented, in-memory buffer transformation, compression, and decompression functions for use in the tifffile, czifile, and other scientific imaging modules.
Decode and/or encode functions are currently implemented for Zlib DEFLATE, ZStandard, Blosc, LZMA, BZ2, LZ4, LZW, LZF, ZFP, NPY, PNG, WebP, JPEG 8-bit, JPEG 12-bit, JPEG SOF3, JPEG LS, JPEG 2000, JPEG XR, PackBits, Packed Integers, Delta, XOR Delta, Floating Point Predictor, and Bitorder reversal.
- Author:
- Organization:
Laboratory for Fluorescence Dynamics. University of California, Irvine
- License:
3-clause BSD
- Version:
2019.2.22
Requirements
This release has been tested with the following requirements and dependencies (other versions may work):
libjpeg-turbo 2.0.2 (8 and 12-bit)
Required for testing:
Notes
Imagecodecs is currently developed, built, and tested on Windows only.
The API is not stable yet and might change between revisions.
Works on little-endian platforms only.
Python 2.7 and 32-bit are deprecated.
The Microsoft Visual C++ Redistributable Packages are required on Windows.
Refer to the imagecodecs/licenses folder for 3rd party library licenses.
This software is based in part on the work of the Independent JPEG Group.
This software includes modified versions of dcm2niix’s jpg_0XC3.cpp and openjpeg’s color.c.
To install the requirements for building imagecodecs from source code on current Debian based Linux distributions, run:
$ sudo apt-get install build-essential python3-dev cython3 python3-setuptools python3-pip python3-wheel python3-numpy libz-dev libblosc-dev liblzma-dev liblz4-dev libzstd-dev libpng-dev libwebp-dev libbz2-dev libopenjp2-7-dev libjpeg62-turbo-dev libjxr-dev liblcms2-dev libtiff-dev
The imagecodecs package can be challenging to build from source code. Consider using the imagecodecs_lite package instead, which does not depend on external third-party C libraries and provides a subset of image codecs for the tifffile library: LZW, PackBits, Delta, XOR Delta, Packed Integers, Floating Point Predictor, and Bitorder reversal.
Other Python packages providing imaging or compression codecs:
Revisions
- 2019.2.22
Pass 2610 tests. Move codecs without 3rd-party C library dependencies to imagecodecs_lite.
- 2019.2.20
Rebuild with updated dependencies.
- 2019.1.20
Add more pixel formats to JPEG XR codec. Add JPEG XR encoder.
- 2019.1.14
Add ZFP codecs via zfp library (WIP). Add numpy NPY and NPZ codecs. Fix some static codechecker errors.
- 2019.1.1
Update copyright year. Do not install package if Cython extension fails to build. Fix compiler warnings.
- 2018.12.16
Reallocate LZW buffer on demand. Ignore integer type output arguments for codecs returning images.
- 2018.12.12
Enable decoding of subsampled J2K images via conversion to RGB. Enable decoding of large JPEG using patched libjpeg-turbo. Switch to Cython 0.29, language_level=3.
- 2018.12.1
Add J2K encoder (WIP). Use ZStd content size 1 MB if it cannot be determined. Use logging.warning instead of warnings.warn or print.
- 2018.11.8
Decode LSB style LZW. Fix last byte not written by LZW decoder (bug fix). Permit unknown colorspaces in JPEG codecs (e.g. CFA used in TIFF).
- 2018.10.30
Add JPEG 8-bit and 12-bit encoders. Improve color space handling in JPEG codecs.
- 2018.10.28
Rename jpeg0xc3 to jpegsof3. Add JPEG LS codec via libcharls. Fix missing alpha values in jxr_decode. Fix decoding JPEG SOF3 with multiple DHTs.
- 2018.10.22
Add Blosc codecs via libblosc.
- 2018.10.21
Builds on Ubuntu 18.04 WSL. Include liblzf in srcdist. Do not require CreateDecoderFromBytes patch to jxrlib.
- 2018.10.18
Improve jpeg_decode wrapper.
- 2018.10.17
Add JPEG SOF3 decoder based on jpg_0XC3.cpp.
- 2018.10.10
Add PNG codecs via libpng. Add option to specify output colorspace in JPEG decoder. Fix Delta codec for floating point numbers. Fix XOR Delta codecs.
- 2018.9.30
Add LZF codecs via liblzf.
- 2018.9.22
Add WebP codecs via libwebp.
- 2018.8.29
Add PackBits encoder.
- 2018.8.22
Add link library version information. Add option to specify size of LZW buffer. Add JPEG 2000 decoder via openjpeg. Add XOR Delta codec.
- 2018.8.16
Link to libjpeg-turbo. Support Python 2.7 and Visual Studio 2008.
- 2018.8.10
Initial alpha release. Add LZW, PackBits, PackInts and FloatPred decoders from tifffile.c module. Add JPEG and JPEG XR decoders from czifile.pyx module.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Hashes for imagecodecs-2019.2.22-pp372-pp372-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1bd4908e1cddcb05face284052e1efe8eb71cfff6768a81e37be768364d474ec |
|
MD5 | cec74a0ed11da35ddbc47fd25b42050d |
|
BLAKE2b-256 | 59cc02950be150c92772a009b5483a26e8c257eb8dc9e1e39d922348d2d0592d |
Hashes for imagecodecs-2019.2.22-pp370-pp370-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 540d8bdc506a3f2fd22974b38a7176de53b4855f4ec4d688e8a14cdea20d9792 |
|
MD5 | a61e58dc7a58ca6d034e773d0f2d5a3d |
|
BLAKE2b-256 | 47c79956de13f5b3c198dd424068113c0a6169549a5b19a11d264188ce73034a |
Hashes for imagecodecs-2019.2.22-pp271-pypy_41-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 726707a7daf3758b016159e4f5eb63f96c84c94c139f06bc7cd3d06dce6a7e79 |
|
MD5 | 1fb58d3999914ddee91ae90197190047 |
|
BLAKE2b-256 | e5bb3bd2b0bdb3b182a21a1852e8993cf3ea607978bc71bf4a78554ea488aa10 |
Hashes for imagecodecs-2019.2.22-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b22c5661fccfb8542226c13030dfb577e527e8494e2a82431a56f630f735682c |
|
MD5 | 4a259c9aca3203d8890e756a1a11c392 |
|
BLAKE2b-256 | f58ec104c2524b14aa747220e58e3d37271dd68ffad58035ae69bfdfb62de7a5 |
Hashes for imagecodecs-2019.2.22-cp37-cp37m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3e12b72f37b88b7c77d326d41e3cedc8281ab714395bdb5913d55b24f1fc0f58 |
|
MD5 | 23af837498d45c175d2d1e556d49b7bf |
|
BLAKE2b-256 | 34137b54d3abb925770ef4dd522686f42c74e1823d4fcf1d848b142aba76aead |
Hashes for imagecodecs-2019.2.22-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3050c08846c4c50b6073cd2add1e7f8fa2213630c55b8c9bad3c7f9a0a529f4f |
|
MD5 | acc46ea3fe50256ace746f75f7105d7e |
|
BLAKE2b-256 | 97954e5b80c7a205b311bb0284d2c1a93a910202f6aa2801eae0f0f1354a8154 |
Hashes for imagecodecs-2019.2.22-cp36-cp36m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e623868367ce8b3d18d5d998fcbead74874f97856ba3f379dad28ebfd3a8c50c |
|
MD5 | d2bd692301fbab2d30787b8122e17b83 |
|
BLAKE2b-256 | 6a16f06a637c7f9d488661cc524023f9243fda8c45c8640e9ef28df4e81ff598 |
Hashes for imagecodecs-2019.2.22-cp35-cp35m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a0b0fe7786ce0f7a2a43de68041b7bb1b5149ff74c1d37e21e0475fe7e7f7b66 |
|
MD5 | 9406660d311a8104ec67def48c491907 |
|
BLAKE2b-256 | 9ef2bd03a58353c356a80921f2ca8bc594bb3d2ddf27fd8ab59b11b0a6b4559e |
Hashes for imagecodecs-2019.2.22-cp35-cp35m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | be5b7db035c702a5e36a3e86c35b580dee10b959a972ce09d5fad527ce6d3892 |
|
MD5 | 36b8b5460473edce3641b1a2df5e26fa |
|
BLAKE2b-256 | 6bcc20be117d006dedae4ccf720b73b9b7e8e26d0d648ee9d23ab69fb3a767d0 |
Hashes for imagecodecs-2019.2.22-cp27-cp27m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4ff926c6b33d81421f2097f6f57d65c10611066f9f02b454bca1d3064936690a |
|
MD5 | dd13ba0a6f84e521e53812cf447d31ff |
|
BLAKE2b-256 | b7643ca07fe7916dd454da97b95c15d126a3d28158f5b072d0a91eead81b4c3e |
Hashes for imagecodecs-2019.2.22-cp27-cp27m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d1509950a4444dc7f3ba1b02773031dde250279ba1b798684e7fa926daa4aeee |
|
MD5 | e044d3849e0e614fcdae82c9c1beac38 |
|
BLAKE2b-256 | aaf88c1e93f7865abe772ab3d926d0a7ffce6218d7eae4ceb11fca0e48014a61 |