Subject: [bug#59792] [PATCH] gnu: Add python-pydicom.

From: Antero Mejr <[email-masked]>
Date: Sat, 3 Dec 2022 05:08:29 +0000

* gnu/packages/python-science.scm (python-pydicom): New variable.
---
Please apply this patch first.
Supersedes #55989.

 gnu/packages/python-science.scm | 46 +++++++++++++++++++++++++++++++++
 1 file changed, 46 insertions(+)

diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm
index 52fe1460bb..00bba25a4a 100644
--- a/gnu/packages/python-science.scm
+++ b/gnu/packages/python-science.scm
@@ -1656,6 +1656,52 @@ (define-public python-vaex-core
 tabular datasets.  This package provides the core modules of Vaex.")
     (license license:expat)))
 
+(define-public python-pydicom
+  (package
+    (name "python-pydicom")
+    (version "2.3.1")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/pydicom/pydicom")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0q209i2jgwv5z1xhi7frydkplby7jaiz624pjq6vi51wvlmimpf6"))))
+    (build-system python-build-system)
+    (arguments
+     (list #:phases #~(modify-phases %standard-phases
+                        (replace 'check
+                          (lambda* (#:key tests? #:allow-other-keys)
+                            (when tests?
+                              ;; skip tests using external data
+                              (invoke "pytest" "-vv" "-k"
+                                      (string-append
+                                       " not TestDataElement"
+                                       " and not TestDatasetOverlayArray"
+                                       " and not TestReader"
+                                       " and not Test_JPEG_LS_Lossless_transfer_syntax"
+                                       " and not test_data_manager.py"
+                                       " and not test_encaps.py"
+                                       " and not test_encoders_pydicom.py"
+                                       " and not test_filewriter.py"
+                                       " and not test_gdcm_pixel_data.py"
+                                       " and not test_handler_util.py"
+                                       " and not test_jpeg_ls_pixel_data.py"
+                                       " and not test_numpy_pixel_data.py"
+                                       " and not test_overlay_np.py"
+                                       " and not test_pillow_pixel_data.py"
+                                       " and not test_rle_pixel_data.py"))))))))
+    (native-inputs (list python-pytest))
+    (propagated-inputs (list python-numpy python-pillow))
+    (home-page "https://github.com/pydicom/pydicom")
+    (synopsis "Python library for reading and writing DICOM data")
+    (description "@code{pydicom} is a Python library for reading and writing
+DICOM medical image files.  It lets developers read, modify and write DICOM data
+in a pythonic way.")
+    (license license:expat)))
+
 ;;;
 ;;; Avoid adding new packages to the end of this file. To reduce the chances
 ;;; of a merge conflict, place them above by existing packages with similar
-- 
2.38.1