A Python wrapper for libjpeg, with a focus on use as a plugin for for pylibjpeg
Project description
pylibjpeg-libjpeg
A Python 3.8+ wrapper for Thomas Richter's libjpeg, with a focus on use as a plugin for pylibjpeg.
Linux, MacOS and Windows are all supported.
Installation
Dependencies
Installing the current release
pip install pylibjpeg-libjpeg
Installing the development version
Make sure Python and Git are installed. For Windows, you also need to install Microsoft's C++ Build Tools.
git clone --recurse-submodules https://github.com/pydicom/pylibjpeg-libjpeg
python -m pip install pylibjpeg-libjpeg
Supported JPEG Formats
Decoding
ISO/IEC Standard | ITU Equivalent | JPEG Format |
---|---|---|
10918 | T.81 | JPEG |
14495 | T.87 | JPEG-LS |
18477 | JPEG XT |
Encoding
Encoding of JPEG images is not currently supported
Supported Transfer Syntaxes
Decoding
UID | Description |
---|---|
1.2.840.10008.1.2.4.50 | JPEG Baseline (Process 1) |
1.2.840.10008.1.2.4.51 | JPEG Extended (Process 2 and 4) |
1.2.840.10008.1.2.4.57 | JPEG Lossless, Non-Hierarchical (Process 14) |
1.2.840.10008.1.2.4.70 | JPEG Lossless, Non-Hierarchical, First-Order Prediction (Process 14 [Selection Value 1]) |
1.2.840.10008.1.2.4.80 | JPEG-LS Lossless |
1.2.840.10008.1.2.4.81 | JPEG-LS Lossy (Near-Lossless) Image Compression |
Usage
With pylibjpeg and pydicom
from pydicom import dcmread
from pydicom.data import get_testdata_file
ds = dcmread(get_testdata_file('JPEG-LL.dcm'))
arr = ds.pixel_array
Standalone JPEG decoding
You can also decode JPEG images to a numpy ndarray:
from libjpeg import decode
with open('filename.jpg', 'rb') as f:
# Returns a numpy array
arr = decode(f.read())
# Or simply...
arr = decode('filename.jpg')
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
pylibjpeg_libjpeg-2.0.1.tar.gz
(667.1 kB
view hashes)
Built Distributions
Close
Hashes for pylibjpeg_libjpeg-2.0.1-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2eb57148c5bd82ad8016fef944d649c08509a7b97021f1c84d4b969fda854c31 |
|
MD5 | 0e2bd056dd61de7126ae71966549f595 |
|
BLAKE2b-256 | a006665faff9661db9879230442218afd2077a6c747abbcdcd802027c034d5bb |
Close
Hashes for pylibjpeg_libjpeg-2.0.1-cp312-cp312-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4b6ddf9ce91a5baf5b091444e8540e02a4c6979da50804f6dc57a3ac5d1c0565 |
|
MD5 | 2263b3340e283e19575d06eb4f8a23ce |
|
BLAKE2b-256 | 9d4046b2066478680e1b6cc681a87ac2ebccb26222c9fe402a95c0b57b2eebaf |
Close
Hashes for pylibjpeg_libjpeg-2.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a0305b6c636afde034dbcb27109d327db6dcc7a4ecb8f48992c2152c24ea296b |
|
MD5 | 98631c9c710fe4ad503c045085141f32 |
|
BLAKE2b-256 | d9abcdb05771ed41f4d7b02492a171948319961fad600d177787fde055d03022 |
Close
Hashes for pylibjpeg_libjpeg-2.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 279713fe9ddae74ea488caa10ea38e220be6eb7134cb0d58c1daf2a61f99732f |
|
MD5 | ee9f7eeae94f05f0f5931b6364a36bfd |
|
BLAKE2b-256 | 0409d0fc61c87966630f0d95c2e25f2ef1c6f259b7da915a3c6fa9586cf9d039 |
Close
Hashes for pylibjpeg_libjpeg-2.0.1-cp312-cp312-macosx_12_0_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0573c2d9ef126470ce581a1ce04f75f7b1fe75c2a4867c99738c25953bba4229 |
|
MD5 | 8ee2bf513cc992ea5ecdf2bfa322c853 |
|
BLAKE2b-256 | 87518d25b8580e60e65c2d2e670c2aa7af0c65d46dd80131cfa527e261f21b72 |
Close
Hashes for pylibjpeg_libjpeg-2.0.1-cp312-cp312-macosx_12_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ed766cab65b8df0decef13f400f4f6e23d3ba415c130e4ae0265d6f9629e8625 |
|
MD5 | 95db1b03e0ae3f1eabb3348f3005e480 |
|
BLAKE2b-256 | 2ef9c0850a044f236be148a0f0e89974642aeaa7b1989c81c7f83a76bde887c8 |
Close
Hashes for pylibjpeg_libjpeg-2.0.1-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d64d30c0a948cb45a7792c3dbaf828ba231303936ecdf06933b46d1a69417d11 |
|
MD5 | 8d0f9e4e0bd62842b30c0d9957af7366 |
|
BLAKE2b-256 | 56210d4f3912b6666e1af535b80cb89332260df0b1e93624199003f9f7334e4d |
Close
Hashes for pylibjpeg_libjpeg-2.0.1-cp311-cp311-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e6917bc928f82b53403a3c95e0e02e96338d823b521912b610fbdab829ee08aa |
|
MD5 | 028d9aa64dafcc166d9a306ef98a094c |
|
BLAKE2b-256 | 28f502e9b73e05ca114b0491e19dfa3d8464d82ba6f325b5dbd5eebb7dea4df2 |
Close
Hashes for pylibjpeg_libjpeg-2.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 783eff3c06be9ec29d737052ebac4181aa3e15db9eb0db2dfff17985fd7c132d |
|
MD5 | 48ea64e9ce96b4f6767ef6510cac0b63 |
|
BLAKE2b-256 | a1d1612e80735b70fc011f38219bf5920e842b9cb813352f858ca4d8b5636de5 |
Close
Hashes for pylibjpeg_libjpeg-2.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f186076137e33c822d695691c0c50345798e59a627a9bb2827d81fe9d365abda |
|
MD5 | 1426db0a5f480e6f9c3cc0d18fcddd86 |
|
BLAKE2b-256 | 6ba441d3b82cbb7ff7d046f06613d52dfdc1e591d101eae317cb7a5a48896aba |
Close
Hashes for pylibjpeg_libjpeg-2.0.1-cp311-cp311-macosx_12_0_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 28e2a28ab02cde360da358e90bfbb48863e91f4883699eb535ecf743c8b9eb31 |
|
MD5 | 09dbb07af3b078a96c8f1902a52e752b |
|
BLAKE2b-256 | 3a883376e9c23d1083e2aa17c2e2eb84a35363457f4e16f690f5dd5dc4574469 |
Close
Hashes for pylibjpeg_libjpeg-2.0.1-cp311-cp311-macosx_12_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e2eaa780786b7788bd7b5ac4805672e8b61a897d236a8da0fa4fa8f435e82dbf |
|
MD5 | 740d23bcc1309cd079f25e8283883256 |
|
BLAKE2b-256 | 95fc17084ba401933ec80e94415eb89eeb46d627a1e852848136eca5f2fb27cb |
Close
Hashes for pylibjpeg_libjpeg-2.0.1-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6bddabb3e461c52c297ac9fd83f918655694dfd4acd9329471c1deab2cae37e8 |
|
MD5 | 861beb8d5198702d720fefaa805a6d87 |
|
BLAKE2b-256 | a3da49657c2cc85ba73768c1936829c3c40c5d5c6ffea37cb6ed1fc46a8596ef |
Close
Hashes for pylibjpeg_libjpeg-2.0.1-cp310-cp310-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dc5a68b431fd541ce159dac57ac931c4f2f2f81caf12ba0aac23972555d402ce |
|
MD5 | 279cf6bc28a72bf9714164406bf1e65f |
|
BLAKE2b-256 | 3d00141e428ccbfc301d713a6ae179187ff9ebdc91d00db31f5964168937a001 |
Close
Hashes for pylibjpeg_libjpeg-2.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dd147d4d1b7946fbc5fd11c357578cf95799cd740b42bd524fb9b5891330a80c |
|
MD5 | ed3cac431d980f2b9101553fd1984cfe |
|
BLAKE2b-256 | 83030c85606ea57c8f50181cf8fc6d6f464e1fadfed24c02167871669a7bee4b |
Close
Hashes for pylibjpeg_libjpeg-2.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e61b2d853917d839feb788a16f7a239dd0ac21bfdbf4d5983277fca363916d0a |
|
MD5 | 6635b6e42644dae1a57ea26e0ad052e8 |
|
BLAKE2b-256 | 8eec453b6a338d8ceb047b98be40f1eb191001ccc07d7636778e1540aff60ee4 |
Close
Hashes for pylibjpeg_libjpeg-2.0.1-cp310-cp310-macosx_12_0_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b81df58610c2c59bbd3794fc16f2860e7108e2b4178b238bf421a50109991271 |
|
MD5 | 0fe70bb9c9cf3a2dca874215b810ddc4 |
|
BLAKE2b-256 | 3dbd2b5ec414e73964ad06abdc8763cfc3e538453792f9406d4b0d0145033725 |
Close
Hashes for pylibjpeg_libjpeg-2.0.1-cp310-cp310-macosx_12_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8cd6748705a0c1e23753e6edd94f8b97b8266c8fdf914b95c721fdcf3e710303 |
|
MD5 | 5f34a0a4f167540a23219de65785fa7c |
|
BLAKE2b-256 | 2f6ea750d5172ed124e68ee8f6c841e65a34662bac824521cdf435677c390de4 |
Close
Hashes for pylibjpeg_libjpeg-2.0.1-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f365ba58dfb9d1028b8f1848f898415acc37131b11453238a0c5b2583be0dbc4 |
|
MD5 | a459d7ac5450e03681a6374b1f7715a3 |
|
BLAKE2b-256 | 4e6646bbf411546dab4eda730bd5361095aaa60b971aaf4180615788af3b8fc1 |
Close
Hashes for pylibjpeg_libjpeg-2.0.1-cp39-cp39-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 055219e7e75850ec4ca50621b3ca4fc884e638518f3403c5a38255eaf8f09fe4 |
|
MD5 | 8ef3041a3f26472e5f94675f3fa6131b |
|
BLAKE2b-256 | 6c2d8a8cc9a3517692880b896dd24d98d77b8aae52136242520be31fb60bc8f7 |
Close
Hashes for pylibjpeg_libjpeg-2.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 87ab62f18d1a7b49335261fa201afa4c2a2f4ca1b227f81b6314ac28529bfd2d |
|
MD5 | 00e1827e0b9fadaee6f24e2528b6b8b1 |
|
BLAKE2b-256 | 13bc35b9c58b705a0d6f4e3329aa994403f923d01fec221494c7b0b041d0c457 |
Close
Hashes for pylibjpeg_libjpeg-2.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 290f561e4ad7e77661e860b7181ef703c32d5a43fbc331bd5970e1b871d0d9ab |
|
MD5 | 1f058fe2e3b8cf88c8fde9bcb24e32bc |
|
BLAKE2b-256 | 0ae4992bef43a1f76c8e6ac8a2158c972290e14184ea6aac6dbae6d2114bd805 |
Close
Hashes for pylibjpeg_libjpeg-2.0.1-cp39-cp39-macosx_12_0_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 23f0f1f9505b60238e80df03b523d230b6bed76b7097af1081615d4010b689d3 |
|
MD5 | 0608614c07f64e78c96f9da328d13258 |
|
BLAKE2b-256 | 72ce757ec2738e0674e4f25d07527a1c068df6940e4d18b4a61cb2d1f5967ca4 |
Close
Hashes for pylibjpeg_libjpeg-2.0.1-cp39-cp39-macosx_12_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 227febf4ba6bf1f3b25baeede9aabe202ba5b4be1b52b6de4e3003c20acdfa4f |
|
MD5 | e9c2e48d1f7706c3c24190215b102710 |
|
BLAKE2b-256 | 29da01c98253595918001136a8886654aecf3a88126c33163bff2cefd72a9802 |
Close
Hashes for pylibjpeg_libjpeg-2.0.1-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 65aa2aab7c897bcb70fcee8d8615c42e6647dba048d05c3fc1c163767fce7074 |
|
MD5 | 93132d362658ba1e357ffbab14b5bb80 |
|
BLAKE2b-256 | bedbdf5f7a4f562307cc812e1d9f231647b2e32f8436effa483aa9790538ed3a |
Close
Hashes for pylibjpeg_libjpeg-2.0.1-cp38-cp38-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4af06bafc078fae51cb7a1de1d290eafcfdbb784d8a55bf359d7337afc7273d1 |
|
MD5 | da1a5c4d01a09f4f0ab5985425efd6d0 |
|
BLAKE2b-256 | a22a88333dc79551e3005337cb587490a30872686440ce8c25bb8043df8a961d |
Close
Hashes for pylibjpeg_libjpeg-2.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 92787fb198f86b74f69d114248e13cf5d601409acad73451367fe231cca7cf26 |
|
MD5 | cc9193fc0b744ffb07dc0e98db41476d |
|
BLAKE2b-256 | 90f4d1ebd1bd384e7100824d41192899b4021f4d223e770052c556cb85c48379 |
Close
Hashes for pylibjpeg_libjpeg-2.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1f30386f902e0818673ac07b630ceafec3332083fa3692f863d3dc18d4bf1218 |
|
MD5 | 3426c0445d686f7007340f0d3f0cb2ae |
|
BLAKE2b-256 | 906a42291c54c9cad8c51768a45bf3096544a073a1c1b066979e5e0a6efd040a |
Close
Hashes for pylibjpeg_libjpeg-2.0.1-cp38-cp38-macosx_12_0_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b746d7fa98e6148e2829a87ea4597a6d476150c1db2ae730f19130079edf235f |
|
MD5 | c141914862d9d8bdaa67617b833b843a |
|
BLAKE2b-256 | 9fc38f70e15f76da873e7fbc8c7503a6a1b9f9eacb48ac208a3f591a377f64da |
Close
Hashes for pylibjpeg_libjpeg-2.0.1-cp38-cp38-macosx_12_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d5d23386e2637d253c66aca9548391b212d5d8bcd8a843902320685853f3a9f0 |
|
MD5 | 907dc04b4bbcba7f7c1f17c06f31708a |
|
BLAKE2b-256 | 4b75363a19341fb64fc27704cfe78a8a510328162f99d01effe87037258bb777 |