diff options
author | CoprDistGit <infra@openeuler.org> | 2023-03-09 15:26:19 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2023-03-09 15:26:19 +0000 |
commit | dfe09d05c3e1524af9a1fb89af4dd64458122926 (patch) | |
tree | af5efca547e45deeda7c4730e623253db54cf1e2 | |
parent | 2fc2c46f85e4265459bcc1061628a31ace73c41b (diff) |
automatic import of python-pydicom
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | python-pydicom.spec | 429 | ||||
-rw-r--r-- | sources | 1 |
3 files changed, 431 insertions, 0 deletions
@@ -0,0 +1 @@ +/pydicom-2.3.1.tar.gz diff --git a/python-pydicom.spec b/python-pydicom.spec new file mode 100644 index 0000000..0cc04c5 --- /dev/null +++ b/python-pydicom.spec @@ -0,0 +1,429 @@ +%global _empty_manifest_terminate_build 0 +Name: python-pydicom +Version: 2.3.1 +Release: 1 +Summary: A pure Python package for reading and writing DICOM data +License: MIT +URL: https://github.com/pydicom/pydicom +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/0d/b6/4bb0f895db75ea0b1e0b925e2b0958ec0eb68b9bc19dc23277e13ba82d96/pydicom-2.3.1.tar.gz +BuildArch: noarch + +Requires: python3-numpy +Requires: python3-numpydoc +Requires: python3-matplotlib +Requires: python3-pillow +Requires: python3-sphinx +Requires: python3-sphinx-rtd-theme +Requires: python3-sphinx-gallery +Requires: python3-sphinxcontrib-napoleon +Requires: python3-sphinx-copybutton + +%description +[](https://github.com/pydicom/pydicom/actions?query=workflow%3Aunit-tests) +[](https://github.com/pydicom/pydicom/actions?query=workflow%3Atype-hints) +[](https://circleci.com/gh/pydicom/pydicom/tree/master) +[](https://codecov.io/gh/pydicom/pydicom) +[](https://img.shields.io/pypi/pyversions/pydicom.svg) +[](https://badge.fury.io/py/pydicom) +[](https://doi.org/10.5281/zenodo.6394735) +[](https://gitter.im/pydicom/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge) + +# *pydicom* + +*pydicom* is a pure Python package for working with [DICOM](https://www.dicomstandard.org/) 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](http://www.numpy.org). + +If you're looking for a Python library for DICOM networking then you might be interested in another of our projects: [pynetdicom](https://github.com/pydicom/pynetdicom). + +## Installation + +Using [pip](https://pip.pypa.io/en/stable/): +``` +pip install pydicom +``` +Using [conda](https://docs.conda.io/en/latest/): +``` +conda install -c conda-forge pydicom +``` + +For more information, including installation instructions for the development version, see the [installation guide](https://pydicom.github.io/pydicom/stable/tutorials/installation.html). + + +## Documentation + +The *pydicom* [user guide](https://pydicom.github.io/pydicom/stable/old/pydicom_user_guide.html), [tutorials](https://pydicom.github.io/pydicom/stable/tutorials/index.html), [examples](https://pydicom.github.io/pydicom/stable/auto_examples/index.html) and [API reference](https://pydicom.github.io/pydicom/stable/reference/index.html) documentation is available for both the [current release](https://pydicom.github.io/pydicom/stable) and the [development version](https://pydicom.github.io/pydicom/dev) on GitHub Pages. + +## *Pixel Data* + +Compressed and uncompressed *Pixel Data* is always available to +be read, changed and written as [bytes](https://docs.python.org/3/library/stdtypes.html#bytes-objects): +```python +>>> 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](http://www.numpy.org) is installed, *Pixel Data* can be converted to an [ndarray](https://numpy.org/doc/stable/reference/generated/numpy.ndarray.html) using the [Dataset.pixel_array](https://pydicom.github.io/pydicom/stable/reference/generated/pydicom.dataset.Dataset.html#pydicom.dataset.Dataset.pixel_array) property: + +```python +>>> 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) +``` +### Compressed *Pixel Data* +#### JPEG, JPEG-LS and JPEG 2000 +Converting JPEG 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](https://pydicom.github.io/pydicom/stable/old/image_data_handlers.html#guide-compressed). + +Compressing data into one of the JPEG formats is not currently supported. + +#### RLE +Encoding and decoding RLE *Pixel Data* only requires NumPy, however it can +be quite slow. You may want to consider [installing one or more additional +Python libraries](https://pydicom.github.io/pydicom/stable/old/image_data_compression.html) to speed up the process. + +## Examples +More [examples](https://pydicom.github.io/pydicom/stable/auto_examples/index.html) are available in the documentation. + +**Change a patient's ID** +```python +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](http://www.numpy.org) and [matplotlib](https://matplotlib.org/) +```python +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 + +To contribute to *pydicom*, read our [contribution guide](https://github.com/pydicom/pydicom/blob/master/CONTRIBUTING.md). + +To contribute an example or extension of *pydicom* that doesn't belong with the core software, see our contribution repository: +[contrib-pydicom](https://www.github.com/pydicom/contrib-pydicom). + + +%package -n python3-pydicom +Summary: A pure Python package for reading and writing DICOM data +Provides: python-pydicom +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-pydicom +[](https://github.com/pydicom/pydicom/actions?query=workflow%3Aunit-tests) +[](https://github.com/pydicom/pydicom/actions?query=workflow%3Atype-hints) +[](https://circleci.com/gh/pydicom/pydicom/tree/master) +[](https://codecov.io/gh/pydicom/pydicom) +[](https://img.shields.io/pypi/pyversions/pydicom.svg) +[](https://badge.fury.io/py/pydicom) +[](https://doi.org/10.5281/zenodo.6394735) +[](https://gitter.im/pydicom/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge) + +# *pydicom* + +*pydicom* is a pure Python package for working with [DICOM](https://www.dicomstandard.org/) 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](http://www.numpy.org). + +If you're looking for a Python library for DICOM networking then you might be interested in another of our projects: [pynetdicom](https://github.com/pydicom/pynetdicom). + +## Installation + +Using [pip](https://pip.pypa.io/en/stable/): +``` +pip install pydicom +``` +Using [conda](https://docs.conda.io/en/latest/): +``` +conda install -c conda-forge pydicom +``` + +For more information, including installation instructions for the development version, see the [installation guide](https://pydicom.github.io/pydicom/stable/tutorials/installation.html). + + +## Documentation + +The *pydicom* [user guide](https://pydicom.github.io/pydicom/stable/old/pydicom_user_guide.html), [tutorials](https://pydicom.github.io/pydicom/stable/tutorials/index.html), [examples](https://pydicom.github.io/pydicom/stable/auto_examples/index.html) and [API reference](https://pydicom.github.io/pydicom/stable/reference/index.html) documentation is available for both the [current release](https://pydicom.github.io/pydicom/stable) and the [development version](https://pydicom.github.io/pydicom/dev) on GitHub Pages. + +## *Pixel Data* + +Compressed and uncompressed *Pixel Data* is always available to +be read, changed and written as [bytes](https://docs.python.org/3/library/stdtypes.html#bytes-objects): +```python +>>> 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](http://www.numpy.org) is installed, *Pixel Data* can be converted to an [ndarray](https://numpy.org/doc/stable/reference/generated/numpy.ndarray.html) using the [Dataset.pixel_array](https://pydicom.github.io/pydicom/stable/reference/generated/pydicom.dataset.Dataset.html#pydicom.dataset.Dataset.pixel_array) property: + +```python +>>> 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) +``` +### Compressed *Pixel Data* +#### JPEG, JPEG-LS and JPEG 2000 +Converting JPEG 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](https://pydicom.github.io/pydicom/stable/old/image_data_handlers.html#guide-compressed). + +Compressing data into one of the JPEG formats is not currently supported. + +#### RLE +Encoding and decoding RLE *Pixel Data* only requires NumPy, however it can +be quite slow. You may want to consider [installing one or more additional +Python libraries](https://pydicom.github.io/pydicom/stable/old/image_data_compression.html) to speed up the process. + +## Examples +More [examples](https://pydicom.github.io/pydicom/stable/auto_examples/index.html) are available in the documentation. + +**Change a patient's ID** +```python +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](http://www.numpy.org) and [matplotlib](https://matplotlib.org/) +```python +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 + +To contribute to *pydicom*, read our [contribution guide](https://github.com/pydicom/pydicom/blob/master/CONTRIBUTING.md). + +To contribute an example or extension of *pydicom* that doesn't belong with the core software, see our contribution repository: +[contrib-pydicom](https://www.github.com/pydicom/contrib-pydicom). + + +%package help +Summary: Development documents and examples for pydicom +Provides: python3-pydicom-doc +%description help +[](https://github.com/pydicom/pydicom/actions?query=workflow%3Aunit-tests) +[](https://github.com/pydicom/pydicom/actions?query=workflow%3Atype-hints) +[](https://circleci.com/gh/pydicom/pydicom/tree/master) +[](https://codecov.io/gh/pydicom/pydicom) +[](https://img.shields.io/pypi/pyversions/pydicom.svg) +[](https://badge.fury.io/py/pydicom) +[](https://doi.org/10.5281/zenodo.6394735) +[](https://gitter.im/pydicom/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge) + +# *pydicom* + +*pydicom* is a pure Python package for working with [DICOM](https://www.dicomstandard.org/) 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](http://www.numpy.org). + +If you're looking for a Python library for DICOM networking then you might be interested in another of our projects: [pynetdicom](https://github.com/pydicom/pynetdicom). + +## Installation + +Using [pip](https://pip.pypa.io/en/stable/): +``` +pip install pydicom +``` +Using [conda](https://docs.conda.io/en/latest/): +``` +conda install -c conda-forge pydicom +``` + +For more information, including installation instructions for the development version, see the [installation guide](https://pydicom.github.io/pydicom/stable/tutorials/installation.html). + + +## Documentation + +The *pydicom* [user guide](https://pydicom.github.io/pydicom/stable/old/pydicom_user_guide.html), [tutorials](https://pydicom.github.io/pydicom/stable/tutorials/index.html), [examples](https://pydicom.github.io/pydicom/stable/auto_examples/index.html) and [API reference](https://pydicom.github.io/pydicom/stable/reference/index.html) documentation is available for both the [current release](https://pydicom.github.io/pydicom/stable) and the [development version](https://pydicom.github.io/pydicom/dev) on GitHub Pages. + +## *Pixel Data* + +Compressed and uncompressed *Pixel Data* is always available to +be read, changed and written as [bytes](https://docs.python.org/3/library/stdtypes.html#bytes-objects): +```python +>>> 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](http://www.numpy.org) is installed, *Pixel Data* can be converted to an [ndarray](https://numpy.org/doc/stable/reference/generated/numpy.ndarray.html) using the [Dataset.pixel_array](https://pydicom.github.io/pydicom/stable/reference/generated/pydicom.dataset.Dataset.html#pydicom.dataset.Dataset.pixel_array) property: + +```python +>>> 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) +``` +### Compressed *Pixel Data* +#### JPEG, JPEG-LS and JPEG 2000 +Converting JPEG 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](https://pydicom.github.io/pydicom/stable/old/image_data_handlers.html#guide-compressed). + +Compressing data into one of the JPEG formats is not currently supported. + +#### RLE +Encoding and decoding RLE *Pixel Data* only requires NumPy, however it can +be quite slow. You may want to consider [installing one or more additional +Python libraries](https://pydicom.github.io/pydicom/stable/old/image_data_compression.html) to speed up the process. + +## Examples +More [examples](https://pydicom.github.io/pydicom/stable/auto_examples/index.html) are available in the documentation. + +**Change a patient's ID** +```python +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](http://www.numpy.org) and [matplotlib](https://matplotlib.org/) +```python +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 + +To contribute to *pydicom*, read our [contribution guide](https://github.com/pydicom/pydicom/blob/master/CONTRIBUTING.md). + +To contribute an example or extension of *pydicom* that doesn't belong with the core software, see our contribution repository: +[contrib-pydicom](https://www.github.com/pydicom/contrib-pydicom). + + +%prep +%autosetup -n pydicom-2.3.1 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-pydicom -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Thu Mar 09 2023 Python_Bot <Python_Bot@openeuler.org> - 2.3.1-1 +- Package Spec generated @@ -0,0 +1 @@ +33d62d148b2baa678fcc790571cfced6 pydicom-2.3.1.tar.gz |