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

Uploaded Source

Built Distributions

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

Uploaded CPython 3.7m

File details

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

File metadata

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

File hashes

Hashes for torchjpeg-0.9.24.tar.gz
Algorithm Hash digest
SHA256 b14a354e79759503c53572f279c9866e8266b5fd7f1c07f8556a7d9bef61c096
MD5 d32b226cfeee7e2f5ba03e7cff04c83d
BLAKE2b-256 ee12c908ea2a514e8a8ee1f3464246618b01c2b45c74f9fafe6463cee7d69e18

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for torchjpeg-0.9.24-cp310-cp310-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 688212b1ee492ed1b82d0c8e9075542d64b91c00cfe53095e17440713dd0a229
MD5 ff34fba717dc49449a01830da29a1adb
BLAKE2b-256 9099487d5b715955d3fad05da06cae3d879bc577c5ec379149ae92cf315b9c25

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for torchjpeg-0.9.24-cp39-cp39-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e45ccb3b65b1740d129860d7de8911dbf4ac36c144fd6655d791e480c067d63f
MD5 896574d24a4552b7b814ece32dc28e06
BLAKE2b-256 765ce0cfda0b8e2ba79290d62304f82d6c98a8a4829fdbcc75522ebe3b7eb552

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for torchjpeg-0.9.24-cp38-cp38-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 04577cee8914ec0b29fbfa5a8943bff803c55874a8be52175915c57732710d65
MD5 68d3befe403d49c875189983e9327416
BLAKE2b-256 3d9e80cb2107bcb686e40147082b64d848272d4d2168930c20cf0ee24b5d0163

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for torchjpeg-0.9.24-cp37-cp37m-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4e21d1cc0de61f15b6cd358512d075a13c8b4871e1ae5a4dcf919c286a3a34d2
MD5 34b883bce9687ba2f2b086803721f9b3
BLAKE2b-256 ca07fcad9d81615fc36a2ae353a88e5f32d7644500e46043add5dddfc7397d15

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