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

Uploaded Source

Built Distributions

torchjpeg-0.9.20-cp39-cp39-manylinux2014_x86_64.whl (4.1 MB view details)

Uploaded CPython 3.9

torchjpeg-0.9.20-cp38-cp38-manylinux2014_x86_64.whl (4.1 MB view details)

Uploaded CPython 3.8

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

Uploaded CPython 3.7m

File details

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

File metadata

  • Download URL: torchjpeg-0.9.20.tar.gz
  • Upload date:
  • Size: 1.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.4 CPython/3.9.5 Linux/4.19.78-coreos

File hashes

Hashes for torchjpeg-0.9.20.tar.gz
Algorithm Hash digest
SHA256 1c4aac486f3105ccd5475134ff99ed1ec360e35ebf893ff9e2cc7aa726268eff
MD5 3524a7a8370f674117417ff5fa1f3df8
BLAKE2b-256 1daf345b749771f65f8b1feae3b9e0b0059a94494a78bb6a3baa8d382a636c08

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for torchjpeg-0.9.20-cp39-cp39-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3a06b8757e4e23db3aaa5d8273170976277ee48c825d198449c711311383e54c
MD5 7e510c182836b1536a1e7792058583aa
BLAKE2b-256 90fe191fdd5b735c966876b2f9e368c687fb05dc91586eb3ca18bffbcee50e70

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for torchjpeg-0.9.20-cp38-cp38-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 03967f0e47e80de88533dc4f655c1d35cd447e86c9389c8f878455b5be0fcf9f
MD5 9d858b280c739ec78e2e2a97f5dc3a05
BLAKE2b-256 77b1a2a9174d3551cc067e515ec4553a071c2e4baab25cb3c6110bfd169e4d3c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for torchjpeg-0.9.20-cp37-cp37m-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4fceee9ae3c063f3f3c1f17e37fa760d9a2548e650b4334082e5414767d1dee4
MD5 e0fb0899aa3a82e24bf275c3ba8d4ed6
BLAKE2b-256 2f5b90f82da27a9df6dade043289cc6e1d2d78d88a160a019d978b36e6753f6d

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