%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 [![unit-tests](https://github.com/pydicom/pydicom/workflows/unit-tests/badge.svg)](https://github.com/pydicom/pydicom/actions?query=workflow%3Aunit-tests) [![type-hints](https://github.com/pydicom/pydicom/workflows/type-hints/badge.svg)](https://github.com/pydicom/pydicom/actions?query=workflow%3Atype-hints) [![doc-build](https://circleci.com/gh/pydicom/pydicom/tree/master.svg?style=shield)](https://circleci.com/gh/pydicom/pydicom/tree/master) [![test-coverage](https://codecov.io/gh/pydicom/pydicom/branch/master/graph/badge.svg)](https://codecov.io/gh/pydicom/pydicom) [![Python version](https://img.shields.io/pypi/pyversions/pydicom.svg)](https://img.shields.io/pypi/pyversions/pydicom.svg) [![PyPI version](https://badge.fury.io/py/pydicom.svg)](https://badge.fury.io/py/pydicom) [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.6394735.svg)](https://doi.org/10.5281/zenodo.6394735) [![Gitter](https://badges.gitter.im/pydicom/Lobby.svg)](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) >>> 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 [![unit-tests](https://github.com/pydicom/pydicom/workflows/unit-tests/badge.svg)](https://github.com/pydicom/pydicom/actions?query=workflow%3Aunit-tests) [![type-hints](https://github.com/pydicom/pydicom/workflows/type-hints/badge.svg)](https://github.com/pydicom/pydicom/actions?query=workflow%3Atype-hints) [![doc-build](https://circleci.com/gh/pydicom/pydicom/tree/master.svg?style=shield)](https://circleci.com/gh/pydicom/pydicom/tree/master) [![test-coverage](https://codecov.io/gh/pydicom/pydicom/branch/master/graph/badge.svg)](https://codecov.io/gh/pydicom/pydicom) [![Python version](https://img.shields.io/pypi/pyversions/pydicom.svg)](https://img.shields.io/pypi/pyversions/pydicom.svg) [![PyPI version](https://badge.fury.io/py/pydicom.svg)](https://badge.fury.io/py/pydicom) [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.6394735.svg)](https://doi.org/10.5281/zenodo.6394735) [![Gitter](https://badges.gitter.im/pydicom/Lobby.svg)](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) >>> 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 [![unit-tests](https://github.com/pydicom/pydicom/workflows/unit-tests/badge.svg)](https://github.com/pydicom/pydicom/actions?query=workflow%3Aunit-tests) [![type-hints](https://github.com/pydicom/pydicom/workflows/type-hints/badge.svg)](https://github.com/pydicom/pydicom/actions?query=workflow%3Atype-hints) [![doc-build](https://circleci.com/gh/pydicom/pydicom/tree/master.svg?style=shield)](https://circleci.com/gh/pydicom/pydicom/tree/master) [![test-coverage](https://codecov.io/gh/pydicom/pydicom/branch/master/graph/badge.svg)](https://codecov.io/gh/pydicom/pydicom) [![Python version](https://img.shields.io/pypi/pyversions/pydicom.svg)](https://img.shields.io/pypi/pyversions/pydicom.svg) [![PyPI version](https://badge.fury.io/py/pydicom.svg)](https://badge.fury.io/py/pydicom) [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.6394735.svg)](https://doi.org/10.5281/zenodo.6394735) [![Gitter](https://badges.gitter.im/pydicom/Lobby.svg)](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) >>> 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 - 2.3.1-1 - Package Spec generated