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

Uploaded Source

Built Distributions

File details

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

File metadata

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

File hashes

Hashes for torchjpeg-0.9.12.dev1.tar.gz
Algorithm Hash digest
SHA256 f5642fd6ac3fe8443ce66dda9931f3418e0a855f09fd3255984f3efc852960c9
MD5 5366c50c94016817d838f42fe250df8d
BLAKE2b-256 8685f108ad885bc156db35226da7c91f1c6f56e6b33207b91b900a19cc5014a2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for torchjpeg-0.9.12.dev1-cp38-cp38-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f0c794d5bbeb6655252514bfb06b0e5e13e023a36da7bef8363ce3765b210022
MD5 9f4c53bfe838378070565512a1caa940
BLAKE2b-256 7003ace18b6ad15de6c5a98ba706715b23769853a13989d294aa26765eb44852

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for torchjpeg-0.9.12.dev1-cp37-cp37m-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f460b03f88dafe091e49490b588423121f602df564579623ba67f296f5ca8efe
MD5 d67d94ff9cad1fff5d7103bed8875619
BLAKE2b-256 decaf994adcfb0fefdb9640ebfc2c72c5c05954261660abfe169493476d7606b

See more details on using hashes here.

File details

Details for the file torchjpeg-0.9.12.dev1-cp36-cp36m-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for torchjpeg-0.9.12.dev1-cp36-cp36m-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b769915852132108aa322ead8c6c6fad07fe42271d483e544bf5fdd159f05444
MD5 cc5dc7a8214bcd22c59fa5a875ed5082
BLAKE2b-256 6d438d555ca84aa5c23d40a53518bb7dae3750d76b4d0ee8428a1e2a2bdaf367

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