forked from pool/python-pydicom
Accepting request 1198702 from devel:languages:python
OBS-URL: https://build.opensuse.org/request/show/1198702 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-pydicom?expand=0&rev=16
This commit is contained in:
commit
cd93bd7c06
101
pydicom-pr2076-np2.patch
Normal file
101
pydicom-pr2076-np2.patch
Normal file
@ -0,0 +1,101 @@
|
|||||||
|
|
||||||
|
Index: pydicom-2.4.4/pydicom/pixel_data_handlers/pillow_handler.py
|
||||||
|
===================================================================
|
||||||
|
--- pydicom-2.4.4.orig/pydicom/pixel_data_handlers/pillow_handler.py
|
||||||
|
+++ pydicom-2.4.4/pydicom/pixel_data_handlers/pillow_handler.py
|
||||||
|
@@ -255,14 +255,14 @@ def get_pixeldata(ds: "Dataset") -> "num
|
||||||
|
if ds.PixelRepresentation == 1:
|
||||||
|
# Pillow converts signed data to unsigned
|
||||||
|
# so we need to undo this conversion
|
||||||
|
- arr -= 2**(bits_allocated - 1)
|
||||||
|
+ arr -= numpy.uint32(2**(bits_allocated - 1))
|
||||||
|
|
||||||
|
if shift:
|
||||||
|
arr = numpy.right_shift(arr, shift)
|
||||||
|
else:
|
||||||
|
# Corrections based on dataset elements
|
||||||
|
if ds.PixelRepresentation == 1:
|
||||||
|
- arr -= 2**(bits_allocated - 1)
|
||||||
|
+ arr -= numpy.uint32(2**(bits_allocated - 1))
|
||||||
|
|
||||||
|
if shift:
|
||||||
|
arr = numpy.right_shift(arr, shift)
|
||||||
|
Index: pydicom-2.4.4/pydicom/pixel_data_handlers/pylibjpeg_handler.py
|
||||||
|
===================================================================
|
||||||
|
--- pydicom-2.4.4.orig/pydicom/pixel_data_handlers/pylibjpeg_handler.py
|
||||||
|
+++ pydicom-2.4.4/pydicom/pixel_data_handlers/pylibjpeg_handler.py
|
||||||
|
@@ -66,11 +66,7 @@ except ImportError:
|
||||||
|
HAVE_PYLIBJPEG = False
|
||||||
|
|
||||||
|
if HAVE_PYLIBJPEG:
|
||||||
|
- try:
|
||||||
|
- from pylibjpeg.utils import get_pixel_data_decoders
|
||||||
|
- except ImportError:
|
||||||
|
- # Old import, deprecated in 1.2, removal in 2.0
|
||||||
|
- from pylibjpeg.pydicom.utils import get_pixel_data_decoders
|
||||||
|
+ from pylibjpeg.utils import get_pixel_data_decoders, Decoder
|
||||||
|
|
||||||
|
try:
|
||||||
|
import openjpeg
|
||||||
|
@@ -249,7 +245,7 @@ def generate_frames(
|
||||||
|
"elements are missing from the dataset: " + ", ".join(missing)
|
||||||
|
)
|
||||||
|
|
||||||
|
- decoder = _DECODERS[tsyntax]
|
||||||
|
+ decoder = cast(Decoder, _DECODERS[tsyntax])
|
||||||
|
LOGGER.debug(f"Decoding {tsyntax.name} encoded Pixel Data using {decoder}")
|
||||||
|
|
||||||
|
nr_frames = getattr(ds, "NumberOfFrames", 1)
|
||||||
|
@@ -260,7 +256,7 @@ def generate_frames(
|
||||||
|
bits_allocated = cast(int, ds.BitsAllocated)
|
||||||
|
|
||||||
|
for frame in generate_pixel_data_frame(ds.PixelData, nr_frames):
|
||||||
|
- arr = decoder(frame, pixel_module)
|
||||||
|
+ arr = decoder(frame, ds=pixel_module)
|
||||||
|
|
||||||
|
if (
|
||||||
|
tsyntax in [JPEG2000, JPEG2000Lossless]
|
||||||
|
Index: pydicom-2.4.4/pydicom/tests/test_encoders_pydicom.py
|
||||||
|
===================================================================
|
||||||
|
--- pydicom-2.4.4.orig/pydicom/tests/test_encoders_pydicom.py
|
||||||
|
+++ pydicom-2.4.4/pydicom/tests/test_encoders_pydicom.py
|
||||||
|
@@ -444,7 +444,7 @@ class TestRLEEncodeFrame:
|
||||||
|
assert ds.SamplesPerPixel == 3
|
||||||
|
assert ds.PixelRepresentation == 0
|
||||||
|
|
||||||
|
- arr = ref.newbyteorder('>')
|
||||||
|
+ arr = ref.view(ref.dtype.newbyteorder('>'))
|
||||||
|
assert id(arr) != id(ref)
|
||||||
|
assert arr.dtype == '>u2'
|
||||||
|
encoded = rle_encode_frame(arr)
|
||||||
|
Index: pydicom-2.4.4/pydicom/pixel_data_handlers/util.py
|
||||||
|
===================================================================
|
||||||
|
--- pydicom-2.4.4.orig/pydicom/pixel_data_handlers/util.py
|
||||||
|
+++ pydicom-2.4.4/pydicom/pixel_data_handlers/util.py
|
||||||
|
@@ -200,7 +200,7 @@ def apply_color_lut(
|
||||||
|
# IVs >= `first_map` are mapped by the Palette Color LUTs
|
||||||
|
# `first_map` may be negative, positive or 0
|
||||||
|
mapped_pixels = arr >= first_map
|
||||||
|
- clipped_iv[mapped_pixels] = arr[mapped_pixels] - first_map
|
||||||
|
+ clipped_iv[mapped_pixels] = arr[mapped_pixels] - np.int32(first_map)
|
||||||
|
# IVs > number of entries get set to last entry
|
||||||
|
np.clip(clipped_iv, 0, nr_entries - 1, out=clipped_iv)
|
||||||
|
|
||||||
|
@@ -276,7 +276,7 @@ def apply_modality_lut(arr: "np.ndarray"
|
||||||
|
# IVs >= `first_map` are mapped by the Modality LUT
|
||||||
|
# `first_map` may be negative, positive or 0
|
||||||
|
mapped_pixels = arr >= first_map
|
||||||
|
- clipped_iv[mapped_pixels] = arr[mapped_pixels] - first_map
|
||||||
|
+ clipped_iv[mapped_pixels] = arr[mapped_pixels] - np.int32(first_map)
|
||||||
|
# IVs > number of entries get set to last entry
|
||||||
|
np.clip(clipped_iv, 0, nr_entries - 1, out=clipped_iv)
|
||||||
|
|
||||||
|
@@ -458,7 +458,7 @@ def apply_voi(
|
||||||
|
# IVs >= `first_map` are mapped by the VOI LUT
|
||||||
|
# `first_map` may be negative, positive or 0
|
||||||
|
mapped_pixels = arr >= first_map
|
||||||
|
- clipped_iv[mapped_pixels] = arr[mapped_pixels] - first_map
|
||||||
|
+ clipped_iv[mapped_pixels] = arr[mapped_pixels] - np.int32(first_map)
|
||||||
|
# IVs > number of entries get set to last entry
|
||||||
|
np.clip(clipped_iv, 0, nr_entries - 1, out=clipped_iv)
|
||||||
|
|
@ -1,3 +1,8 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Sep 4 07:18:47 UTC 2024 - Ben Greiner <code@bnavigator.de>
|
||||||
|
|
||||||
|
- Add pydicom-pr2076-np2.patch backport of gh#pydicom/pydicom#2076
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Mon Feb 19 10:16:16 UTC 2024 - Andreas Schwab <schwab@suse.de>
|
Mon Feb 19 10:16:16 UTC 2024 - Andreas Schwab <schwab@suse.de>
|
||||||
|
|
||||||
|
@ -26,6 +26,8 @@ URL: https://github.com/darcymason/pydicom
|
|||||||
Source: https://github.com/pydicom/pydicom/archive/refs/tags/v%{version}.tar.gz#/pydicom-%{version}-gh.tar.gz
|
Source: https://github.com/pydicom/pydicom/archive/refs/tags/v%{version}.tar.gz#/pydicom-%{version}-gh.tar.gz
|
||||||
# PATCH-FIX-UPSTREAM pydicom-pr1908-fixpillow.patch gh#pydicom/pydicom#1908 fixes gh#pydicom/pydicom#1907
|
# PATCH-FIX-UPSTREAM pydicom-pr1908-fixpillow.patch gh#pydicom/pydicom#1908 fixes gh#pydicom/pydicom#1907
|
||||||
Patch0: pydicom-pr1908-fixpillow.patch
|
Patch0: pydicom-pr1908-fixpillow.patch
|
||||||
|
# PATCH-FIX-UPSTREAM pydicom-pr2076-np2.patch gh#pydicom/pydicom#2076
|
||||||
|
Patch1: pydicom-pr2076-np2.patch
|
||||||
BuildRequires: %{python_module base >= 3.7}
|
BuildRequires: %{python_module base >= 3.7}
|
||||||
BuildRequires: %{python_module flit-core >= 3.2}
|
BuildRequires: %{python_module flit-core >= 3.2}
|
||||||
BuildRequires: %{python_module pip}
|
BuildRequires: %{python_module pip}
|
||||||
@ -44,7 +46,7 @@ BuildRequires: python3-gdcm
|
|||||||
# /SECTION
|
# /SECTION
|
||||||
BuildArch: noarch
|
BuildArch: noarch
|
||||||
Requires(post): update-alternatives
|
Requires(post): update-alternatives
|
||||||
Requires(postun):update-alternatives
|
Requires(postun): update-alternatives
|
||||||
%python_subpackages
|
%python_subpackages
|
||||||
|
|
||||||
%description
|
%description
|
||||||
|
Loading…
Reference in New Issue
Block a user