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

Uploaded Source

Built Distributions

File details

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

File metadata

  • Download URL: torchjpeg-0.9.26.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.8 Linux/5.4.109+

File hashes

Hashes for torchjpeg-0.9.26.dev2.tar.gz
Algorithm Hash digest
SHA256 a20dbce83be5d5ed9a44c4490c9882d232c451e3748d4e9de1d86b83138b11df
MD5 246a4b5b8798f18ce3680d6114ea6854
BLAKE2b-256 dba55748b019971b74ff37d368b6b3f6aacdef8afda27b717e8e9ba1229dc453

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for torchjpeg-0.9.26.dev2-cp310-cp310-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b629b837c74b51459f28fd493efe3658cb3f5d17b0e79ba6af20838c3a4d48f8
MD5 8b6105be46c6f85f1c666217facbbd94
BLAKE2b-256 0a01fb4cb64595605fa30767ab3d60db5553148b2a45d790f0ca71871eaba2fd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for torchjpeg-0.9.26.dev2-cp39-cp39-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7e248b93a6c29f2bf0b48ffb06d58947f16504c807f53568ee0a7977100ccd0e
MD5 ddc391739eac0b05a1e5c80d2f924d80
BLAKE2b-256 7b022aa2dddee28640be8a9f73849af182e29aee34918688650539a528085eb3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for torchjpeg-0.9.26.dev2-cp38-cp38-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1a91dd98a20d70e5cfaef3fe0e030430f84a371adf5470a58327500f2b9018a6
MD5 fbc6828be1b0b20600eb3d589859546d
BLAKE2b-256 84ebcd513fc494b7a14c1ffd01b86b5ac0ef30dfd678d26f3f3a28b42307eeff

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for torchjpeg-0.9.26.dev2-cp37-cp37m-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5058994b148af5a0fbec68769e61d8f385298f1a3200493f8e10a5012ee839a4
MD5 121d4d80dfe79d2e27da3701be9b6d9e
BLAKE2b-256 d870eca5e5d5f418a82920c47e6eabbf6d3676fd9d1f08d672ee173b5dd2d9db

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