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

Uploaded Source

Built Distributions

File details

Details for the file torchjpeg-0.9.23.dev2.tar.gz.

File metadata

  • Download URL: torchjpeg-0.9.23.dev2.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.23.dev2.tar.gz
Algorithm Hash digest
SHA256 165beb6fadf8dabb2abb75ffce3d0e178cb479c936d69f71c1c4bac54610f78e
MD5 4160ff300424bb4d931dd00a5ec5c4c7
BLAKE2b-256 02db32d03528eb228113f3670859a2d3db04e10ed20217f546803b8c6aaed88a

See more details on using hashes here.

File details

Details for the file torchjpeg-0.9.23.dev2-cp310-cp310-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for torchjpeg-0.9.23.dev2-cp310-cp310-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 14e1ad8c88ce640ccd924eef2cc9ba32d950298f784f3da25b69062f7b972e9a
MD5 666c56df320de5e39d63ee37304bd2e9
BLAKE2b-256 e6dadfe8d70a27d105022d9deed00097601fa1a254ae9ecf98ef4d17ea4913fb

See more details on using hashes here.

File details

Details for the file torchjpeg-0.9.23.dev2-cp39-cp39-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for torchjpeg-0.9.23.dev2-cp39-cp39-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fac52928715b9c7e80ada63eeb5804ab41d8321460a9310344a49fd186fdb60a
MD5 2ee61577cee96d2da69b4de4189e1188
BLAKE2b-256 3ccc032a4fd803c3cf0d39aec79fdd6d67fcdf4bd52023106dbdd4fec7c650a2

See more details on using hashes here.

File details

Details for the file torchjpeg-0.9.23.dev2-cp38-cp38-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for torchjpeg-0.9.23.dev2-cp38-cp38-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8420b141f07354e6cb2fc25002fde3838e52f908f0bbca07e96366e8821cbf82
MD5 f1fd6f36c4d48a12c973ca4caa894262
BLAKE2b-256 3ce018ca9198f2678bf2e546f743e8686b028436246b9b4b0f741a756026ce4c

See more details on using hashes here.

File details

Details for the file torchjpeg-0.9.23.dev2-cp37-cp37m-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for torchjpeg-0.9.23.dev2-cp37-cp37m-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ee5c06f24d54d8c60b52743c4af637ab5cea9dd4a570569072ab6df3a75567ed
MD5 152fe485ebb8f98b8e9e4205daf27b8f
BLAKE2b-256 0f9d9e74fbeff79dfc3b96f0315f371e0750a316a5239fa5308c6b6e219fc9e0

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