pylibjpeg-libjpeg 2.3.0


pip install pylibjpeg-libjpeg

  Latest version

Released: Oct 27, 2024

Project Links

Meta
Author: pylibjpeg-libjpeg contributors
Maintainer: scaramallion
Requires Python: >=3.9,<4.0

Classifiers

Development Status
  • 5 - Production/Stable

Intended Audience
  • Developers
  • Healthcare Industry
  • Science/Research

License
  • OSI Approved :: GNU General Public License v3 (GPLv3)
  • Other/Proprietary License

Natural Language
  • English

Operating System
  • MacOS :: MacOS X
  • Microsoft :: Windows
  • POSIX :: Linux

Programming Language
  • C++
  • Python :: 3
  • Python :: 3.9
  • Python :: 3.10
  • Python :: 3.11
  • Python :: 3.12
  • Python :: 3.13

Topic
  • Scientific/Engineering :: Medical Science Apps.
  • Software Development :: Libraries

Build status Test coverage PyPI versions Python versions Code style: black

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

NumPy

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')

Wheel compatibility matrix

Platform CPython 3.9 CPython 3.10 CPython 3.11 CPython 3.12 CPython 3.13
macosx_10_13_x86_64
macosx_10_9_x86_64
macosx_11_0_arm64
manylinux2014_aarch64
manylinux2014_x86_64
manylinux_2_17_aarch64
manylinux_2_17_x86_64
win32
win_amd64

Files in release

pylibjpeg_libjpeg-2.3.0-cp310-cp310-macosx_10_9_x86_64.whl (661.7KiB)
pylibjpeg_libjpeg-2.3.0-cp310-cp310-macosx_11_0_arm64.whl (588.1KiB)
pylibjpeg_libjpeg-2.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.1MiB)
pylibjpeg_libjpeg-2.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.2MiB)
pylibjpeg_libjpeg-2.3.0-cp310-cp310-win32.whl (713.2KiB)
pylibjpeg_libjpeg-2.3.0-cp310-cp310-win_amd64.whl (726.1KiB)
pylibjpeg_libjpeg-2.3.0-cp311-cp311-macosx_10_9_x86_64.whl (661.7KiB)
pylibjpeg_libjpeg-2.3.0-cp311-cp311-macosx_11_0_arm64.whl (588.1KiB)
pylibjpeg_libjpeg-2.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.1MiB)
pylibjpeg_libjpeg-2.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.2MiB)
pylibjpeg_libjpeg-2.3.0-cp311-cp311-win32.whl (713.1KiB)
pylibjpeg_libjpeg-2.3.0-cp311-cp311-win_amd64.whl (726.6KiB)
pylibjpeg_libjpeg-2.3.0-cp312-cp312-macosx_10_13_x86_64.whl (660.5KiB)
pylibjpeg_libjpeg-2.3.0-cp312-cp312-macosx_11_0_arm64.whl (588.2KiB)
pylibjpeg_libjpeg-2.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.1MiB)
pylibjpeg_libjpeg-2.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.2MiB)
pylibjpeg_libjpeg-2.3.0-cp312-cp312-win32.whl (713.0KiB)
pylibjpeg_libjpeg-2.3.0-cp312-cp312-win_amd64.whl (726.5KiB)
pylibjpeg_libjpeg-2.3.0-cp313-cp313-macosx_10_13_x86_64.whl (660.2KiB)
pylibjpeg_libjpeg-2.3.0-cp313-cp313-macosx_11_0_arm64.whl (586.9KiB)
pylibjpeg_libjpeg-2.3.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.1MiB)
pylibjpeg_libjpeg-2.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.2MiB)
pylibjpeg_libjpeg-2.3.0-cp313-cp313-win32.whl (712.8KiB)
pylibjpeg_libjpeg-2.3.0-cp313-cp313-win_amd64.whl (726.4KiB)
pylibjpeg_libjpeg-2.3.0-cp39-cp39-macosx_10_9_x86_64.whl (661.8KiB)
pylibjpeg_libjpeg-2.3.0-cp39-cp39-macosx_11_0_arm64.whl (588.1KiB)
pylibjpeg_libjpeg-2.3.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.1MiB)
pylibjpeg_libjpeg-2.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.2MiB)
pylibjpeg_libjpeg-2.3.0-cp39-cp39-win32.whl (713.2KiB)
pylibjpeg_libjpeg-2.3.0-cp39-cp39-win_amd64.whl (726.2KiB)
pylibjpeg_libjpeg-2.3.0.tar.gz (655.8KiB)
Extras: None
Dependencies:
numpy (<3.0,>=2.0)