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

Uploaded Source

Built Distributions

File details

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

File metadata

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

File hashes

Hashes for torchjpeg-0.9.27.dev1.tar.gz
Algorithm Hash digest
SHA256 589685285a5fc8176a8b02d905afd6a3524344bfaa28de87386b5c9db4af586e
MD5 d6d3356ab880d6ba959b462ccb17af51
BLAKE2b-256 271917972bdd69d710f1ea9ef1a8147a7d866a344f98320b34efc55c624ae269

See more details on using hashes here.

File details

Details for the file torchjpeg-0.9.27.dev1-cp310-cp310-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for torchjpeg-0.9.27.dev1-cp310-cp310-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c06625fefeb88fb48cf542496e9bb1861e8ab79ab6b4fba5d6697b983f808340
MD5 1b5ed0db15581daeecb800e07ef1e5b5
BLAKE2b-256 6cf945ffa70190ef9b34ba47b1900467ba364752062cbc9f33619158bf7469b0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for torchjpeg-0.9.27.dev1-cp39-cp39-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5606b9a8e2481d126d89c5b3bccd159c6d9409a81663d87ae84452cc6d349895
MD5 42315cfaf1d5e32999c1cb2b593c9c66
BLAKE2b-256 4669bc1a0b07fe6b2b9e9a3800c87a48e576b7a41c817a343b7a74c778854e15

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for torchjpeg-0.9.27.dev1-cp38-cp38-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d82ae66e87cad76b0a1189d7f0cc2deb26bb4e8aa1c600cc0295bfb9aab3ac7d
MD5 0b39ef2a1ab404c15fbe8d7510019bf2
BLAKE2b-256 feca40229f3a00603e7b5b67d65d3926c569969c47f9cef6271d5e0954ec1851

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for torchjpeg-0.9.27.dev1-cp37-cp37m-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2957fcce7175f62703ae861f1261d797ec6c1800c59d950165d9ddf25727e05b
MD5 eeecf55d096d0a1bfd42b2325711b24d
BLAKE2b-256 3572cec51d0718ad4ee3db12cbbbe0784c329edfa4e0f52e135498a449bc68fa

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