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

Uploaded Source

Built Distributions

File details

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

File metadata

  • Download URL: torchjpeg-0.9.18.dev1.tar.gz
  • Upload date:
  • Size: 1.0 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.18.dev1.tar.gz
Algorithm Hash digest
SHA256 0582517039a9f1386a5d501616c53270b637cabd37c704b0957a6ba7bd768b13
MD5 18392f0300354df8ac769cde520870f3
BLAKE2b-256 a73196268740a840d91ec90ba05e252f99f078393be2b4bbf15d0cd9a7a449a0

See more details on using hashes here.

File details

Details for the file torchjpeg-0.9.18.dev1-cp39-cp39-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for torchjpeg-0.9.18.dev1-cp39-cp39-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1d44c9164fd991b50f4d4657f12dbf505f108d7e091eae0267c97c3e886500a3
MD5 fc4d1dccbc5644280a36836fcea67810
BLAKE2b-256 debf169e497ada5ec39004422b36486236cbe348a4bad6290eadf0fe5209d8e1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for torchjpeg-0.9.18.dev1-cp38-cp38-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f2d8299a79b6aebf27130baa542b0f3934ac2caead0727823cfff92d648c1f0d
MD5 71bbeb2378ad05ad63ae9bb9144b8ecf
BLAKE2b-256 a99209dc5ab842798cdb0d138705688e79a30d5fe5568c3424cf9f3909b34bb0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for torchjpeg-0.9.18.dev1-cp37-cp37m-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8e0106d8c8cb304d1b3fb471fce69f9e1ff11f067cc975b7a75f3446c45b8fc4
MD5 35f20b982894942424441762be166545
BLAKE2b-256 9f74f40a80c3b026a99570d4ef67a33c0a548a5eabc336d2dafb5d65aeff6013

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