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

Uploaded Source

Built Distributions

File details

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

File metadata

  • Download URL: torchjpeg-0.9.26.dev1.tar.gz
  • Upload date:
  • Size: 1.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.15 CPython/3.10.7 Linux/5.4.109+

File hashes

Hashes for torchjpeg-0.9.26.dev1.tar.gz
Algorithm Hash digest
SHA256 ea59c8321b729cfc27a2c2fe02efac6d045bdf7125063793eb150cfc1cf8bdaf
MD5 c99f057b7a5992f3bf92a484a7b440ae
BLAKE2b-256 5ba65e9c91b5ca2b14db41b8b924a13141fdb4d3104257b860932eae89526fe3

See more details on using hashes here.

File details

Details for the file torchjpeg-0.9.26.dev1-cp310-cp310-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for torchjpeg-0.9.26.dev1-cp310-cp310-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1f1b92dd76e4be0a129b53ab1cc94681153b883365e8195356261f635651546f
MD5 1ed558d9775626d3f3424a540ab6522e
BLAKE2b-256 b5481bc384dfea5de4eae5017e71a1f25fa759bee23c36f82b99d04b90e8bfb0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for torchjpeg-0.9.26.dev1-cp39-cp39-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e5d74bc7e71e73acce4c540ebd039fa95b787c648e81738de7160e25d54f95fd
MD5 c2f67c9c178e18efa15f6b745c25d7fa
BLAKE2b-256 ef8e0d3f78de8e7cf867bd3680f6d3c51c2ffb39a078cba92e1cd390e1965ad5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for torchjpeg-0.9.26.dev1-cp38-cp38-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2c8916a9aa958364281d0ef4d0ae83d3091932e2cf77479f772241138bba11c9
MD5 22435fce788651f9d399e1086b114a9d
BLAKE2b-256 c534ddb197dd035ad0bb5ef85f8c204598cd56a33ceb9c12e549fbc555d56196

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for torchjpeg-0.9.26.dev1-cp37-cp37m-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7da6c839dad4054c5da035cce4d40afd4787d2a0ae862cc3822dd9def0e43093
MD5 d2994afbeebcb9edebf3d56db8866087
BLAKE2b-256 a0c163f5bdd45563b9641541449f200c484dd896f8d6ab0b36c81ff913e5dd18

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