Skip to main content

Utilities for JPEG data access and manipulation in pytorch

Project description

TorchJPEG

pipeline status coverage report PyPI License

This package contains a C++ extension for pytorch that interfaces with libjpeg to allow for manipulation of low-level JPEG data. By using libjpeg, quantization results are guaranteed to be consistent with other applications, like image viewers or MATLAB, which use libjpeg to compress and decompress images. This is useful because JPEG images can be effected by round-off errors or slight differences in the decompression procedure. Besides this, this library can be used to read and write DCT coefficients, functionality which is not available from other python interfaces.

Besides this, the library includes many utilities related to JPEG compression, many of which are written using native pytorch code meaning they can be differentiated or GPU accelerated. The library currently includes packages related to the DCT, quantization, metrics, and dataset transformations.

LIBJPEG

Currently builds against: libjpeg-9d. libjpeg is statically linked during the build process. See http://www.ijg.org/files/ for libjpeg source. The full libjpeg source is included with the torchjpeg source code and will be built during the install process (for a source or sdist install).

Install

Packages are hosted on pypi. Install using pip, note that only Linux builds are supported at the moment.

pip install torchjpeg

If there is demand for builds on other platforms it may happen in the future. Also note that the wheel is intended to be compatible with manylinux2014 which means it should work on modern Linux systems, however, because of they way pytorch works, we can't actually build it using all of the manylinux2014 tools. So compliance is not guaranteed and YMMV.

torchjpeg is currently in pre-beta development and consists mostly of converted research code. The public facing API, including any and all names of
parameters and functions, is subject to change at any time. We follow semver for versioning and will adhere to that before making and breaking
changes.

Citation

If you use our code in a publication, we ask that you cite the following paper (bibtex):

Max Ehrlich, Larry Davis, Ser-Nam Lim, and Abhinav Shrivastava. "Quantization Guided JPEG Artifact Correction." In Proceedings of the European Conference on Computer Vision, 2020

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

torchjpeg-0.9.16.dev1.tar.gz (1.0 MB view details)

Uploaded Source

Built Distributions

File details

Details for the file torchjpeg-0.9.16.dev1.tar.gz.

File metadata

  • Download URL: torchjpeg-0.9.16.dev1.tar.gz
  • Upload date:
  • Size: 1.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.4 CPython/3.9.1 Linux/4.19.78-coreos

File hashes

Hashes for torchjpeg-0.9.16.dev1.tar.gz
Algorithm Hash digest
SHA256 1ea512a63de661cbaf8de8e6459f4ab231594c686962b0fae9cc82f02875d10c
MD5 ccec78c7abe3da174eb5845ddf0957a7
BLAKE2b-256 093cadd1f33a93101f627057cbaf39b72431250d03dc47450e037910f0eaa417

See more details on using hashes here.

File details

Details for the file torchjpeg-0.9.16.dev1-cp39-cp39-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for torchjpeg-0.9.16.dev1-cp39-cp39-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 643068118700d50ecb9b48aadb9d9d32d70614ea341e47ebd69bea0900b3dd80
MD5 d20b957c468528ae2d4fa23d3526c108
BLAKE2b-256 22e06ac0e6189f934ce7d36d655c510f1d2c1f40269ddaecb27d093aeedeefd6

See more details on using hashes here.

File details

Details for the file torchjpeg-0.9.16.dev1-cp38-cp38-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for torchjpeg-0.9.16.dev1-cp38-cp38-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2927d54ad0c4a3612c78b3ea840756fec84977698bbd50b92452452b0c78c4be
MD5 acbe6e9b67c00c7983212990cddb1810
BLAKE2b-256 1464792374418fa1a115cd61564a14980fa6c07de3999e23f39b17de89116383

See more details on using hashes here.

File details

Details for the file torchjpeg-0.9.16.dev1-cp37-cp37m-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for torchjpeg-0.9.16.dev1-cp37-cp37m-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 93e5910341d2fae728132d70fb0d403da5f402326205902c12bc8a60c9b65a48
MD5 88f18f6626f7b3cbb2f4347aece6a563
BLAKE2b-256 b063b8c3575f17fe06885add4f31f4da3a70d402fbbf26dce0b76de5005f24cf

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page