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

Uploaded Source

Built Distributions

File details

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

File metadata

  • Download URL: torchjpeg-0.9.29.dev1.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.dev1.tar.gz
Algorithm Hash digest
SHA256 092b4d02257c99f971e39e7bfe71e986302e096689f204b127e2926ea931de95
MD5 86057fd2d20cb5d9e3803f3375085283
BLAKE2b-256 a13b3ffa4f73712fd7faf1c7d2aaf348284f421d2254a9c31cf4215c98b5fd03

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for torchjpeg-0.9.29.dev1-cp310-cp310-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 993d7efd5785dd63057405a263463257474e467cc36bfcee42436df9617e4824
MD5 8225a70e3501b26f0d5a7d38c0ee20c9
BLAKE2b-256 44734c616000d7d85b19b435905216dbec694feea07840101ecf4f97b9b7db95

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for torchjpeg-0.9.29.dev1-cp39-cp39-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 48e3a252b715b355b20cca7c6f38d6912e531a0b8efe140cc2c52150ec1061e7
MD5 8724f5ff1b8d7ba9eec3569eca41a657
BLAKE2b-256 d4332914f4e5c8232dc81e6aae68d0fc020758cb5454e934daa25b60c4dcb615

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for torchjpeg-0.9.29.dev1-cp38-cp38-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 43bcf756482f0494718fe1b84652ea8f4caebe2901ddb85e9baa2fe2a3731237
MD5 dfb8ea4bd4e0a5a2449c5fc7dcafb22b
BLAKE2b-256 5d547b1e4616cf1f0f6934a737f025ec1ec60c8aad0021b38ea7ef3de6d7e5fc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for torchjpeg-0.9.29.dev1-cp37-cp37m-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fbd128939599ddcaf1d7ee573fa6a8490750710ccaa01f74a2b9835b81db1edb
MD5 f7de50af7e554d334958980249269e1e
BLAKE2b-256 511e3b1d084b77fc6dfff37f0b6a9fcd7873128637344a53ccc61abd4541f988

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