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

Uploaded Source

Built Distributions

torchjpeg-0.9.17-cp37-cp37m-manylinux2014_x86_64.whl (3.9 MB view details)

Uploaded CPython 3.7m

File details

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

File metadata

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

File hashes

Hashes for torchjpeg-0.9.17.tar.gz
Algorithm Hash digest
SHA256 9b3f95e60d4718332232f9a239aa65ddce482d49de9b24d39aee1f794d4ba41e
MD5 6bae447c75a389f453bdf7ea08d601a9
BLAKE2b-256 461a8a1c0a11294c3d9af646a8515814df9a5613a84313ce00252533a942595c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for torchjpeg-0.9.17-cp39-cp39-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 447d9a65692693580d5c6e9aa6fb72ba5919db35bcc0d2feaae9b12e5dbc1cc8
MD5 29c9a91813404cae7abbd1e4e561e4c1
BLAKE2b-256 230618151b7c09656a9ece45b2a3c0a1d41051da6231f0694506447e5df6b35c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for torchjpeg-0.9.17-cp38-cp38-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 571e9016c3898ecb3ad65f329c68251b67aa8ae8d2958bad03fe3f81de58225c
MD5 2341a34d809e59ca88976611e55d10c6
BLAKE2b-256 25efc0fd1f6c6edf175676a876f5a51bfb313dd2595ff94abc4d0823b0dfd54c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for torchjpeg-0.9.17-cp37-cp37m-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1fd32099bcaa4300a4faab11203dac6d51df4469fc1e93f14213373c4f46544c
MD5 446f45909d94aa6e013cda0b9cd56264
BLAKE2b-256 c81b98adfbd4b3b8700c62b3d1b9e611683986d9bfa5d8564caabaabefd032a5

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