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.9.tar.gz (1.0 MB view details)

Uploaded Source

Built Distributions

torchjpeg-0.9.9-cp38-cp38-manylinux2014_x86_64.whl (4.0 MB view details)

Uploaded CPython 3.8

torchjpeg-0.9.9-cp37-cp37m-manylinux2014_x86_64.whl (3.9 MB view details)

Uploaded CPython 3.7m

torchjpeg-0.9.9-cp36-cp36m-manylinux2014_x86_64.whl (3.9 MB view details)

Uploaded CPython 3.6m

File details

Details for the file torchjpeg-0.9.9.tar.gz.

File metadata

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

File hashes

Hashes for torchjpeg-0.9.9.tar.gz
Algorithm Hash digest
SHA256 b73bbe1cde83e1eed79a38816f0c6a51e5a449048bb5960240c32f8d7b15b4f9
MD5 7d5217ce73fa76e0ad957d3e2d7b7b57
BLAKE2b-256 1eadfbf1754b1c6a8a1b5308f26e1e0eb9ee098178887701ab473c42c2606d29

See more details on using hashes here.

File details

Details for the file torchjpeg-0.9.9-cp38-cp38-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for torchjpeg-0.9.9-cp38-cp38-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a2d60e20ce4a004cde5c6a02d1094e9d343ec2890e24abd95d5de8ba7212dd27
MD5 277225fa0f05401166b125ce25b9dd00
BLAKE2b-256 29bb4d5c653c0c1c08fc31ad5054a917f0ff6d21b22c10541070db54bff6c4be

See more details on using hashes here.

File details

Details for the file torchjpeg-0.9.9-cp37-cp37m-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for torchjpeg-0.9.9-cp37-cp37m-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9c67192066bd0a1907771507e9b9a6d50a240ccc682ed8e6b8003a4701b3225d
MD5 b2adec08002461b62261ce1f0979dcd5
BLAKE2b-256 78d4f4c2fad39cef795b9c7bf0688f93044321b4fc7e34c12e5d0d6de21e8376

See more details on using hashes here.

File details

Details for the file torchjpeg-0.9.9-cp36-cp36m-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for torchjpeg-0.9.9-cp36-cp36m-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2066d3c74f617c7ecceae9534dc791795015037b62036433a9e89ceda23c4fc2
MD5 3a8b9221317e51dd8f9718594ecd1c92
BLAKE2b-256 8887e711ce69995854b24fbfd1d6e8fe1b3c2a57578ef066a5e6ca6511fd530f

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