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

Uploaded Source

Built Distributions

File details

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

File metadata

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

File hashes

Hashes for torchjpeg-0.9.32.dev1.tar.gz
Algorithm Hash digest
SHA256 6837ded717253b3b465245ff6ff4760bac35e3c90d2fa224ce983f21be9a4479
MD5 4f4d6c4ecf5e57bbb5e4cb307c02370e
BLAKE2b-256 23adc3af1daa5c603bf619e9e192a0b07b4a818445c915b3ad90910c918c4a11

See more details on using hashes here.

File details

Details for the file torchjpeg-0.9.32.dev1-cp311-cp311-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for torchjpeg-0.9.32.dev1-cp311-cp311-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 31b5fe77dea6f5f49e7e2e1d1f4521635854c25b1c81e5c28df8954f0ca95423
MD5 876746c9e37874aab11873793649a2f9
BLAKE2b-256 449ae99794e70a2a4e68859c6c25f129933706c123cd879d7349260d2a5bdb51

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for torchjpeg-0.9.32.dev1-cp310-cp310-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a0232e946c95ed8c35f7ad03c91e94e8b219f366eafe0a51bd007e8751e42a41
MD5 e6bafeb81845795de7979c7fa47a1edf
BLAKE2b-256 67e5e3fc9751907f49f631e86b21904f7dcb860b4feec5cf1d69b7adb693a795

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for torchjpeg-0.9.32.dev1-cp39-cp39-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 37296267b0e1f67503ab45263826a53a5a94b02d999f77496af1ec826fb1161d
MD5 4f0ef4898319ae5ec31aceab6ba7446e
BLAKE2b-256 7ae003e5841de972b84ea2f0a7bdd648d2bd5d2aedb3228677b14d7e9961dcdd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for torchjpeg-0.9.32.dev1-cp38-cp38-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6cff5b139a183183943af503c006a5e1a746c2b94f052bfcc3f7ee2484405c0d
MD5 2fb2db4cdc0761541d5364f59775fdda
BLAKE2b-256 66e05e3f9f9d09aaac19483ae9fb23974527e5cf725a2566896d135c6465f6b3

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