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

Uploaded Source

Built Distributions

torchjpeg-0.9.12-cp38-cp38-manylinux2014_x86_64.whl (3.8 MB view details)

Uploaded CPython 3.8

torchjpeg-0.9.12-cp37-cp37m-manylinux2014_x86_64.whl (3.8 MB view details)

Uploaded CPython 3.7m

torchjpeg-0.9.12-cp36-cp36m-manylinux2014_x86_64.whl (3.8 MB view details)

Uploaded CPython 3.6m

File details

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

File metadata

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

File hashes

Hashes for torchjpeg-0.9.12.tar.gz
Algorithm Hash digest
SHA256 17658a2fe041ddf36961b765aeba1447621f6b575046958d079e2d3ec0143515
MD5 d6efd20b4d0742e0c939e74cde198abb
BLAKE2b-256 902b686dab947bfe5dfad32432263248905df49373dcae76d4180d3202d8fe0a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for torchjpeg-0.9.12-cp38-cp38-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 326ab8c2f3d8a40c7d829d2a06d05dcbb33b13de52ee23e36a217bf2fb700490
MD5 916a1efed911f4b1ffb040167537142c
BLAKE2b-256 a082a7e08c7510b460450534e249abcf0913a509cfdf2d45ae82de2e92f913ca

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for torchjpeg-0.9.12-cp37-cp37m-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 81d9201ec27708613ba58d4daa201fad7947584269291e72e2f35b67793c79d9
MD5 f090314ac87d55bf8cf7f386f0cdbb04
BLAKE2b-256 c2f7168637a9a49a2d06a5d2db4e7af51342d29d72fadde6a49c02945eefcae7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for torchjpeg-0.9.12-cp36-cp36m-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 dbc505dec9e53e7318922653c3f83bf5a750f85eeb006c56b6aafb2efe6b5c28
MD5 facb6b6eb86acc505d040b2bf4228ed6
BLAKE2b-256 4f6d53f3f08eae650088d342385f4b0696369d0a73e1a1a1cfc46bd2c98d6d05

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