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

Uploaded Source

Built Distributions

File details

Details for the file torchjpeg-0.9.22.dev3.tar.gz.

File metadata

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

File hashes

Hashes for torchjpeg-0.9.22.dev3.tar.gz
Algorithm Hash digest
SHA256 ea2e09586b25e37d75f371b0ebb6ce40aac69d3ae0df6f6e16ac9dce775986f9
MD5 4a18221ae940889daeb36b9d24088e8a
BLAKE2b-256 659f614df34d5da9dbdc8d79b438fb8315f61df8a6480ea017d1a3ce4be3fa63

See more details on using hashes here.

File details

Details for the file torchjpeg-0.9.22.dev3-cp39-cp39-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for torchjpeg-0.9.22.dev3-cp39-cp39-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 678fcbfebd4c7a841eb5eea71423811d995806b96fa40ad71428b5729244eef8
MD5 5c315f7048894809db2503fd06ae28b0
BLAKE2b-256 31f4c3d703b9b74f3436752bbe3bd8b1b9049c11c1e8acd74239346f6de0e50d

See more details on using hashes here.

File details

Details for the file torchjpeg-0.9.22.dev3-cp38-cp38-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for torchjpeg-0.9.22.dev3-cp38-cp38-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f333b40a0ceae05768e3ddb077c40b1b79fa51a6b8a93c4b24814ee5b364a95d
MD5 54d90730d87beab1dc131eaa17624f86
BLAKE2b-256 213f10df7a4e6fe7e3e29a3b3249365c64fd4cac52668a5e8d6d47dfdebc4bf6

See more details on using hashes here.

File details

Details for the file torchjpeg-0.9.22.dev3-cp37-cp37m-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for torchjpeg-0.9.22.dev3-cp37-cp37m-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0bf4a2dc6d03130ad56f841e897be735c0c15daa38ca873a5088b081d24dec42
MD5 3e7a67f6d26e8fde3a824c0fce9e839c
BLAKE2b-256 47268c37e3897c7410cd9577dfeac74646a1780f2e9ed172d1ce2edd1577386e

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