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, 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
- Version:
2018.12.16
Requirements
This release has been tested with the following requirements and dependencies (other versions may work):
libjpeg-turbo 2.0.1 (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 3.4 are deprecated.
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 on 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
Other Python packages providing imaging or compression codecs:
Revisions
- 2018.12.16
Pass 1537 tests. 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
Pass 1323 tests. 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
Pass 396 tests. 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-2018.12.16-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | af5665aaa86ffa4d537b51e4836993b38bd0e133bfc491a5e60c1d835ff3619f |
|
MD5 | e9713e0ef61213788b939fee6e30ce19 |
|
BLAKE2b-256 | 7b0bed889e28eddaa333fb0c17d4a68fcb043fe390e4b899aa1255e9729e1054 |
Hashes for imagecodecs-2018.12.16-cp37-cp37m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b0bddee96b738fe2a84056f5dcd1eabaa9b62416241e531b2ae34be1e69929fe |
|
MD5 | 0f8de930d9b7c735951de7e069c172b6 |
|
BLAKE2b-256 | 725a82a9bd4b0716e8da31f3b44c7793fdef2b96a1ec1f90dfcf67e59646d46b |
Hashes for imagecodecs-2018.12.16-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 568c865c743acaeec1ae2d236f4a43273299ba324a0ec92f4b7b6ae12946bd6e |
|
MD5 | c8967396aff950b293583b3065c09b00 |
|
BLAKE2b-256 | b01e1e13081131b93eeb7c723a9d0756d945eeef1cc449c48d10d1b27edb3f95 |
Hashes for imagecodecs-2018.12.16-cp36-cp36m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2d3d4dd07b48fee582ef9bff4ba5f4265c7d743896899caea013a24e94b7f991 |
|
MD5 | 6655955614f4fb6d8d5ae1bf32ffcae0 |
|
BLAKE2b-256 | e68b2cf3b2c6f5c2563390d6f537f7eeb1d4d95a41646ac4218bbf3e2e623881 |
Hashes for imagecodecs-2018.12.16-cp35-cp35m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 57e29b4fc353d62f15f246225bfb060c161910065ba93637746c8fa8c1a778f0 |
|
MD5 | a35e080070143fa4fa87c633b7dcfc37 |
|
BLAKE2b-256 | b8269e28b522f27cfc4852d72fd968a1b69118089881ed5f0bed8521db151733 |
Hashes for imagecodecs-2018.12.16-cp35-cp35m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a6a12d3c5e7b9e04a3335fbad4e91a77ef37d4e23b4f46d2a78d3a4fcf3992ee |
|
MD5 | ac01aae9caba6ef6be572bd93f5bc048 |
|
BLAKE2b-256 | 113f89000ee3ae4c89f6de03ead4a51f77e7809c3c15dceb681f843663dc109a |
Hashes for imagecodecs-2018.12.16-cp34-cp34m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4cd9bf89ff1b49db7de10793b7f3d399325b54d43d1aa3ea4928e4d8a2bca573 |
|
MD5 | 67d3ec2aa01305ad095ba76933dc8c07 |
|
BLAKE2b-256 | 31cd42c6b9bd15c373dd4479e85699463594e011e06fa42da999d3033f9e8c07 |
Hashes for imagecodecs-2018.12.16-cp34-cp34m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9d30e7b91f059cf52b17fd3c674b1162d9e20792e0a3b608e1a4bee64dda67ab |
|
MD5 | d82f905cf602e4a9422d76c1dbeccb19 |
|
BLAKE2b-256 | 21c1540faabf41f87736f9c59e6729640ded62014ae0a4c2b33a1f97c56b6fab |
Hashes for imagecodecs-2018.12.16-cp27-cp27m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9336136fba518dbcd187f682031efa3b0dde850706e8a65c5fb68586293cb998 |
|
MD5 | a6a52d126fbd3392db4d1a8447dae867 |
|
BLAKE2b-256 | ec43ae53964041093ea3544ed6c8217d87fa666b17b2051d70cf567a8bb52b4d |
Hashes for imagecodecs-2018.12.16-cp27-cp27m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 895dd698b4581bb5d94a5f242e0f3e874a6eddb5bff0e712b599ad8f7e04b2c1 |
|
MD5 | 73861f5e1ca4ba151248f1d023329afb |
|
BLAKE2b-256 | 5f2d9bb2950f724acc1c4d433aee1a878dd050171268368a6dac84d023f81eac |