<p align="center">
<a href="https://github.com/pydicom/pylibjpeg-openjpeg/actions?query=workflow%3Aunit-tests"><img alt="Build status" src="https://github.com/pydicom/pylibjpeg-openjpeg/workflows/unit-tests/badge.svg"></a>
<a href="https://codecov.io/gh/pydicom/pylibjpeg-openjpeg"><img alt="Test coverage" src="https://codecov.io/gh/pydicom/pylibjpeg-openjpeg/branch/main/graph/badge.svg"></a>
<a href="https://pypi.org/project/pylibjpeg-openjpeg/"><img alt="PyPI versions" src="https://img.shields.io/pypi/v/pylibjpeg-openjpeg"></a>
<a href="https://www.python.org/"><img alt="Python versions" src="https://img.shields.io/pypi/pyversions/pylibjpeg-openjpeg"></a>
<a href="https://github.com/psf/black"><img alt="Code style: black" src="https://img.shields.io/badge/code%20style-black-000000.svg"></a>
</p>
## pylibjpeg-openjpeg
A Python 3.8+ wrapper for
[openjpeg](https://github.com/uclouvain/openjpeg), with a focus on use as a plugin for [pylibjpeg](http://github.com/pydicom/pylibjpeg).
Linux, OSX and Windows are all supported.
### Installation
#### Dependencies
[NumPy](http://numpy.org)
#### Installing the current release
```bash
python -m pip install -U pylibjpeg-openjpeg
```
#### Installing the development version
Make sure [Python](https://www.python.org/), [Git](https://git-scm.com/) and [CMake](https://cmake.org/) are installed. For Windows, you also need to install
[Microsoft's C++ Build Tools](https://visualstudio.microsoft.com/thank-you-downloading-visual-studio/?sku=BuildTools&rel=16).
```bash
git clone --recurse-submodules https://github.com/pydicom/pylibjpeg-openjpeg
python -m pip install pylibjpeg-openjpeg
```
### Supported JPEG Formats
#### Decoding
| ISO/IEC Standard | ITU Equivalent | JPEG Format |
| --- | --- | --- |
| [15444-1](https://www.iso.org/standard/78321.html) | [T.800](https://www.itu.int/rec/T-REC-T.800/en) | [JPEG 2000](https://jpeg.org/jpeg2000/) |
#### Encoding
Encoding of NumPy ndarrays is supported for the following:
* Array dtype: bool, uint8, int8, uint16, int16, uint32 and int32 (1-24 bit-depth only)
* Array shape: (rows, columns) and (rows, columns, planes)
* Number of rows/columns: up to 65535
* Number of planes: 1, 3 or 4
### Transfer Syntaxes
| UID | Description |
| --- | --- |
| 1.2.840.10008.1.2.4.90 | JPEG 2000 Image Compression (Lossless Only) |
| 1.2.840.10008.1.2.4.91 | JPEG 2000 Image Compression |
| 1.2.840.10008.1.2.4.201 | High-Throughput JPEG 2000 Image Compression (Lossless Only) |
| 1.2.840.10008.1.2.4.202 | High-Throughput JPEG 2000 with RPCL Options Image Compression (Lossless Only) |
| 1.2.840.10008.1.2.4.203 | High-Throughput JPEG 2000 Image Compression |
### Usage
#### With pylibjpeg and pydicom
```python
from pydicom import dcmread
from pydicom.data import get_testdata_file
ds = dcmread(get_testdata_file('JPEG2000.dcm'))
arr = ds.pixel_array
```
#### Standalone JPEG decoding
You can also decode JPEG 2000 images to a [numpy ndarray][1]:
[1]: https://docs.scipy.org/doc/numpy/reference/generated/numpy.ndarray.html
```python
from openjpeg import decode
with open('filename.j2k', 'rb') as f:
# Returns a numpy array
arr = decode(f)
# Or simply...
arr = decode('filename.j2k')
```
#### Standalone JPEG encoding
Lossless encoding of RGB with multiple-component transformation:
```python
import numpy as np
from openjpeg import encode_array
arr = np.random.randint(low=0, high=65536, size=(100, 100, 3), dtype="uint8")
encode_array(arr, photometric_interpretation=1) # 1: sRGB
```
Lossy encoding of a monochrome image using compression ratios:
```python
import numpy as np
from openjpeg import encode_array
arr = np.random.randint(low=-2**15, high=2**15, size=(100, 100), dtype="int8")
# You must determine your own values for `compression_ratios`
# as these are for illustration purposes only
encode_array(arr, compression_ratios=[5, 2])
```
Lossy encoding of a monochrome image using peak signal-to-noise ratios:
```python
import numpy as np
from openjpeg import encode_array
arr = np.random.randint(low=-2**15, high=2**15, size=(100, 100), dtype="int8")
# You must determine your own values for `signal_noise_ratios`
# as these are for illustration purposes only
encode_array(arr, signal_noise_ratios=[50, 80, 100])
```
See the docstring for the [encode_array() function][2] for full details.
[2]: https://github.com/pydicom/pylibjpeg-openjpeg/blob/main/openjpeg/utils.py#L429
Raw data
{
"_id": null,
"home_page": "https://github.com/pydicom/pylibjpeg-openjpeg",
"name": "pylibjpeg-openjpeg",
"maintainer": "scaramallion",
"docs_url": null,
"requires_python": "<4.0,>=3.9",
"maintainer_email": "scaramallion@users.noreply.github.com",
"keywords": "dicom pydicom python imaging jpg jpeg jpeg2k jpeg2000 pylibjpeg openjpeg",
"author": "pylibjpeg-openjpeg contributors",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/93/3b/18da1b72d215af4ce611390a35f378f7355fbcfee864e386b232b6caf7fb/pylibjpeg_openjpeg-2.4.0.tar.gz",
"platform": null,
"description": "<p align=\"center\">\n<a href=\"https://github.com/pydicom/pylibjpeg-openjpeg/actions?query=workflow%3Aunit-tests\"><img alt=\"Build status\" src=\"https://github.com/pydicom/pylibjpeg-openjpeg/workflows/unit-tests/badge.svg\"></a>\n<a href=\"https://codecov.io/gh/pydicom/pylibjpeg-openjpeg\"><img alt=\"Test coverage\" src=\"https://codecov.io/gh/pydicom/pylibjpeg-openjpeg/branch/main/graph/badge.svg\"></a>\n<a href=\"https://pypi.org/project/pylibjpeg-openjpeg/\"><img alt=\"PyPI versions\" src=\"https://img.shields.io/pypi/v/pylibjpeg-openjpeg\"></a>\n<a href=\"https://www.python.org/\"><img alt=\"Python versions\" src=\"https://img.shields.io/pypi/pyversions/pylibjpeg-openjpeg\"></a>\n<a href=\"https://github.com/psf/black\"><img alt=\"Code style: black\" src=\"https://img.shields.io/badge/code%20style-black-000000.svg\"></a>\n</p>\n\n\n## pylibjpeg-openjpeg\n\nA Python 3.8+ wrapper for\n[openjpeg](https://github.com/uclouvain/openjpeg), with a focus on use as a plugin for [pylibjpeg](http://github.com/pydicom/pylibjpeg).\n\nLinux, OSX and Windows are all supported.\n\n### Installation\n#### Dependencies\n[NumPy](http://numpy.org)\n\n#### Installing the current release\n```bash\npython -m pip install -U pylibjpeg-openjpeg\n```\n\n#### Installing the development version\n\nMake sure [Python](https://www.python.org/), [Git](https://git-scm.com/) and [CMake](https://cmake.org/) are installed. For Windows, you also need to install\n[Microsoft's C++ Build Tools](https://visualstudio.microsoft.com/thank-you-downloading-visual-studio/?sku=BuildTools&rel=16).\n```bash\ngit clone --recurse-submodules https://github.com/pydicom/pylibjpeg-openjpeg\npython -m pip install pylibjpeg-openjpeg\n```\n\n\n### Supported JPEG Formats\n#### Decoding\n\n| ISO/IEC Standard | ITU Equivalent | JPEG Format |\n| --- | --- | --- |\n| [15444-1](https://www.iso.org/standard/78321.html) | [T.800](https://www.itu.int/rec/T-REC-T.800/en) | [JPEG 2000](https://jpeg.org/jpeg2000/) |\n\n#### Encoding\n\nEncoding of NumPy ndarrays is supported for the following:\n\n* Array dtype: bool, uint8, int8, uint16, int16, uint32 and int32 (1-24 bit-depth only)\n* Array shape: (rows, columns) and (rows, columns, planes)\n* Number of rows/columns: up to 65535\n* Number of planes: 1, 3 or 4\n\n### Transfer Syntaxes\n| UID | Description |\n| --- | --- |\n| 1.2.840.10008.1.2.4.90 | JPEG 2000 Image Compression (Lossless Only) |\n| 1.2.840.10008.1.2.4.91 | JPEG 2000 Image Compression |\n| 1.2.840.10008.1.2.4.201 | High-Throughput JPEG 2000 Image Compression (Lossless Only) |\n| 1.2.840.10008.1.2.4.202 | High-Throughput JPEG 2000 with RPCL Options Image Compression (Lossless Only) |\n| 1.2.840.10008.1.2.4.203 | High-Throughput JPEG 2000 Image Compression |\n\n\n### Usage\n#### With pylibjpeg and pydicom\n\n```python\nfrom pydicom import dcmread\nfrom pydicom.data import get_testdata_file\n\nds = dcmread(get_testdata_file('JPEG2000.dcm'))\narr = ds.pixel_array\n```\n\n#### Standalone JPEG decoding\n\nYou can also decode JPEG 2000 images to a [numpy ndarray][1]:\n\n[1]: https://docs.scipy.org/doc/numpy/reference/generated/numpy.ndarray.html\n\n```python\nfrom openjpeg import decode\n\nwith open('filename.j2k', 'rb') as f:\n # Returns a numpy array\n arr = decode(f)\n\n# Or simply...\narr = decode('filename.j2k')\n```\n\n#### Standalone JPEG encoding\n\nLossless encoding of RGB with multiple-component transformation:\n\n```python\n\nimport numpy as np\nfrom openjpeg import encode_array\n\narr = np.random.randint(low=0, high=65536, size=(100, 100, 3), dtype=\"uint8\")\nencode_array(arr, photometric_interpretation=1) # 1: sRGB\n```\n\nLossy encoding of a monochrome image using compression ratios:\n\n```python\n\nimport numpy as np\nfrom openjpeg import encode_array\n\narr = np.random.randint(low=-2**15, high=2**15, size=(100, 100), dtype=\"int8\")\n# You must determine your own values for `compression_ratios`\n# as these are for illustration purposes only\nencode_array(arr, compression_ratios=[5, 2])\n```\n\nLossy encoding of a monochrome image using peak signal-to-noise ratios:\n\n```python\n\nimport numpy as np\nfrom openjpeg import encode_array\n\narr = np.random.randint(low=-2**15, high=2**15, size=(100, 100), dtype=\"int8\")\n# You must determine your own values for `signal_noise_ratios`\n# as these are for illustration purposes only\nencode_array(arr, signal_noise_ratios=[50, 80, 100])\n```\n\nSee the docstring for the [encode_array() function][2] for full details.\n\n[2]: https://github.com/pydicom/pylibjpeg-openjpeg/blob/main/openjpeg/utils.py#L429\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "A Python wrapper for openjpeg, with a focus on use as a plugin for for pylibjpeg",
"version": "2.4.0",
"project_urls": {
"Homepage": "https://github.com/pydicom/pylibjpeg-openjpeg"
},
"split_keywords": [
"dicom",
"pydicom",
"python",
"imaging",
"jpg",
"jpeg",
"jpeg2k",
"jpeg2000",
"pylibjpeg",
"openjpeg"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "b9d5081ce31a5fa163d6f6eacace99ea960d34833a29f86c4020f245d6bf1597",
"md5": "17f93df45df5b796e8090702e9517303",
"sha256": "b20c8f173223e73628cd30bf9f9678aad57421c9115b21adbdc0d7a543b2c8d0"
},
"downloads": -1,
"filename": "pylibjpeg_openjpeg-2.4.0-cp310-cp310-macosx_10_9_x86_64.whl",
"has_sig": false,
"md5_digest": "17f93df45df5b796e8090702e9517303",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": "<4.0,>=3.9",
"size": 305793,
"upload_time": "2024-10-28T22:53:28",
"upload_time_iso_8601": "2024-10-28T22:53:28.692823Z",
"url": "https://files.pythonhosted.org/packages/b9/d5/081ce31a5fa163d6f6eacace99ea960d34833a29f86c4020f245d6bf1597/pylibjpeg_openjpeg-2.4.0-cp310-cp310-macosx_10_9_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "65b6eaeef2cfde1b9e3a9c3ca643e82b833e1fc1273c667e986b9bf024f96c2c",
"md5": "b892f9b9634509197ede21d5be08b223",
"sha256": "f8583853e7df54e9dba13108715ba87b6c88773edadb577fb24efdd7540af5a4"
},
"downloads": -1,
"filename": "pylibjpeg_openjpeg-2.4.0-cp310-cp310-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "b892f9b9634509197ede21d5be08b223",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": "<4.0,>=3.9",
"size": 268957,
"upload_time": "2024-10-28T22:53:30",
"upload_time_iso_8601": "2024-10-28T22:53:30.265540Z",
"url": "https://files.pythonhosted.org/packages/65/b6/eaeef2cfde1b9e3a9c3ca643e82b833e1fc1273c667e986b9bf024f96c2c/pylibjpeg_openjpeg-2.4.0-cp310-cp310-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "7a2b2a53a42026ef4114cd91c5f6587e3aeb87064cb56975d1d8774cc5c14a5b",
"md5": "b7d1022992cba7861b809e7df21a18a6",
"sha256": "1efe666f70720495e67ecd77acb1b2ddc07b24d173420d959851b39650ac9e1c"
},
"downloads": -1,
"filename": "pylibjpeg_openjpeg-2.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "b7d1022992cba7861b809e7df21a18a6",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": "<4.0,>=3.9",
"size": 1113866,
"upload_time": "2024-10-28T22:53:31",
"upload_time_iso_8601": "2024-10-28T22:53:31.693335Z",
"url": "https://files.pythonhosted.org/packages/7a/2b/2a53a42026ef4114cd91c5f6587e3aeb87064cb56975d1d8774cc5c14a5b/pylibjpeg_openjpeg-2.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "d8c3e12609a6507fe36050fd75b86d6c961facae9aa1698745f8c7a8c810e0cb",
"md5": "d571af5ccfcbafde3e535605ff4c459d",
"sha256": "d7343760c6d3d3ecacfcf1efc761fe885375af860908c95853b60f0f08d792ea"
},
"downloads": -1,
"filename": "pylibjpeg_openjpeg-2.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "d571af5ccfcbafde3e535605ff4c459d",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": "<4.0,>=3.9",
"size": 1167757,
"upload_time": "2024-10-28T22:53:32",
"upload_time_iso_8601": "2024-10-28T22:53:32.914787Z",
"url": "https://files.pythonhosted.org/packages/d8/c3/e12609a6507fe36050fd75b86d6c961facae9aa1698745f8c7a8c810e0cb/pylibjpeg_openjpeg-2.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "7baa5cd554628ef47b3a4d4413bbedc96271e2c600b73ae80c8515b549817a1c",
"md5": "78bd4910fc34998bb0004f879daa7adf",
"sha256": "3c7d37488b0611af14d4b91dd2443615baee813c2db8f9e74fcad8a24c195635"
},
"downloads": -1,
"filename": "pylibjpeg_openjpeg-2.4.0-cp310-cp310-win32.whl",
"has_sig": false,
"md5_digest": "78bd4910fc34998bb0004f879daa7adf",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": "<4.0,>=3.9",
"size": 216458,
"upload_time": "2024-10-28T22:53:34",
"upload_time_iso_8601": "2024-10-28T22:53:34.074146Z",
"url": "https://files.pythonhosted.org/packages/7b/aa/5cd554628ef47b3a4d4413bbedc96271e2c600b73ae80c8515b549817a1c/pylibjpeg_openjpeg-2.4.0-cp310-cp310-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "2948ee668d1825fd7bf19b5497d34c7880558eb49bf4db01cf0cdbf40ec24746",
"md5": "8adbc637d4c2fdeb270386bdddc11281",
"sha256": "c31078c304b3d96e91c5bf4e502dfe5cc925c2b1d8a5cb6aec0f70ee342d7648"
},
"downloads": -1,
"filename": "pylibjpeg_openjpeg-2.4.0-cp310-cp310-win_amd64.whl",
"has_sig": false,
"md5_digest": "8adbc637d4c2fdeb270386bdddc11281",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": "<4.0,>=3.9",
"size": 238879,
"upload_time": "2024-10-28T22:53:35",
"upload_time_iso_8601": "2024-10-28T22:53:35.358491Z",
"url": "https://files.pythonhosted.org/packages/29/48/ee668d1825fd7bf19b5497d34c7880558eb49bf4db01cf0cdbf40ec24746/pylibjpeg_openjpeg-2.4.0-cp310-cp310-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "de4ffa9d5b9a3c4a4a1d8d4ab7949a718f01544ba250509f34e33db0f4e6cd64",
"md5": "750bc5a605ed78f3ba5cf10ac00bd792",
"sha256": "18b50714ed1faf49e5bb67ba644791d18add81550dee1c66fee1eaa4eb97d92d"
},
"downloads": -1,
"filename": "pylibjpeg_openjpeg-2.4.0-cp311-cp311-macosx_10_9_x86_64.whl",
"has_sig": false,
"md5_digest": "750bc5a605ed78f3ba5cf10ac00bd792",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": "<4.0,>=3.9",
"size": 305829,
"upload_time": "2024-10-28T22:53:36",
"upload_time_iso_8601": "2024-10-28T22:53:36.494481Z",
"url": "https://files.pythonhosted.org/packages/de/4f/fa9d5b9a3c4a4a1d8d4ab7949a718f01544ba250509f34e33db0f4e6cd64/pylibjpeg_openjpeg-2.4.0-cp311-cp311-macosx_10_9_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "362f5024d93409101f6ac8b395449557fbd43fd8ca876b7b2e59e9f02ce76834",
"md5": "46929703ece655bb53dada57af787164",
"sha256": "358fcc406fccdd8c5fa12755ad10027d0fca250feea809f5038b990269bdec2e"
},
"downloads": -1,
"filename": "pylibjpeg_openjpeg-2.4.0-cp311-cp311-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "46929703ece655bb53dada57af787164",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": "<4.0,>=3.9",
"size": 268648,
"upload_time": "2024-10-28T22:53:37",
"upload_time_iso_8601": "2024-10-28T22:53:37.814450Z",
"url": "https://files.pythonhosted.org/packages/36/2f/5024d93409101f6ac8b395449557fbd43fd8ca876b7b2e59e9f02ce76834/pylibjpeg_openjpeg-2.4.0-cp311-cp311-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "a615999c31a3efd31f838d7248355036805c6e17f86ecb30f26d209754192e47",
"md5": "03f13a365c93cc88a55464b2e803aec2",
"sha256": "27f05f7ac316b95976097549b984b45a1d56710a5517fdf82cb103e3d5cf6d57"
},
"downloads": -1,
"filename": "pylibjpeg_openjpeg-2.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "03f13a365c93cc88a55464b2e803aec2",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": "<4.0,>=3.9",
"size": 1144002,
"upload_time": "2024-10-28T22:53:39",
"upload_time_iso_8601": "2024-10-28T22:53:39.068048Z",
"url": "https://files.pythonhosted.org/packages/a6/15/999c31a3efd31f838d7248355036805c6e17f86ecb30f26d209754192e47/pylibjpeg_openjpeg-2.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "6835223bb61b37f2d626af771c21924b72123a3527203bfd9072c9825b85e28b",
"md5": "cb53e34f61cedd3243c753f0ad001aac",
"sha256": "09071f255ca773196e5bde5b80a902e18b3a0a6342e46c88b109642e7aa4f36f"
},
"downloads": -1,
"filename": "pylibjpeg_openjpeg-2.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "cb53e34f61cedd3243c753f0ad001aac",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": "<4.0,>=3.9",
"size": 1200541,
"upload_time": "2024-10-28T22:53:40",
"upload_time_iso_8601": "2024-10-28T22:53:40.346483Z",
"url": "https://files.pythonhosted.org/packages/68/35/223bb61b37f2d626af771c21924b72123a3527203bfd9072c9825b85e28b/pylibjpeg_openjpeg-2.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "b764755a59ef8b28ffdd6ae6449158fd6c7f5d2181a526771bcd969c1465ea95",
"md5": "279fc02b3f95b3a2e12a0122c34f49af",
"sha256": "13d43c710c003edbcb9de7e21e102482976590f258c624409cc7c2694502a676"
},
"downloads": -1,
"filename": "pylibjpeg_openjpeg-2.4.0-cp311-cp311-win32.whl",
"has_sig": false,
"md5_digest": "279fc02b3f95b3a2e12a0122c34f49af",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": "<4.0,>=3.9",
"size": 215663,
"upload_time": "2024-10-28T22:53:41",
"upload_time_iso_8601": "2024-10-28T22:53:41.530804Z",
"url": "https://files.pythonhosted.org/packages/b7/64/755a59ef8b28ffdd6ae6449158fd6c7f5d2181a526771bcd969c1465ea95/pylibjpeg_openjpeg-2.4.0-cp311-cp311-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "67049749e89e7d353e828a50ef0904ee9069a271305b92218c3e940a7f9e1bba",
"md5": "a10f9cc4898ea98184ad85b087da1ee2",
"sha256": "ffbdc13b13a5760073168b3ca044083749ff00e9db23f390c6a8dd17659a2339"
},
"downloads": -1,
"filename": "pylibjpeg_openjpeg-2.4.0-cp311-cp311-win_amd64.whl",
"has_sig": false,
"md5_digest": "a10f9cc4898ea98184ad85b087da1ee2",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": "<4.0,>=3.9",
"size": 238973,
"upload_time": "2024-10-28T22:53:42",
"upload_time_iso_8601": "2024-10-28T22:53:42.634728Z",
"url": "https://files.pythonhosted.org/packages/67/04/9749e89e7d353e828a50ef0904ee9069a271305b92218c3e940a7f9e1bba/pylibjpeg_openjpeg-2.4.0-cp311-cp311-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "b25cea0aef0fd4964fb92e3025775a7d1ab9e076138fec0b4c061e6d0e634aad",
"md5": "5a6bb3a0d1296b628fa1baad75be0504",
"sha256": "4a35ef20c0c3541095e7d94e7fafc795718c5e28f6d27841e6154e0b0519f6d2"
},
"downloads": -1,
"filename": "pylibjpeg_openjpeg-2.4.0-cp312-cp312-macosx_10_13_x86_64.whl",
"has_sig": false,
"md5_digest": "5a6bb3a0d1296b628fa1baad75be0504",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": "<4.0,>=3.9",
"size": 306119,
"upload_time": "2024-10-28T22:53:43",
"upload_time_iso_8601": "2024-10-28T22:53:43.821148Z",
"url": "https://files.pythonhosted.org/packages/b2/5c/ea0aef0fd4964fb92e3025775a7d1ab9e076138fec0b4c061e6d0e634aad/pylibjpeg_openjpeg-2.4.0-cp312-cp312-macosx_10_13_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "2a6b581cda03a1e328d77ffa3440af9da7aa33b297ed49474e74ff43886e02b8",
"md5": "de13d2cbcdbcc8d1ffc58d2ea14ec111",
"sha256": "b42ea41fc4002624d55d421d26e0094fbeb35c0a6119ca0f61983f277cbc3285"
},
"downloads": -1,
"filename": "pylibjpeg_openjpeg-2.4.0-cp312-cp312-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "de13d2cbcdbcc8d1ffc58d2ea14ec111",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": "<4.0,>=3.9",
"size": 269124,
"upload_time": "2024-10-28T22:53:44",
"upload_time_iso_8601": "2024-10-28T22:53:44.958544Z",
"url": "https://files.pythonhosted.org/packages/2a/6b/581cda03a1e328d77ffa3440af9da7aa33b297ed49474e74ff43886e02b8/pylibjpeg_openjpeg-2.4.0-cp312-cp312-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "b4d1175158b5c702e0108c54fdedfbfd461ec8dbadac6217ee2a2441a4b7a12d",
"md5": "ea3308d0bed734f61dc04c0c7c4e515c",
"sha256": "ec316b7ef32c0300254ca87a50ad934d953f33b19db258638421260119269348"
},
"downloads": -1,
"filename": "pylibjpeg_openjpeg-2.4.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "ea3308d0bed734f61dc04c0c7c4e515c",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": "<4.0,>=3.9",
"size": 1148085,
"upload_time": "2024-10-28T22:53:45",
"upload_time_iso_8601": "2024-10-28T22:53:45.999897Z",
"url": "https://files.pythonhosted.org/packages/b4/d1/175158b5c702e0108c54fdedfbfd461ec8dbadac6217ee2a2441a4b7a12d/pylibjpeg_openjpeg-2.4.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "b7d1490d5b8e43d50d8c988bd5b63604b35974b671a0068b773b48c0db2f7372",
"md5": "63b58bc8ecc398fec3adb235c71adf08",
"sha256": "423bb1ddb7237d2ff2bf8a231a22ce3a28e4d5375c9e714baa14df34521862da"
},
"downloads": -1,
"filename": "pylibjpeg_openjpeg-2.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "63b58bc8ecc398fec3adb235c71adf08",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": "<4.0,>=3.9",
"size": 1205058,
"upload_time": "2024-10-28T22:53:47",
"upload_time_iso_8601": "2024-10-28T22:53:47.304449Z",
"url": "https://files.pythonhosted.org/packages/b7/d1/490d5b8e43d50d8c988bd5b63604b35974b671a0068b773b48c0db2f7372/pylibjpeg_openjpeg-2.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "5473772949f88d3c88d5cdccd3a89dabeb7edfd5dc82f70d99e5caacffe48fb5",
"md5": "caae0186dbdde7f42ad3bfca82a75d4d",
"sha256": "fc0302de682958d0b666892f362128ff87246d2816eac5a7841b46673e06e249"
},
"downloads": -1,
"filename": "pylibjpeg_openjpeg-2.4.0-cp312-cp312-win32.whl",
"has_sig": false,
"md5_digest": "caae0186dbdde7f42ad3bfca82a75d4d",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": "<4.0,>=3.9",
"size": 215627,
"upload_time": "2024-10-28T22:53:48",
"upload_time_iso_8601": "2024-10-28T22:53:48.538897Z",
"url": "https://files.pythonhosted.org/packages/54/73/772949f88d3c88d5cdccd3a89dabeb7edfd5dc82f70d99e5caacffe48fb5/pylibjpeg_openjpeg-2.4.0-cp312-cp312-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "c45c0317ad316723cffb476077e9b841ec9b2062364b04153f3bf1ce1a230eb1",
"md5": "d449e73598d1ba669189c1a44e281fbc",
"sha256": "ae5d57716fc8e397aec3af80183bfd2896f54bf0455a1d38c0839a0b5e24feaf"
},
"downloads": -1,
"filename": "pylibjpeg_openjpeg-2.4.0-cp312-cp312-win_amd64.whl",
"has_sig": false,
"md5_digest": "d449e73598d1ba669189c1a44e281fbc",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": "<4.0,>=3.9",
"size": 239064,
"upload_time": "2024-10-28T22:53:49",
"upload_time_iso_8601": "2024-10-28T22:53:49.693589Z",
"url": "https://files.pythonhosted.org/packages/c4/5c/0317ad316723cffb476077e9b841ec9b2062364b04153f3bf1ce1a230eb1/pylibjpeg_openjpeg-2.4.0-cp312-cp312-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "9b6a368230e433b99fe7c329b5dccfc4d5a5a95afef1fa40813900a8bf16f439",
"md5": "52367a651a0203ecc244bc507681e5c9",
"sha256": "63bf4cbe52fe48d4aeadadf7f0f391c41bc819c030e2b7c5d342e9efadc4b33b"
},
"downloads": -1,
"filename": "pylibjpeg_openjpeg-2.4.0-cp313-cp313-macosx_10_13_x86_64.whl",
"has_sig": false,
"md5_digest": "52367a651a0203ecc244bc507681e5c9",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": "<4.0,>=3.9",
"size": 305516,
"upload_time": "2024-10-28T22:53:50",
"upload_time_iso_8601": "2024-10-28T22:53:50.752496Z",
"url": "https://files.pythonhosted.org/packages/9b/6a/368230e433b99fe7c329b5dccfc4d5a5a95afef1fa40813900a8bf16f439/pylibjpeg_openjpeg-2.4.0-cp313-cp313-macosx_10_13_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "795460e535375c01c74ac2ab75c76e146725616dfee77702f97e7d32e11549e4",
"md5": "181b9016087f79f6cd2015b171abbd29",
"sha256": "d9b413302d19cdd487ea6674681c6bdb78aaa25f20b417570b839d453387ddaf"
},
"downloads": -1,
"filename": "pylibjpeg_openjpeg-2.4.0-cp313-cp313-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "181b9016087f79f6cd2015b171abbd29",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": "<4.0,>=3.9",
"size": 268459,
"upload_time": "2024-10-28T22:53:51",
"upload_time_iso_8601": "2024-10-28T22:53:51.827298Z",
"url": "https://files.pythonhosted.org/packages/79/54/60e535375c01c74ac2ab75c76e146725616dfee77702f97e7d32e11549e4/pylibjpeg_openjpeg-2.4.0-cp313-cp313-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "ade4f43993a5f4041777939f53e763246f2e7c097979fbca376f73e02b6694a7",
"md5": "5cecc570ebc86e0f7704ed99a3074b18",
"sha256": "fcee9bea6371d7ff6351a56c2d5ca2eb0c83d2c28d5cc65ea2d69059e175c5bd"
},
"downloads": -1,
"filename": "pylibjpeg_openjpeg-2.4.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "5cecc570ebc86e0f7704ed99a3074b18",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": "<4.0,>=3.9",
"size": 1141675,
"upload_time": "2024-10-28T22:53:52",
"upload_time_iso_8601": "2024-10-28T22:53:52.996279Z",
"url": "https://files.pythonhosted.org/packages/ad/e4/f43993a5f4041777939f53e763246f2e7c097979fbca376f73e02b6694a7/pylibjpeg_openjpeg-2.4.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "ac7243271558f94f7d8a1ee61911ba3a01038c79782c08c637ea946666d1ec32",
"md5": "ddc7fcfdb0902669bf54297c7d7628f6",
"sha256": "0f28a9caf88acf3d7c91b216d5447709e4867c59d683f1efe04caf68b3642993"
},
"downloads": -1,
"filename": "pylibjpeg_openjpeg-2.4.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "ddc7fcfdb0902669bf54297c7d7628f6",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": "<4.0,>=3.9",
"size": 1198239,
"upload_time": "2024-10-28T22:53:54",
"upload_time_iso_8601": "2024-10-28T22:53:54.270863Z",
"url": "https://files.pythonhosted.org/packages/ac/72/43271558f94f7d8a1ee61911ba3a01038c79782c08c637ea946666d1ec32/pylibjpeg_openjpeg-2.4.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "962c7cca02102ecfb0227f2ffd7d3f1419a4b7a4fd409063df337c7f046e39e1",
"md5": "aa33cbf62b63f1751aadf159076cdcb5",
"sha256": "91ba44272e0644203f6d16d6534a05430b9262e5fad95c942c5fbef0873c0b96"
},
"downloads": -1,
"filename": "pylibjpeg_openjpeg-2.4.0-cp313-cp313-win32.whl",
"has_sig": false,
"md5_digest": "aa33cbf62b63f1751aadf159076cdcb5",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": "<4.0,>=3.9",
"size": 215407,
"upload_time": "2024-10-28T22:53:55",
"upload_time_iso_8601": "2024-10-28T22:53:55.509455Z",
"url": "https://files.pythonhosted.org/packages/96/2c/7cca02102ecfb0227f2ffd7d3f1419a4b7a4fd409063df337c7f046e39e1/pylibjpeg_openjpeg-2.4.0-cp313-cp313-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "697b2aba91724fcc9fb34abfaa8537f7698934297b527986b7d239691ed01d9a",
"md5": "d8b979ec67e38c29ff24bbb608a18232",
"sha256": "8ab188bc25f9a40369b40f634d401ee53cde63167a171969bfb1ceeee7a4e16c"
},
"downloads": -1,
"filename": "pylibjpeg_openjpeg-2.4.0-cp313-cp313-win_amd64.whl",
"has_sig": false,
"md5_digest": "d8b979ec67e38c29ff24bbb608a18232",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": "<4.0,>=3.9",
"size": 238829,
"upload_time": "2024-10-28T22:53:56",
"upload_time_iso_8601": "2024-10-28T22:53:56.639559Z",
"url": "https://files.pythonhosted.org/packages/69/7b/2aba91724fcc9fb34abfaa8537f7698934297b527986b7d239691ed01d9a/pylibjpeg_openjpeg-2.4.0-cp313-cp313-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "f547dddbc25dfc1847eda64ef36d1e79eacb646e1656adca34280f742cdcddb5",
"md5": "b94a3f2f9aa0aaa0a3affbf29be4c10c",
"sha256": "af9d2aaa2b4f540c6c6c0856e8473f68ca05af9ebca192c97e54a6999c1e7449"
},
"downloads": -1,
"filename": "pylibjpeg_openjpeg-2.4.0-cp39-cp39-macosx_10_9_x86_64.whl",
"has_sig": false,
"md5_digest": "b94a3f2f9aa0aaa0a3affbf29be4c10c",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": "<4.0,>=3.9",
"size": 305782,
"upload_time": "2024-10-28T22:53:57",
"upload_time_iso_8601": "2024-10-28T22:53:57.757886Z",
"url": "https://files.pythonhosted.org/packages/f5/47/dddbc25dfc1847eda64ef36d1e79eacb646e1656adca34280f742cdcddb5/pylibjpeg_openjpeg-2.4.0-cp39-cp39-macosx_10_9_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "d86d5caa2ffb0a011245fe3c24aec6a4b23a70b9e444112c98d26e301414ee9a",
"md5": "665bc62c5fb33333dce4511e9ceee0cf",
"sha256": "fe5be11596188eacaa9fb60f4697f7faff131e40fb0e38142967febeb1175dfc"
},
"downloads": -1,
"filename": "pylibjpeg_openjpeg-2.4.0-cp39-cp39-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "665bc62c5fb33333dce4511e9ceee0cf",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": "<4.0,>=3.9",
"size": 268947,
"upload_time": "2024-10-28T22:53:58",
"upload_time_iso_8601": "2024-10-28T22:53:58.886613Z",
"url": "https://files.pythonhosted.org/packages/d8/6d/5caa2ffb0a011245fe3c24aec6a4b23a70b9e444112c98d26e301414ee9a/pylibjpeg_openjpeg-2.4.0-cp39-cp39-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "218ae35fd1fb42c843157aa952a39e9b67438e82c9bd1771fdf165de081a7e22",
"md5": "efcee6ef28e9277a953b22cf80734f4a",
"sha256": "1786cb158fdf47f988cf1a16ec6b722304b78ded400d9053749f0c21e55b3ae9"
},
"downloads": -1,
"filename": "pylibjpeg_openjpeg-2.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "efcee6ef28e9277a953b22cf80734f4a",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": "<4.0,>=3.9",
"size": 1112849,
"upload_time": "2024-10-28T22:54:00",
"upload_time_iso_8601": "2024-10-28T22:54:00.659601Z",
"url": "https://files.pythonhosted.org/packages/21/8a/e35fd1fb42c843157aa952a39e9b67438e82c9bd1771fdf165de081a7e22/pylibjpeg_openjpeg-2.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "b8fbb380f89c3708654edad6fa875a28f3a31fff86de25d622de50cc7c827b57",
"md5": "c1d651e5bac483e210f3c981660a0288",
"sha256": "c972f663fa1b3932beee9790fea0a469fbd702d0cd76e4343836416577dfbdc7"
},
"downloads": -1,
"filename": "pylibjpeg_openjpeg-2.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "c1d651e5bac483e210f3c981660a0288",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": "<4.0,>=3.9",
"size": 1167111,
"upload_time": "2024-10-28T22:54:01",
"upload_time_iso_8601": "2024-10-28T22:54:01.955445Z",
"url": "https://files.pythonhosted.org/packages/b8/fb/b380f89c3708654edad6fa875a28f3a31fff86de25d622de50cc7c827b57/pylibjpeg_openjpeg-2.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "0fb96d47f347a1546258cd33bf9182aa89370bce568aa9b11eb3c1635733c9b6",
"md5": "ff1235efb54ded4fd5b20287d98e05e3",
"sha256": "e562c63facc7638abda8438cad5f7745a15841c2c73365fdb9b0d813d4842e11"
},
"downloads": -1,
"filename": "pylibjpeg_openjpeg-2.4.0-cp39-cp39-win32.whl",
"has_sig": false,
"md5_digest": "ff1235efb54ded4fd5b20287d98e05e3",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": "<4.0,>=3.9",
"size": 216465,
"upload_time": "2024-10-28T22:54:03",
"upload_time_iso_8601": "2024-10-28T22:54:03.099453Z",
"url": "https://files.pythonhosted.org/packages/0f/b9/6d47f347a1546258cd33bf9182aa89370bce568aa9b11eb3c1635733c9b6/pylibjpeg_openjpeg-2.4.0-cp39-cp39-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "98d0c98b9da733c4c6926e1f4bff78bcf9ae33544629c2ec2315ac56a3b413f1",
"md5": "2e75a10ad87bd3c71b0442d01fe6b6b7",
"sha256": "9764407a8435034a8327900f64acff9e2f4cbdeda658c99f2e69772b65cf71e5"
},
"downloads": -1,
"filename": "pylibjpeg_openjpeg-2.4.0-cp39-cp39-win_amd64.whl",
"has_sig": false,
"md5_digest": "2e75a10ad87bd3c71b0442d01fe6b6b7",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": "<4.0,>=3.9",
"size": 238876,
"upload_time": "2024-10-28T22:54:04",
"upload_time_iso_8601": "2024-10-28T22:54:04.177987Z",
"url": "https://files.pythonhosted.org/packages/98/d0/c98b9da733c4c6926e1f4bff78bcf9ae33544629c2ec2315ac56a3b413f1/pylibjpeg_openjpeg-2.4.0-cp39-cp39-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "933b18da1b72d215af4ce611390a35f378f7355fbcfee864e386b232b6caf7fb",
"md5": "f1d0c3ac380bf29dc80b97d62441f926",
"sha256": "727eee1ba8fc698c102ac4d8f43a01de7133c57646b01a87307e8dc8dcb4c40f"
},
"downloads": -1,
"filename": "pylibjpeg_openjpeg-2.4.0.tar.gz",
"has_sig": false,
"md5_digest": "f1d0c3ac380bf29dc80b97d62441f926",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.9",
"size": 1912870,
"upload_time": "2024-10-28T22:54:05",
"upload_time_iso_8601": "2024-10-28T22:54:05.485308Z",
"url": "https://files.pythonhosted.org/packages/93/3b/18da1b72d215af4ce611390a35f378f7355fbcfee864e386b232b6caf7fb/pylibjpeg_openjpeg-2.4.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-10-28 22:54:05",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "pydicom",
"github_project": "pylibjpeg-openjpeg",
"travis_ci": false,
"coveralls": true,
"github_actions": true,
"lcname": "pylibjpeg-openjpeg"
}