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

Uploaded Source

Built Distributions

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

Uploaded CPython 3.7m

File details

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

File metadata

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

File hashes

Hashes for torchjpeg-0.9.18.tar.gz
Algorithm Hash digest
SHA256 35f6d543d1a18eb381edebb7fedf462bf7f730c784250e806e8550d5d20bd2c9
MD5 9b9fd6c6e1cd5e41aff89b219a6791f4
BLAKE2b-256 7b9bbb8768bc26e3f4387fc324a0e445a80a1973d743a5f334e2644d7cf004c3

See more details on using hashes here.

File details

Details for the file torchjpeg-0.9.18-cp39-cp39-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for torchjpeg-0.9.18-cp39-cp39-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a79594359158216c094d94d9c6cb32c7fbcbfbef45825d7805f23095142aa1ba
MD5 4cfaf8c00a42d7c1faa1567b1e1a9958
BLAKE2b-256 df7528283e12f7bd490134671f66ac677a85e32591951d2de3c15d443853d146

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for torchjpeg-0.9.18-cp38-cp38-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0f25b1e285166dd79d50ac1a722460c809f7777152655c5805b677600108560c
MD5 49d8d62b84fbca624f61b15e10914691
BLAKE2b-256 7dc72298d5f40688f52c2a99c07516844c56a6f073c218e16232884f43adf839

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for torchjpeg-0.9.18-cp37-cp37m-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 020aed7aab67ca184d3dd6778ec5aa85d851158cb5f2916fe6ba68efda6b8f2e
MD5 fea47ef5fe2fbbb931aeb2557087d376
BLAKE2b-256 1cabb3269c40f31a45cc336a6a130928d04ef818800738d338464ba5b0c94b29

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