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

Uploaded Source

Built Distributions

torchjpeg-0.9.22-cp39-cp39-manylinux2014_x86_64.whl (4.0 MB view details)

Uploaded CPython 3.9

torchjpeg-0.9.22-cp38-cp38-manylinux2014_x86_64.whl (4.0 MB view details)

Uploaded CPython 3.8

torchjpeg-0.9.22-cp37-cp37m-manylinux2014_x86_64.whl (4.0 MB view details)

Uploaded CPython 3.7m

File details

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

File metadata

  • Download URL: torchjpeg-0.9.22.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.tar.gz
Algorithm Hash digest
SHA256 155820892f2bc1b80687cca1b910a04a72c3b6597765813b0360755e679bc706
MD5 b4a510fcb13a6e7e21f055a5de39c16a
BLAKE2b-256 6475709c9ec85f3a77f2518ae3b4b4488cad0b52f259330804659b907fde1f1e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for torchjpeg-0.9.22-cp39-cp39-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b3e086df29fe4892e47bf6c6785121e1548d2d0dea44bb04cb28693ee0deb571
MD5 3897581b2539c537f3da00cb31c76a30
BLAKE2b-256 5136e3a3503ff654a8ac785da917a8e7d854032722161b368ade4723bdf842e1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for torchjpeg-0.9.22-cp38-cp38-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 54d2bf66bf3eb72e87b84176ca8d11580bc58a08df18823efaf6673bc25f1efe
MD5 4492f7901322911b774e6b8c7ef9ba6d
BLAKE2b-256 32c3ac1497f1b6fb77d6c3cf40cccd210b5bd0446c2b2f5c13b8d989d27af1b1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for torchjpeg-0.9.22-cp37-cp37m-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f09c894a5b73972f746027e287302faa18be72d3e0f199e2d0442c2587138657
MD5 f234106bd85b85f7fa82081141f93c41
BLAKE2b-256 2a9554aa51d2a70d52aa939c94d58f39afe0e6abee9c2dcbdb00eb9ef61ad931

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