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

Uploaded Source

Built Distributions

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

Uploaded CPython 3.7m

File details

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

File metadata

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

File hashes

Hashes for torchjpeg-0.9.25.tar.gz
Algorithm Hash digest
SHA256 f8f2a19f67f37d9de1a79cc3a2785081cad55b982110b38ba2b74de4e737e87a
MD5 9956f99dbb5483303f60e860a1b8fe76
BLAKE2b-256 dd33ad4f92cf3f6a526fe3dc0ccaac43ca79b7fccc4bc335982a08f061bc5fd7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for torchjpeg-0.9.25-cp310-cp310-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8399b177733de72b6df029b19cd86bc4450cf69549797a593e732eb0bce464ce
MD5 0fa7e6e0e59475150f2b76e825583ef5
BLAKE2b-256 fd478aa64d88cfbaf56ed52ee2865166110bfb1849da4bc9455edbae358517dd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for torchjpeg-0.9.25-cp39-cp39-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 03aa1363db9ecc93c1ec439bc2a233a1f97f10d569c4ded9660b7e294fd72be6
MD5 560ca04dbb6881c29216233b2c0ab994
BLAKE2b-256 483fd29c4ae11c506da7fe67e698cbcb306b060f94d5fbddb9f8e1b183636ba5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for torchjpeg-0.9.25-cp38-cp38-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ea298c08a045eae50e252bce08e4ca57bbda30466d6951719a125ed2aae7cc89
MD5 a37211f66a6e106152e968ec4f318a82
BLAKE2b-256 0297c2c8839dc02e3cd4c777bf57770d736efe390984124eccda75c0940984ba

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for torchjpeg-0.9.25-cp37-cp37m-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e17520ce16d149ed21acc641cc2b4044fe0db298fb58c02aeaf29b1dc0376ec0
MD5 4bc4a821f3a15ed28250d12e376d54bd
BLAKE2b-256 57b0d972e4301303a5beee6a41ced15701f51b96b21db427e4a13cc41f4bc3ed

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