Giter Club home page Giter Club logo

pylibjpeg's Introduction

unit-tests type-hints doc-build test-coverage Python version PyPI version DOI

pydicom

pydicom is a pure Python package for working with DICOM files. It lets you read, modify and write DICOM data in an easy "pythonic" way. As a pure Python package, pydicom can run anywhere Python runs without any other requirements, although if you're working with Pixel Data then we recommend you also install NumPy.

Note that pydicom is a general-purpose DICOM framework concerned with reading and writing DICOM datasets. In order to keep the project manageable, it does not handle the specifics of individual SOP classes or other aspects of DICOM. Other libraries both inside and outside the pydicom organization are based on pydicom and provide support for other aspects of DICOM, and for more specific applications.

Examples are pynetdicom, which is a Python library for DICOM networking, and deid, which supports the anonymization of DICOM files.

Installation

Using pip:

pip install pydicom

Using conda:

conda install -c conda-forge pydicom

For more information, including installation instructions for the development version, see the installation guide.

Documentation

The pydicom user guide, tutorials, examples and API reference documentation is available for both the current release and the development version on GitHub Pages.

Pixel Data

Compressed and uncompressed Pixel Data is always available to be read, changed and written as bytes:

>>> from pydicom import dcmread
>>> from pydicom.data import get_testdata_file
>>> path = get_testdata_file("CT_small.dcm")
>>> ds = dcmread(path)
>>> type(ds.PixelData)
<class 'bytes'>
>>> len(ds.PixelData)
32768
>>> ds.PixelData[:2]
b'\xaf\x00'

If NumPy is installed, Pixel Data can be converted to an ndarray using the Dataset.pixel_array property:

>>> arr = ds.pixel_array
>>> arr.shape
(128, 128)
>>> arr
array([[175, 180, 166, ..., 203, 207, 216],
       [186, 183, 157, ..., 181, 190, 239],
       [184, 180, 171, ..., 152, 164, 235],
       ...,
       [906, 910, 923, ..., 922, 929, 927],
       [914, 954, 938, ..., 942, 925, 905],
       [959, 955, 916, ..., 911, 904, 909]], dtype=int16)

Decompressing Pixel Data

JPEG, JPEG-LS and JPEG 2000

Converting JPEG, JPEG-LS or JPEG 2000 compressed Pixel Data to an ndarray requires installing one or more additional Python libraries. For information on which libraries are required, see the pixel data handler documentation.

RLE

Decompressing RLE Pixel Data only requires NumPy, however it can be quite slow. You may want to consider installing one or more additional Python libraries to speed up the process.

Compressing Pixel Data

Information on compressing Pixel Data using one of the below formats can be found in the corresponding encoding guides. These guides cover the specific requirements for each encoding method and we recommend you be familiar with them when performing image compression.

JPEG-LS, JPEG 2000

Compressing image data from an ndarray or bytes object to JPEG-LS or JPEG 2000 requires installing the following:

RLE

Compressing using RLE requires no additional packages but can be quite slow. It can be sped up by installing pylibjpeg with the pylibjpeg-rle plugin, or gdcm.

Examples

More examples are available in the documentation.

Change a patient's ID

from pydicom import dcmread

ds = dcmread("/path/to/file.dcm")
# Edit the (0010,0020) 'Patient ID' element
ds.PatientID = "12345678"
ds.save_as("/path/to/file_updated.dcm")

Display the Pixel Data

With NumPy and matplotlib

import matplotlib.pyplot as plt
from pydicom import dcmread
from pydicom.data import get_testdata_file

# The path to a pydicom test dataset
path = get_testdata_file("CT_small.dcm")
ds = dcmread(path)
# `arr` is a numpy.ndarray
arr = ds.pixel_array

plt.imshow(arr, cmap="gray")
plt.show()

Contributing

We are all volunteers working on pydicom in our free time. As our resources are limited, we very much value your contributions, be it bug fixes, new core features, or documentation improvements. For more information, please read our contribution guide.

pylibjpeg's People

Contributors

dependabot[bot] avatar hackermd avatar scaramallion avatar siamotuttiantimarco avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

pylibjpeg's Issues

v1.0.0 Release

  • Add test coverage
    • Add tests for pixel data handler (#4)
    • Add tests for decode and reconstruct (#19, #22)
  • Add ability to retrieve JPEG parameter data (#19)
  • Add ability to retrieve to numpy array without needing to go through pydicom (#19)
  • Add return status code to Decode() and exceptions (#13)
  • Housekeeping stuff
    • Add Travis builds
    • Fix up setup
    • Check install somehow - travis osx and windows builds
    • Add versioning
  • Add documentation
  • Add to pypi
    • Configuration for building wheels
  • Move to pydicom org

Tried to use this to parse a DICOM file and still am just getting a solid green image

Details:
Lossy compression with JPEG baseline, IJG quality factor 100, compression ratio 3.5922
(0002, 0010) Transfer Syntax UID UI: JPEG Baseline (Process 1)

Even following readme instructions and importing pylibjpeg before trying to read pixel_array, I get this error:
OSError: broken data stream when reading image file

I've attached the DICOM file that has this problem. Please advise! Thank you.
1.3.6.1.4.1.30071.6.203050750883198.3657180267111537.dcm.gz

Reorganise package

Reorganise the package:

  • pylibjpeg - MIT license. Uses -openjpeg and -libjpeg as plugins.
    • Rewrite to use plugin architecture
    • Merge pylibjpeg-tools into it.
    • pylibjpeg-openjpeg - MIT license, requires cython and numpy, supports JPEG2000. Optional. Wrapper for openjpeg library. Not yet implemented.
    • pylibjpeg-libjpeg - GPL v3 license, requires cython and numpy, supports JPEG and JPEG-LS.
      Optional. Wrapper for libjpeg library. Needs wheels. Done, waiting for pylibjpeg
  • pylibjpeg-data - MIT, optional data for unit testing. Should add J2K data to it at some point
  • pylibjpeg-wheels - MIT, for building wheels for pylibjpeg-libjpeg.

Not a fan of GPL v3

DICOM compressed image ( JPEG Extended (Process 2 and 4)) problems

dicom_file_path = "1.2.840.10008.1.2.4.51.dcm" # JPEG Extended (Process 2 and 4)
ds = pydicom.dcmread(dicom_file_path)
arr=ds.pixel_array # 
plt.imshow(arr, cmap=plt.cm.bone)
plt.title("Decompressed DICOM Image")
plt.show()

I would like to display DICOM image like avove
many other compressed transfersyntax file is doing well
I installed most of required lib.
the error mesage is like bellow

File "C:\Users\jedim\AppData\Local\Programs\Python\Python311\Lib\site-packages\libjpeg\utils.py", line 116, in decode
    raise RuntimeError(
RuntimeError: libjpeg error code '-1038' returned from Decode(): A misplaced marker segment was found - scan start must be zero and scan stop must be 63 for the sequential operating modes

help me ......

failure in pixel_data_handlers\pylibjpeg_handler

The problem
I'm trying to read a dicom-file, which is in JPEG Lossless syntax. Therefor I need the pylibjpeg-libjpeg module, which causes an error in the import from pydicom:

AttributeError: partially initialized module 'pydicom' has no attribute 'config' (most likely due to a circular import)

Full traceback:
Traceback (most recent call last): File "read_and_show_dicom.py", line 6, in <module> import pydicom File "C:\...\env38\lib\site-packages\pydicom\__init__.py", line 32, in <module> from pydicom.dataelem import DataElement File "C:\...\env38\lib\site-packages\pydicom\dataelem.py", line 18, in <module> from pydicom import config # don't import datetime_conversion directly File "C:\...\env38\lib\site-packages\pydicom\config.py", line 238, in <module> import pydicom.pixel_data_handlers.pylibjpeg_handler as pylibjpeg_handler # noqa File "C:\...\env38\lib\site-packages\pydicom\pixel_data_handlers\pylibjpeg_handler.py", line 59, in <module> import pylibjpeg File "C:\...\env38\lib\site-packages\pylibjpeg\__init__.py", line 38, in <module> add_handler() File "C:\...\env38\lib\site-packages\pylibjpeg\utils.py", line 24, in add_handler if handler not in pydicom.config.pixel_data_handlers: AttributeError: partially initialized module 'pydicom' has no attribute 'config' (most likely due to a circular import)

My environment
Output for: python -m pydicom.env_info

module version
platform Windows-10-10.0.19041-SP0
Python 3.8.7 (tags/v3.8.7:6503f05, Dec 21 2020, 17:43:54) [MSC v.1928 32 bit (Intel)]
pydicom 2.1.2
gdcm module not found
jpeg_ls module not found
numpy 1.19.5
PIL 8.1.0

My imports

from tkinter import *
from tkinter.ttk import *
import cv2
import numpy as np
import pydicom  
from PIL import ImageTk, Image

v1.1.0 Release

  • Add J2K decoding via -openjpeg plugin
  • Improve plugin interface (#39)

Circular import error

I was eager to have found pydicom.pixel_data_handlers.pylibjpeg_handler.generate_frames, so I installed this package to enable it. However, similar to #56, I have the following error after pip install --user pylibjpeg:

> python -m pydicom.env_info
Traceback (most recent call last):
  File "/usr/lib/python3.10/runpy.py", line 187, in _run_module_as_main
    mod_name, mod_spec, code = _get_module_details(mod_name, _Error)
  File "/usr/lib/python3.10/runpy.py", line 110, in _get_module_details
    __import__(pkg_name)
  File "/home/nick/.local/lib/python3.10/site-packages/pydicom/__init__.py", line 32, in <module>
    from pydicom.dataelem import DataElement
  File "/home/nick/.local/lib/python3.10/site-packages/pydicom/dataelem.py", line 18, in <module>
    from pydicom import config  # don't import datetime_conversion directly
  File "/home/nick/.local/lib/python3.10/site-packages/pydicom/config.py", line 258, in <module>
    import pydicom.pixel_data_handlers.rle_handler as rle_handler  # noqa
  File "/home/nick/.local/lib/python3.10/site-packages/pydicom/pixel_data_handlers/rle_handler.py", line 51, in <module>
    from pydicom.encoders.native import _encode_frame
  File "/home/nick/.local/lib/python3.10/site-packages/pydicom/encoders/__init__.py", line 1, in <module>
    from pydicom.encoders.base import get_encoder, RLELosslessEncoder
  File "/home/nick/.local/lib/python3.10/site-packages/pydicom/encoders/base.py", line 869, in <module>
    RLELosslessEncoder.add_plugin(
  File "/home/nick/.local/lib/python3.10/site-packages/pydicom/encoders/base.py", line 84, in add_plugin
    module = import_module(import_path[0])
  File "/usr/lib/python3.10/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "/home/nick/.local/lib/python3.10/site-packages/pydicom/encoders/pylibjpeg.py", line 9, in <module>
    from pylibjpeg.utils import get_pixel_data_encoders
  File "/home/nick/.local/lib/python3.10/site-packages/pylibjpeg/__init__.py", line 38, in <module>
    add_handler()
  File "/home/nick/.local/lib/python3.10/site-packages/pylibjpeg/utils.py", line 24, in add_handler
    if handler not in pydicom.config.pixel_data_handlers:
AttributeError: partially initialized module 'pydicom' has no attribute 'config' (most likely due to a circular import)

Without pylibjpeg installed I get

> python -m pydicom.env_info
module       | version
------       | -------
platform     | Linux-5.15.12-arch1-1-x86_64-with-glibc2.33
Python       | 3.10.1 (main, Dec 18 2021, 23:53:45) [GCC 11.1.0]
pydicom      | 2.2.2
gdcm         | _module not found_
jpeg_ls      | _module not found_
numpy        | 1.21.5
PIL          | 8.4.0
pylibjpeg    | _module not found_
openjpeg     | _module not found_
libjpeg      | _module not found_

The installed version of pylibjpeg prints some errors (but does complete):

> pip install --user pylibjpeg
Collecting pylibjpeg
  Using cached pylibjpeg-1.3.0-py3-none-any.whl (28 kB)
Collecting pylibjpeg-openjpeg
  Using cached pylibjpeg-openjpeg-1.1.1.tar.gz (2.3 MB)
    ERROR: Command errored out with exit status 1:
     command: /usr/bin/python -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-pm4x0cuw/pylibjpeg-openjpeg_1baf7583772949f5b35b846de98cee56/setup.py'"'"'; __file__='"'"'/tmp/pip-install-pm4x0cuw/pylibjpeg-openjpeg_1baf7583772949f5b35b846de98cee56/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-pip-egg-info-0prroz49
         cwd: /tmp/pip-install-pm4x0cuw/pylibjpeg-openjpeg_1baf7583772949f5b35b846de98cee56/
    Complete output (11 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-install-pm4x0cuw/pylibjpeg-openjpeg_1baf7583772949f5b35b846de98cee56/setup.py", line 87, in <module>
        setup_oj()
      File "/tmp/pip-install-pm4x0cuw/pylibjpeg-openjpeg_1baf7583772949f5b35b846de98cee56/setup.py", line 60, in setup_oj
        shutil.copy(
      File "/usr/lib/python3.10/shutil.py", line 417, in copy
        copyfile(src, dst, follow_symlinks=follow_symlinks)
      File "/usr/lib/python3.10/shutil.py", line 254, in copyfile
        with open(src, 'rb') as fsrc:
    FileNotFoundError: [Errno 2] No such file or directory: 'build_tools/cmake/CMakeLists.txt'
    ----------------------------------------
WARNING: Discarding https://files.pythonhosted.org/packages/71/e9/94f3d009e9f9f31bb76075641214bdabdbe557b26ce74ff71ef1c28b2c05/pylibjpeg-openjpeg-1.1.1.tar.gz#sha256=e7adfd8e2c63661b75219d5ae381ac50381054df41ca94d0d01ddfbe362a66cc (from https://pypi.org/simple/pylibjpeg-openjpeg/) (requires-python:>=3.6). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
  Using cached pylibjpeg-openjpeg-1.1.0.tar.gz (2.3 MB)
    ERROR: Command errored out with exit status 1:
     command: /usr/bin/python -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-pm4x0cuw/pylibjpeg-openjpeg_aa94277196914aa0977c3af9a91bdadd/setup.py'"'"'; __file__='"'"'/tmp/pip-install-pm4x0cuw/pylibjpeg-openjpeg_aa94277196914aa0977c3af9a91bdadd/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-pip-egg-info-l4_vjocc
         cwd: /tmp/pip-install-pm4x0cuw/pylibjpeg-openjpeg_aa94277196914aa0977c3af9a91bdadd/
    Complete output (11 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-install-pm4x0cuw/pylibjpeg-openjpeg_aa94277196914aa0977c3af9a91bdadd/setup.py", line 87, in <module>
        setup_oj()
      File "/tmp/pip-install-pm4x0cuw/pylibjpeg-openjpeg_aa94277196914aa0977c3af9a91bdadd/setup.py", line 60, in setup_oj
        shutil.copy(
      File "/usr/lib/python3.10/shutil.py", line 417, in copy
        copyfile(src, dst, follow_symlinks=follow_symlinks)
      File "/usr/lib/python3.10/shutil.py", line 254, in copyfile
        with open(src, 'rb') as fsrc:
    FileNotFoundError: [Errno 2] No such file or directory: 'build_tools/cmake/CMakeLists.txt'
    ----------------------------------------
WARNING: Discarding https://files.pythonhosted.org/packages/49/1c/43de9deec30e2a641a3a2f11efa6c13185fa2c77a962676e370a282a3814/pylibjpeg-openjpeg-1.1.0.tar.gz#sha256=66514f5d5df6fdfc704296a8420e4b1feb335fad4e6901435e00c37f353fb44e (from https://pypi.org/simple/pylibjpeg-openjpeg/) (requires-python:>=3.7). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
Collecting pylibjpeg
  Using cached pylibjpeg-1.2.0-py3-none-any.whl (27 kB)
  Using cached pylibjpeg-1.1.1-py3-none-any.whl (29 kB)
  Using cached pylibjpeg-1.1.0-py3-none-any.whl (29 kB)
  Using cached pylibjpeg-1.0.0-py2.py3-none-any.whl (31 kB)
Requirement already satisfied: numpy in /usr/lib/python3.10/site-packages (from pylibjpeg) (1.21.5)
Installing collected packages: pylibjpeg
Successfully installed pylibjpeg-1.0.0

Anything I can do to fix this?

pydicom version needs >= 1.4.0

Just a reminder, this plugin need pydicom>=1.4.0, or it won't work.

Some examples of exceptions (pydicom==1.3.0):
code:

from pydicom import dcmread
from pydicom.data import get_testdata_files
import pylibjpeg

ds = dcmread(get_testdata_files('JPEG-LL.dcm')[0])
_ = ds.pixel_array

output:

Traceback (most recent call last):
  File "test_pylibjpeg.py", line 6, in <module>
    _ = ds.pixel_array
  File "some_path\lib\site-packages\pydicom\dataset.py", line 1362, in pixel_array
    self.convert_pixel_data()
  File "some_path\lib\site-packages\pydicom\dataset.py", line 1308, in convert_pixel_data
    raise last_exception
  File "some_path\lib\site-packages\pydicom\dataset.py", line 1276, in convert_pixel_data
    arr = handler.get_pixeldata(self)
  File "some_path\lib\site-packages\pylibjpeg\pydicom\pixel_data_handler.py", line 213, in get_pixeldata
    generate_frames = generate_pixel_data_frame(ds.PixelData, nr_frames)
TypeError: generate_pixel_data_frame() takes 1 positional argument but 2 were given.

Use other usage like pylibjpeg.decode, you will get different except.

It is a simple problem, but cost me 3 hours, including test platform testing, etc.

Maybe the dependency(pydicom>=1.40) should be added to pip or doc.

RGB problem

Ekran görüntüsü 2024-07-31 121829
Hello, we are using Ge Healthcare ZFP viewer,

We have such an error, where should we look?

Unable to convert the Pixel Data as the 'pylibjpeg-libjpeg' plugin is not installed

I am using Python 3.10 along with VS2019 . Script works fine but when I use pyinstaller I get the error Unable to convert the Pixel Data as the 'pylibjpeg-libjpeg' plugin is not installed. I created the exe with the following command line pyinstaller --hiddenimport=pydicom.encoders.gdcm --collect-all pydicom --onefile trypy.py. The versions of pylibjpeg pylibjpeg-openjpeg pylibjpeg-libjpeg have updated to the latest versions. Thank you in advance for your help.

RuntimeError: Unable to convert the Pixel Data as the 'pylibjpeg-libjpeg' plugin is not installed when running the executable generated with PyInstaller (but not with the script.py)

I run into a similar probalem as related in #63: When I run the script (script.py), there is no problem and I can run it without any problem. However, I cannot run the executable that I created with PyInstaller because I get the message: 'RuntimeError: Unable to convert the Pixel Data as the 'pylibjpeg-libjpeg' plugin is not installed'. This executable strategy worked fine until I installed pylibjpeg. In the script.py I only import pydicom (and not pylibjpeg). Kindly, help in sorting this asap.

Finish housekeeping tasks

  • fix up setup.py with all the things
  • move to pydicom org
  • add a bit more documentation to the readme I guess

JPEG encoding

Hello, I am trying to implement jpeg encoding for dicom within a python (without saving on disk, thus gdcmconv is not an option). I tried to use PIL, but unfortunately some of the required (by PIL) libraries has versions conflicts (with versions I use).
It would be great if you can give any starting point on how to add such functionality.

Libjpeg-turbo

Apparently there is now 12-bit support in libjpeg-turbo as of v3.0.x.

Perhaps it can be investigated as a replacement for / in addition to pylibjpeg-libjpeg, with a more permissive license (BSD-style).

According to the libjpeg-turbo README:

The libjpeg API implementation in libjpeg-turbo is both API/ABI-compatible and mathematically compatible with libjpeg v6b. It can also optionally be configured to be API/ABI-compatible with libjpeg v7 and v8 (see below.)

Which sounds to me (non-expert) like it could be almost a drop-in replacement in the existing libjpeg handler code.

Add support for decoding 4+ component images

Compliance tests for 10918 JPEG use 4 (and up to 255) component data, should support this. On the other hand, DICOM doesn't use more than 3 component images, so it can wait.

Dependency on pylibjpeg-rle

Why does this package depend on pylibjpeg-rle?

  1. Run-length encoding is not a JPEG codec.
  2. The pylibjpeg-rle requires a Rust compiler, which is not widely available.

I would suggest making pylibjpeg-rle (and probably also pylibjpeg-openjpeg) an extra install requirement (using extras_require).

using pylibjpeg with executable creator libraries

Hi. thank you for your great library. I write a code that uses pylibjpeg. the code works pretty well. I created an executable file of my code but in the generated .exe program, pylibjpeg doesn't work and it gives me GDCM handler error. I think the problem happened because of pylibjpeg-libjpeg. for creating .exe with cx_freeze I should determine the package that used in my code in a list. when I add pylibjpeg-libjpeg to that list .exe creator code gives me error(No module named 'pylibjpeg-libjpeg'). I tried other .exe creator library like pyinstaller but the problem was same. They did not recognize pylibjpeg-libjpeg and did not add it to the .exe lib folder

`RuntimeError: Unable to convert the Pixel Data as the 'pylibjpeg-libjpeg' plugin is not installed` when running the executable generated with PyInstaller (but not with the script.py)

Hello

First of all thank you very much to the developper of pydicom: it is really a great packages!

Here are my specification
pyinstaller==4.3
pydicom==2.1.2
pylibjpeg==1.3.0
pylibjpeg-libjpeg==1.2.0
pylibjpeg-openjpeg==1.1.1
pylibjpeg-rle==1.1.0
Python 3.8.5
Ubunutu 20.04.2 LTS

I run into a similar probalem as related in #58: When I run the script (script.py), there is no problem and I can run it without any problem. However, I cannot run the executable that I created with PyInstaller because I get the message: 'RuntimeError: Unable to convert the Pixel Data as the 'pylibjpeg-libjpeg' plugin is not installed'. This executable strategy worked fine until I installed pylibjpeg. In the script.py I only import pydicom (and not pylibjpeg)

Conda install support?

I just needed to install to support some jpeg lossless mammo images and found that pylibjpeg isn't available to install via conda (searching conda-forge), in contrast to pydicom.

Installed via pip (conda's pip), however was just wondering is there any thoughts on making it available via conda?

Pixel handler with support for JPEG2000

Hi,

I tried to read a DICOM file with transfer syntax [1.2.840.10008.1.2.4.90] as described on the page https://github.com/pydicom/pylibjpeg and received the following warning suggesting that the underlying mechanism for decompression still uses the obsolete pixel handler from PIL instead of the one provided by pylibjpeg-openjpeg plugin:

UserWarning: The (0028,0101) 'Bits Stored' value doesn't match the sample bit depth of the JPEG2000 pixel data (12 vs 11 bit). It's recommended that you first change the 'Bits Stored' value to match the JPEG2000 bit depth in order to get the correct pixel data "correct pixel data".format(ds.BitsStored, j2k_precision)

The script I used:

from pydicom import dcmread
import pylibjpeg

ds = dcmread(r"dicom.dcm")
j2k_arr = ds.pixel_array 

I upgraded all necessary packages to the latest versions, so the setup was as follows:
pydicom 2.0.0
pylibjpeg 1.1.1
pylibjpeg-libjpeg 1.0.0
pylibjpeg-openjpeg 1.0.1

Is this feature included in the latest release? Am I doing something wrong?

Also according to the https://github.com/pydicom/pydicom/blob/master/pydicom/config.py the PIL handler is still being added to the handlers collection as a support for JPEG2000.

Regards,
Bartek

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.