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

Uploaded Source

Built Distributions

torchjpeg-0.9.26-cp310-cp310-manylinux2014_x86_64.whl (4.2 MB view details)

Uploaded CPython 3.10

torchjpeg-0.9.26-cp39-cp39-manylinux2014_x86_64.whl (4.2 MB view details)

Uploaded CPython 3.9

torchjpeg-0.9.26-cp38-cp38-manylinux2014_x86_64.whl (4.2 MB view details)

Uploaded CPython 3.8

torchjpeg-0.9.26-cp37-cp37m-manylinux2014_x86_64.whl (4.2 MB view details)

Uploaded CPython 3.7m

File details

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

File metadata

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

File hashes

Hashes for torchjpeg-0.9.26.tar.gz
Algorithm Hash digest
SHA256 482c160731bd35cd13925cce25b2cec6eb1594494411b1122b3a8da1929a1420
MD5 6579ef36c2100852fe124226ab2e352b
BLAKE2b-256 65d61af6f7258abeb183115c0dc16e9fb28e8b00dab0124d8af1b2e0b6126ade

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for torchjpeg-0.9.26-cp310-cp310-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5ba5094c7ae5c78aebe91ceb2ee324717a840b88057f3fcad69df13b32f0ff40
MD5 9bc00fbc8425d833b1d963daf2755bbd
BLAKE2b-256 db55b94efd4cc98fab0e7f07eff2eb53a027fe883aaca468faf9ebfc49206a5b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for torchjpeg-0.9.26-cp39-cp39-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a84e5b4abeae6d2f72f71747167df7ca64e22b289e445b75f0a02a91b77a646d
MD5 3c2c1c4aa73cb8e02b6d7c8bb00436f8
BLAKE2b-256 1045745d79668fcd0f34884e4cc81df6f0deb02c654f3f148e76056a03685b5a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for torchjpeg-0.9.26-cp38-cp38-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1bd070a6b058f08f560ce25f3d627778be5c4a442278c09b6ec0470183054c4a
MD5 a333de2af3300ecdf251fed16ea51ca6
BLAKE2b-256 e470d658bdd74767ce9ae6f506d170445cee4e26e4d713ea596637dae49d7f44

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for torchjpeg-0.9.26-cp37-cp37m-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2a3ed24194e6a8f1dcf46141b53814c5697b0ff20078a516e7f55e1b77be1d9d
MD5 ebb69893820e373bc1c29707268ce811
BLAKE2b-256 2ed8829e7fb7712c3f18fceb4eaa912df71978735527be0b994023abceddde3d

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