Metadata-Version: 2.4
Name: highdicom
Version: 0.27.0
Summary: High-level DICOM abstractions.
Author: Markus D. Herrmann, Christopher P. Bridge
Maintainer: Markus D. Herrmann, Christopher P. Bridge
License: LICENSE
Project-URL: homepage, https://github.com/imagingdatacommons/highdicom
Project-URL: documentation, https://highdicom.readthedocs.io/
Project-URL: repository, https://github.com/ImagingDataCommons/highdicom.git
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: MacOS
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Multimedia :: Graphics
Classifier: Topic :: Scientific/Engineering :: Information Analysis
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: numpy>=1.19
Requires-Dist: pillow>=8.3
Requires-Dist: pydicom>=3.0.1
Requires-Dist: pyjpegls>=1.0.0
Requires-Dist: typing-extensions>=4.0.0
Provides-Extra: libjpeg
Requires-Dist: pylibjpeg-libjpeg>=2.1; extra == "libjpeg"
Requires-Dist: pylibjpeg-openjpeg>=2.0.0; extra == "libjpeg"
Requires-Dist: pylibjpeg>=2.0; extra == "libjpeg"
Provides-Extra: test
Requires-Dist: mypy==1.15.0; extra == "test"
Requires-Dist: pytest==8.3.5; extra == "test"
Requires-Dist: pytest-cov==6.1.1; extra == "test"
Requires-Dist: pytest-flake8==1.3.0; extra == "test"
Provides-Extra: docs
Requires-Dist: sphinx-autodoc-typehints==1.17.0; extra == "docs"
Requires-Dist: sphinx-pyreverse==0.0.17; extra == "docs"
Requires-Dist: sphinx-rtd-theme==1.0.0; extra == "docs"
Requires-Dist: sphinxcontrib-autoprogram==0.1.7; extra == "docs"
Requires-Dist: sphinxcontrib-websupport==1.2.4; extra == "docs"
Dynamic: license-file

[![Build Status](https://github.com/imagingdatacommons/highdicom/actions/workflows/run_unit_tests.yml/badge.svg)](https://github.com/imagingdatacommons/highdicom/actions)
[![Documentation Status](https://readthedocs.org/projects/highdicom/badge/?version=latest)](https://highdicom.readthedocs.io/en/latest/?badge=latest)
[![PyPi Distribution](https://img.shields.io/pypi/v/highdicom.svg)](https://pypi.python.org/pypi/highdicom/)
[![Python Versions](https://img.shields.io/pypi/pyversions/highdicom.svg)](https://pypi.org/project/highdicom/)
[![Downloads](https://pepy.tech/badge/highdicom)](https://pepy.tech/project/highdicom)
[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.1-4baaaa.svg)](code_of_conduct.md)

# Highdicom

`highdicom` is a pure Python package built on top of `pydicom` to provide a higher-level application programming interface (API) for working with DICOM files. Its focus is on common operations required for machine learning, computer vision, and other similar computational analyses. Broadly speaking, the package helps with three types of task:

1. Reading existing DICOM image files of a wide variety of modalities (covering radiology, pathology, and more) and selecting and formatting its frames for computational analysis. This includes considerations such as spatial arrangements of frames, and application of pixel transforms, which are not handled by `pydicom`.
2. Storing image-derived information, for example from computational analyses or human annotation, in derived DICOM objects for communication and storage. This includes:
    * Annotations
    * Parametric Map images
    * Segmentation images
    * Structured Report documents (containing numerical results, qualitative evaluations, and/or vector graphic annotations)
    * Secondary Capture images
    * Key Object Selection documents
    * Legacy Converted Enhanced CT/PET/MR images (e.g., for single frame to multi-frame conversion)
    * Softcopy Presentation State instances (including Grayscale, Color, and Pseudo-Color)

3. Reading existing derived DICOM files of the above types and filtering and accessing the information contained within them.

## Documentation

Please refer to the online documentation at [highdicom.readthedocs.io](https://highdicom.readthedocs.io), which includes installation instructions, a user guide with examples, a developer guide, and complete documentation of the application programming interface of the `highdicom` package.

## Citation

For more information about the motivation of the library and the design of highdicom's API, please see the following article:

> [Highdicom: A Python library for standardized encoding of image annotations and machine learning model outputs in pathology and radiology](https://link.springer.com/article/10.1007/s10278-022-00683-y)
> C.P. Bridge, C. Gorman, S. Pieper, S.W. Doyle, J.K. Lennerz, J. Kalpathy-Cramer, D.A. Clunie, A.Y. Fedorov, and M.D. Herrmann.
> Journal of Digital Imaging, August 2022

If you use highdicom in your research, please cite the above article.

## Support

The developers gratefully acknowledge their support:
* The [Alliance for Digital Pathology](https://digitalpathologyalliance.org/)
* The [MGH & BWH Center for Clinical Data Science](https://www.ccds.io/)
* [Quantitative Image Informatics for Cancer Research (QIICR)](https://qiicr.org/)
* [Radiomics](https://www.radiomics.io/)

This software is maintained in part by the [NCI Imaging Data Commons](https://imaging.datacommons.cancer.gov/) project,
which has been funded in whole or in part with Federal funds from the NCI, NIH, under task order no. HHSN26110071
under contract no. HHSN261201500003l.
