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

Uploaded Source

Built Distributions

torchjpeg-0.9.14-cp38-cp38-manylinux2014_x86_64.whl (3.9 MB view details)

Uploaded CPython 3.8

torchjpeg-0.9.14-cp37-cp37m-manylinux2014_x86_64.whl (3.8 MB view details)

Uploaded CPython 3.7m

torchjpeg-0.9.14-cp36-cp36m-manylinux2014_x86_64.whl (3.8 MB view details)

Uploaded CPython 3.6m

File details

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

File metadata

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

File hashes

Hashes for torchjpeg-0.9.14.tar.gz
Algorithm Hash digest
SHA256 61a51adc3a2dcf6e3fb1b1d74f20b7041a09c77565733bedbd89dfbe87860104
MD5 ffa000c3763236f0a98888f82f94dae0
BLAKE2b-256 3fd5cafaa64635fa177fb59d552781bd7e50f36426aff5e7229304cc3cd7cdb4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for torchjpeg-0.9.14-cp38-cp38-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 cfc5a3240333fb54c1dc516fad73fbe56c04d9516f8e9310510194efbe54d96f
MD5 a05c71bfd51a89b20b2af21f6c6fbb4f
BLAKE2b-256 e8a2ae9f29124439e783aef2c2a34b57fce8f3f62c764d901e8ecffea6c14d80

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for torchjpeg-0.9.14-cp37-cp37m-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5e460ede0d72946a62469aa6f362758dba4c51cec7bb2bd88f6a6abdc9d97b9f
MD5 25c62ca828c4c25620adfe49d9b03f6d
BLAKE2b-256 1bf883419cfb4d1d1f635657c7227712fa5c2f70f0c67275566aa6ac0702852c

See more details on using hashes here.

File details

Details for the file torchjpeg-0.9.14-cp36-cp36m-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for torchjpeg-0.9.14-cp36-cp36m-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3ced0933216b55237a96de777aaf2f4bcd18cc1ea0d86fd3a97af2db21c069ac
MD5 3d1fe2d26eba662566e09223a6d5ae6d
BLAKE2b-256 6d3d8fba50ca76d005ce58e6610d6988aaed013fdc4af5b1f64c245b1fbab726

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