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

Uploaded Source

Built Distributions

torchjpeg-0.9.29-cp37-cp37m-manylinux2014_x86_64.whl (4.1 MB view details)

Uploaded CPython 3.7m

File details

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

File metadata

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

File hashes

Hashes for torchjpeg-0.9.29.tar.gz
Algorithm Hash digest
SHA256 82668cd868fdc88c5e492fa6e1e71935c6e0397f1f4c10f8171e59f580ad7127
MD5 57470f6a9a7d392bf67d11e04371beac
BLAKE2b-256 f6d39155bef69a398ddf63902321fb236d0195491ceb23f075b353008c87971d

See more details on using hashes here.

File details

Details for the file torchjpeg-0.9.29-cp310-cp310-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for torchjpeg-0.9.29-cp310-cp310-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 cb9885c9ff7e9b689e6491d88d9f867a2f3fdfd1f9c57e01ac464840b759c3b3
MD5 f75ac666cd166cf7bba88648d42898a6
BLAKE2b-256 13da4acd57870d6dede8a99e0dc8c84bb8c36ae91ec75a41d87be42bcc38275b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for torchjpeg-0.9.29-cp39-cp39-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8c502f4aab4d566ceb86288e3bbf858ebc5dd98e1cd97c3ceec3af51f63d64e6
MD5 89ac3bdf070477d3043620a4fbdabf6e
BLAKE2b-256 e3de80b45eb18fca0a0bf830298faaf211c4ebe7a8de568ac2b520135ca79263

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for torchjpeg-0.9.29-cp38-cp38-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1cb6cfa2f152cac44b7f109800617258288ffb22dca4f274e8fb3f82443d28f5
MD5 32ca0cfbfa4316dddbc079f2cfcf7a1a
BLAKE2b-256 52e11b8c71a60254bf866a9a1e1bcbce4ef8ce093508159088102268f6b97405

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for torchjpeg-0.9.29-cp37-cp37m-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6ec7966d3e4d5cba9aaac41ec344a0688af63a6d1a40f231f94fb68629aa18d8
MD5 d5cd0bf61b47871daf858b09e1c491e9
BLAKE2b-256 9c4a025f3ea251d4a4c35cd06dd5a457d5dd53c8c83a675fcd9ea6609abf648b

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