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

Uploaded Source

Built Distributions

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

Uploaded CPython 3.7m

File details

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

File metadata

  • Download URL: torchjpeg-0.9.19.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.19.tar.gz
Algorithm Hash digest
SHA256 3eaa706b2a7a522d63551bbaf5574c6a4cf358b23c939dcb7a80472d34e6690d
MD5 116bd83427b39dfcd2d917f44c187b82
BLAKE2b-256 6ff6ff04a8b2a6e39cd6c267901e2bc62dd5aad28be471dcf6fcd252662e44e2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for torchjpeg-0.9.19-cp39-cp39-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 651b543653b55fc10c7632813411499302ffde74213363ebb225898bb8e8c8a9
MD5 ff2bff096e92d7daf7c8abd4f312d7e8
BLAKE2b-256 c817e5a17e13660ffb537bbfac7549dcb781175d90f85f47994c947b02aedf01

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for torchjpeg-0.9.19-cp38-cp38-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7ee461608a3605485db276415a0b644290e6928018c37ca4c422497c03b6da29
MD5 5d8029d508a49f04f78d31dd0a08f944
BLAKE2b-256 0a9f1c3aa3a2b332a004158f65d0c4e098693b5091570e38dc6cca927bb0798d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for torchjpeg-0.9.19-cp37-cp37m-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ca12d0723869b8037fdeb8ffe6d2676315921a4029a14e47c5e983f4c4c01e10
MD5 0cea6255f0d0e9d847e35a062d77e15c
BLAKE2b-256 de6927ab9cb3006c595a073d3279db4f33b5140a977942e409b233935fb57cef

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