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

Uploaded Source

Built Distributions

torchjpeg-0.9.16-cp39-cp39-manylinux2014_x86_64.whl (3.9 MB view details)

Uploaded CPython 3.9

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

Uploaded CPython 3.8

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

Uploaded CPython 3.7m

File details

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

File metadata

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

File hashes

Hashes for torchjpeg-0.9.16.tar.gz
Algorithm Hash digest
SHA256 1c5f94d5f06fab4cb140ed3d3c04087dc21c236627093939372dea8833d2d516
MD5 a403a624204b3ae54f816aac9ad30f92
BLAKE2b-256 aba1fbc42be0e8dce7fb36f5bb5b557f46dd0f25e6ad0564f748f7e75faa05f0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for torchjpeg-0.9.16-cp39-cp39-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4c63d803a39f7b2899bb5227aaafc0955cc5a858c93a319d58eefe54ec5904cb
MD5 d1a883411a20119274f32819261c1ddb
BLAKE2b-256 d0c4c438832d1c699c131222ca2704fc490c8aef563184b04e271bb7ccaf3957

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for torchjpeg-0.9.16-cp38-cp38-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4703eb28016b351b174cc7871f294ee4f796f55eece8cf8b352a7ee1c226f4f7
MD5 236b16a112c252e113fa31485287a985
BLAKE2b-256 348fd484fded39864e3b86f3a28ce103bebe078fe5c71cd3f1a9e9ea64c28d40

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for torchjpeg-0.9.16-cp37-cp37m-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5e833484a4adabe2999e96e258a6e93462a7e2ed9c931dbe89e0dde3fa0b79d6
MD5 961f2585c6ff372f1500b09780f064c6
BLAKE2b-256 5c0dfb438fb21d1a3ac3873301961a0ce7a65b215ed45fa3f3408d8f6f1a8d82

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