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

Uploaded Source

Built Distributions

File details

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

File metadata

  • Download URL: torchjpeg-0.9.25.dev1.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.25.dev1.tar.gz
Algorithm Hash digest
SHA256 eddd131eb843c42e5a4becfac866de36aae88ad0aad52e8ed3db28d267405dd6
MD5 736e1d038537d093b7cef22f17ab3cec
BLAKE2b-256 c1f1a6cd8a35c8d1f2725ea0d860cce504b8abdff922eaf23456bde18df7caf8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for torchjpeg-0.9.25.dev1-cp310-cp310-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7a966b35cbee88f6eaa40a74b7efe3ba589b28fba598093d88abae5eaef27374
MD5 563b7e769934fb920921f365c239b2da
BLAKE2b-256 abd1c2014a7ffa3080ef69fb102adc78c2f889e1a8710e8933dcb797018b50a7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for torchjpeg-0.9.25.dev1-cp39-cp39-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a10402a979f34b0eedff39a071ddbe96c8dcbf509303319ce85686fe023ee360
MD5 03fcedb98cdac43673b9bb9ce1b3f5f8
BLAKE2b-256 2ec7ef24a45e7e67fd584e5f339027449d9ed2b44ce90945a88562d7f3fbd970

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for torchjpeg-0.9.25.dev1-cp38-cp38-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9d227f7f3d25432dde90296df39dde5afbc649750124bcbe799bc77f36e51746
MD5 147a867ad35d91d1d47f8c9d24fce5f0
BLAKE2b-256 5e98d34dcbc0e3b1d3282e717c714f74b94006d1efde8e4bc8df2f883a6294b5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for torchjpeg-0.9.25.dev1-cp37-cp37m-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e025c34acd1a58c1a8cbfe38b5ba3b3d3c22b70c62168d3c22b17460df909eff
MD5 98553cf3b5b7450e4eabd287aa006744
BLAKE2b-256 6aa206382b87f2b63b8a89d025282eeef91c8662155b00250000da118ec157d0

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