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

Uploaded Source

Built Distributions

torchjpeg-0.9.28-cp37-cp37m-manylinux2014_x86_64.whl (4.1 MB view details)

Uploaded CPython 3.7m

File details

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

File metadata

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

File hashes

Hashes for torchjpeg-0.9.28.tar.gz
Algorithm Hash digest
SHA256 dd6512600f0cfc7d5a6ccae73b22896fec9c7d422d7cadd48acac1a2276fb520
MD5 eff2ec5d412e573285ccdf6a293fc7e3
BLAKE2b-256 1298b3f7c44cd67bae468e2fa25267e19cdfb89f3f1dc24de1b24a0a14a803c6

See more details on using hashes here.

File details

Details for the file torchjpeg-0.9.28-cp310-cp310-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for torchjpeg-0.9.28-cp310-cp310-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c2602e56e7d6a53e9590ab0204de99773dcf93692ea0d3436ab3dd903e659fd9
MD5 b1fa9ce5d435c9d4977d9a4ded244eee
BLAKE2b-256 778286f9448a89018e52e906254ca22da7f905489221ff2df0f12b7e7d8f1e91

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for torchjpeg-0.9.28-cp39-cp39-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 768f45aa4bde64bf0ed852a0be5572b3c2fe535d616dea2727e43d336629610b
MD5 b26cbd289118cf5a01eb335c59e6f3f3
BLAKE2b-256 b21b151cb513fb2cdf1ab0ab1a449500c833a999f5370e750e3e14bbb369b1a6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for torchjpeg-0.9.28-cp38-cp38-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d0270e78d2e865ccfb928db7073efd1ab7cc42396e22f253a6bef14f2f4727b5
MD5 542530bca162cbc8ff3ddb7e5c814bd3
BLAKE2b-256 7d0d8635b1ad4ffe8d41d5b6b46341ddb478466234eeaa836a4a74fc3672a242

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for torchjpeg-0.9.28-cp37-cp37m-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2208218efb5644b87e22b2dcf03328ce70eedc54503c06244ab4d08025182695
MD5 2a2399dab22ce6ec653e883b9d8e9e91
BLAKE2b-256 faba1c42352773b8f2e0b9a6c1271ffd240ae5ea5a5cf7c40106b23aad25e44b

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