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

Uploaded Source

Built Distributions

File details

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

File metadata

  • Download URL: torchjpeg-0.9.10.dev1.tar.gz
  • Upload date:
  • Size: 1.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.0.10 CPython/3.8.5 Linux/4.19.78-coreos

File hashes

Hashes for torchjpeg-0.9.10.dev1.tar.gz
Algorithm Hash digest
SHA256 a4626a3a2728c383c303f49b1ef1260599c3025711c95226e725ddb7f94489eb
MD5 5d5aad0b2dd3e29427b971c511a33aa0
BLAKE2b-256 0b304654b077ffe99b74a5688aab08d5cd615a794117a6dfe26c2f11824dd3f3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for torchjpeg-0.9.10.dev1-cp38-cp38-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c37dc4738ccac4fb0f4c64ca3e47b42f54fade6a85094cf1c85c9e3c9bbfdd01
MD5 f0cf7c32a0f2b141737b4b73c7db6329
BLAKE2b-256 b4063d5b9fbc0b52bc0a25328ddd2c8432af1214633f8aa00142afddbbed3684

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for torchjpeg-0.9.10.dev1-cp37-cp37m-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e306ec4ca736ea3b9c1c0ad1bab8fd4be93ea7a8d5b4e1b0caf3db0d677d6f7d
MD5 865205f45d133c2cc7141b232269f5b7
BLAKE2b-256 90878356ea2fc6651b6fcf0485048419f1c2f2ba93c26a60fd52711f52429177

See more details on using hashes here.

File details

Details for the file torchjpeg-0.9.10.dev1-cp36-cp36m-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for torchjpeg-0.9.10.dev1-cp36-cp36m-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 860bea5a713f80c3c97bfcc4a4d4df6a99e6e4a5b86b4bebe6a27c45539a1203
MD5 d8ff1c492a069f38c2d9e9f9479a3e46
BLAKE2b-256 a662b604c6abff4713c304900e13c972615d7d125dba23a4bc475f9087114fe3

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