itk-io
ITK is an open-source toolkit for multidimensional image analysis
What it is and what it does
itk-io is the input/output module of the Insight Toolkit, a cross-platform C++ library for N-dimensional scientific image processing. It exposes Python bindings for reading and writing medical and scientific images in a variety of formats, typically used in conjunction with itk-core for image manipulation and analysis. The package is part of a larger ecosystem designed for medical image segmentation and registration tasks—common workflows in medical imaging, research, and diagnostic applications. It depends on itk-core and is distributed as pre-compiled wheels for modern Python versions across major operating systems.
The package targets researchers, medical imaging professionals, and developers building image analysis pipelines. Installation is straightforward via pip or conda, though the compiled nature of the wheels means medium install friction. The toolkit is actively maintained by the Insight Software Consortium, which is fiscally sponsored by NumFOCUS, and has been in active development since 2017.
Use it for:
- Load DICOM images from CT or MRI scanners for analysis in Python medical imaging workflows.
- Convert between medical image formats (e.g., DICOM to NIfTI) for interoperability with other tools.
- Write segmentation or registration results back to disk in standard medical imaging formats.
- Build image processing pipelines that read, process, and save scientific image data.
- Integrate ITK image I/O into research code for reproducible medical image analysis.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
itk-io provides Python bindings for reading and writing medical and scientific image files in multiple formats as part of the Insight Toolkit ecosystem.
Yes, if you are building medical or scientific image processing workflows in Python and need reliable, format-agnostic image I/O. The package is actively maintained, permissively licensed, has no known vulnerabilities, and integrates seamlessly with itk-core. Install friction is moderate but manageable via pre-built wheels. Not necessary if you only need basic image reading (e.g., via PIL or OpenCV) or work exclusively with a single format.
Install
itk-io on PyPI
pip
pip install itk-iouv
uv add itk-iopoetry
poetry add itk-ioInstalling itk-io
Before you install
Medium install friction due to compiled binary wheels; pre-built wheels available for Python 3.9–3.11 across Linux, macOS (including Apple Silicon), and Windows. Actively maintained with a release 7 days old and recent commits.
License in practice
Apache License 2.0 permits both commercial and non-commercial use with minimal restrictions; you may use, modify, and distribute the package provided you include license notices and attribute changes.
Quickstart
pip install itk-io
import itk
image = itk.imread('input_image.dcm')
itk.imwrite(image, 'output_image.nii')
Requires itk-core as a runtime dependency; ensure your Python version is 3.8 or later.
Verify before relying
- Whether itk-io alone is sufficient for typical image I/O workflows or if additional ITK modules are commonly required.
- Performance characteristics and supported image formats beyond those mentioned in the description excerpt.
Package facts
| License | Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for… (full text in the JSON record) (permissive) |
| Python support | supports the current Python release (>=3.8) |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | 1 — itk-core |
| Maintenance | actively maintained — 7 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 229,867/month — #9,121 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: itk_io-5.4.7-cp310-cp310-macosx_10_9_x86_64.whl; itk_io-5.4.7-cp310-cp310-macosx_11_0_arm64.whl; itk_io-5.4.7-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl; itk_io-5.4.7-cp310-cp310-manylinux_2_28_aarch64.whl; itk_io-5.4.7-cp310-cp310-manylinux_2_28_x86_64.whl; itk_io-5.4.7-cp310-cp310-win_amd64.whl; itk_io-5.4.7-cp311-abi3-macosx_10_9_x86_64.whl; itk_io-5.4.7-cp311-abi3-macosx_11_0_arm64.whl; itk_io-5.4.7-cp311-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl; itk_io-5.4.7-cp311-abi3-manylinux_2_28_aarch64.whl; itk_io-5.4.7-cp311-abi3-manylinux_2_28_x86_64.whl; itk_io-5.4.7-cp311-abi3-win_amd64.whl; itk_io-5.4.7-cp39-cp39-macosx_10_9_x86_64.whl; itk_io-5.4.7-cp39-cp39-macosx_11_0_arm64.whl; itk_io-5.4.7-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl; itk_io-5.4.7-cp39-cp39-manylinux_2_28_aarch64.whl; itk_io-5.4.7-cp39-cp39-manylinux_2_28_x86_64.whl; itk_io-5.4.7-cp39-cp39-win_amd64.whl
Keywords: ITK, InsightToolkit, scientific, medical, image, imaging
Tags
More Libraries packages
urllib3 is an HTTP client library that provides…
permissive · top 100 on PyPI
requestsRequests is a Python HTTP library that…
permissive · top 100 on PyPI
pluggyPluggy provides a plugin system that lets you…
permissive · top 100 on PyPI
python-dateutilProvides parsing, arithmetic, and recurrence…
permissive · top 100 on PyPI
sixSix provides utility functions to write Python…
permissive · top 100 on PyPI
pytestpytest is a testing framework that lets you…
permissive · top 100 on PyPI
itk-coreitk-core provides Python bindings to the…
permissive · top 15,000 on PyPI
itk-segmentationProvides Python bindings for ITK's segmentation…
permissive · top 15,000 on PyPI
itkITK provides N-dimensional scientific image…
permissive · top 15,000 on PyPI
itk-numericsitk-numerics provides Python bindings for ITK's…
permissive · top 15,000 on PyPI
itk-registrationitk-registration provides Python bindings for…
permissive · top 15,000 on PyPI
itk-filteringitk-filtering provides Python bindings for…
permissive · top 15,000 on PyPI
simpleitkSimpleITK provides a simplified Python…
permissive · top 5,000 on PyPI
itkwasmProvides a Python interface to run itk-wasm…
permissive · top 15,000 on PyPI
ImageIOImageIO reads and writes images and video in…
permissive · top 1,000 on PyPI
pydicomPydicom reads, modifies, and writes DICOM…
permissive · top 5,000 on PyPI