skillfed

highdicom

High-level DICOM abstractions.

highdicom v0.28.1 83.6K downloads/30d#14,060 on PyPI238
Permissive license MIT Active released

What it is and what it does

Highdicom is a pure Python library that sits on top of pydicom to simplify working with DICOM medical images in computational contexts. It handles three main workflows: reading DICOM files of various modalities (radiology, pathology, etc.) and preparing their frames for analysis, including spatial arrangement and pixel transforms that pydicom does not handle; writing derived DICOM objects such as annotations, segmentations, parametric maps, structured reports, and secondary captures; and reading and filtering those derived DICOM files to extract stored information.

The package targets machine learning, computer vision, and similar computational analyses where standard DICOM tooling leaves gaps. It depends on pydicom for core DICOM parsing, numpy and pillow for image handling, pyjpegls for JPEG-LS codec support, typing-extensions for type hints, and packaging for version management. It requires Python 3.10 or later and installs as a pure wheel with no compiled dependencies.

Use it for:

  • Prepare medical imaging datasets for machine learning by reading DICOM frames and applying standardized pixel transforms for computational analysis.
  • Store machine learning model outputs (segmentations, heatmaps, predictions) back into DICOM format for clinical workflow integration and archival.
  • Create structured DICOM reports containing numerical results and annotations from computational analyses or human review.
  • Convert single-frame DICOM images to multi-frame format or apply presentation state transformations for standardized display.
  • Extract and filter information from existing derived DICOM objects (segmentations, parametric maps) for downstream processing.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Highdicom provides a high-level Python API for reading, writing, and manipulating DICOM medical image files, with particular focus on machine learning and computational analysis workflows.

Yes. Highdicom is actively maintained, permissively licensed (MIT), has low install friction, and fills a genuine gap in DICOM tooling for computational workflows. It is well-supported by the imaging research community (NCI Imaging Data Commons, QIICR, Radiomics) and has no known security vulnerabilities. Install it if you work with DICOM files in machine learning or computational analysis contexts.

Install

highdicom on PyPI

pip

pip install highdicom

uv

uv add highdicom

poetry

poetry add highdicom

Installing highdicom

Before you install

Low friction installation with pure Python distribution. Active maintenance with recent releases; last commit 2026-08-07. Supports current Python versions (3.10–3.14).

License in practice

MIT license permits commercial and private use with minimal restrictions, making it suitable for research and production deployments.

Quickstart

pip install highdicom

import highdicom
from pydicom import dcmread

# Read a DICOM file and access its image data
dataset = dcmread('image.dcm')
dicom_image = highdicom.from_dicom(dataset)
frames = dicom_image.pixel_array

Requires Python 3.10 or later. JPEG-LS compressed images require pyjpegls, which may need system libraries depending on your platform.

Verify before relying

  • Whether pyjpegls is required for all use cases or only for JPEG-LS compressed images
  • Performance characteristics when processing large multi-frame DICOM datasets
  • Completeness of support for all DICOM modalities and derived object types

Package facts

License MIT (permissive)
Python support supports the current Python release (>=3.10)
Install friction low — pure-Python wheel
Runtime dependencies 6 — numpy, pillow, pydicom, pyjpegls, typing-extensions, packaging
Maintenance actively maintained — 17 days since the last release
Last repo commit
First released
Downloads 83,636/month — #14,060 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: highdicom-0.28.1-py3-none-any.whl

Development Status :: 4 - BetaIntended Audience :: Science/ResearchOperating System :: MacOSOperating System :: Microsoft :: WindowsOperating System :: POSIX :: LinuxProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Topic :: Multimedia :: GraphicsTopic :: Scientific/Engineering :: Information Analysis

Tags

DICOM image processingmedical image annotationDICOM segmentationradiology pathology imagesDICOM derived objectsstructured report DICOMparametric map images
medical-imagingdicom-processingml-data-prep

More Information Analysis packages