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

Uploaded Source

Built Distributions

torchjpeg-0.9.21-cp37-cp37m-manylinux2014_x86_64.whl (4.0 MB view details)

Uploaded CPython 3.7m

File details

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

File metadata

  • Download URL: torchjpeg-0.9.21.tar.gz
  • Upload date:
  • Size: 1.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.4 CPython/3.9.6 Linux/5.4.109+

File hashes

Hashes for torchjpeg-0.9.21.tar.gz
Algorithm Hash digest
SHA256 dac096d85bf6f16855814bf93a6657dc239f80ceb6f5c1ce1a7856de882ebc0c
MD5 fe03434fa0e2b8f062c89a954e17bfa0
BLAKE2b-256 cbeed419092e817b10a2f2bfdc8fe60f14d77f86a6829f060ae59fcc04d2cc0e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for torchjpeg-0.9.21-cp39-cp39-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 738fa79344be7d7cd2b3cd848dbf64f9337b8b486f19446be6841423fec58ffc
MD5 25428fa6e57eb776c7484f2aab47c449
BLAKE2b-256 4a5ba1adde1cd2340c8301426351c83f9a7c0470f72ccdb5b3ce221c587152ab

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for torchjpeg-0.9.21-cp38-cp38-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4c341b9bbf6090cc9453f46207b84b8b33dc9413c6f5857280dab17d6168adcb
MD5 a4fcb5ed3c6e3c38b8091b3b1a9d5f6a
BLAKE2b-256 088ffc042039072cdab5f3120f2a11904ab8c1ce8dcb69f0a65e0085cb6ebf07

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for torchjpeg-0.9.21-cp37-cp37m-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2f4c08eeb25f12a9deeb1326a4740f63f42cfa05561be98e02b9b4301f061bac
MD5 1178a5b5e4f7686987f680eaa7335561
BLAKE2b-256 e05691fa90e77300db3a0bb9235725d2752a12903ea5fa03eb8219ddbb593a85

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