simpleitk
SimpleITK is a simplified interface to the Insight Toolkit (ITK) for image registration and segmentation
What it is and what it does
SimpleITK is a C++ image analysis library wrapped for Python that simplifies access to the Insight Toolkit (ITK). It supports filtering, segmentation, and registration workflows on 2D, 3D, and 4D images, with voxels that can be n-dimensional vectors. The package is built on ITK but provides a more approachable API than the underlying C++ toolkit, making it suitable for research, education, and clinical applications.
The library is distributed as precompiled wheels for multiple platforms and Python versions, eliminating the need to build from source in most cases. It has no declared runtime dependencies, making it lightweight to install once the binary is available. Development is active, with the project maintained by the Insight Software Consortium and NumFOCUS.
Use it for:
- Segment anatomical structures in medical images (CT, MRI, ultrasound) for clinical analysis or surgical planning.
- Register multiple images to a common coordinate system for longitudinal studies or multi-modal fusion.
- Apply standard image filters (Gaussian, median, morphological) to preprocess images before analysis.
- Extract and analyze image statistics and features for quantitative biomarker research.
- Prototype image analysis algorithms in Jupyter notebooks for reproducible research and education.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
SimpleITK provides a simplified Python interface to the Insight Toolkit (ITK) for performing image segmentation, registration, and general filtering operations on 2D, 3D, and 4D images.
Yes. SimpleITK is a stable, actively maintained toolkit with no known vulnerabilities, permissive licensing, and broad platform support. It fills a clear niche for Python developers working with medical or scientific images who need segmentation and registration without the complexity of raw ITK. Medium install friction is typical for compiled libraries and is not a barrier given the availability of prebuilt wheels.
Install
simpleitk on PyPI
pip
pip install simpleitkuv
uv add simpleitkpoetry
poetry add simpleitkInstalling simpleitk
Before you install
Medium install friction due to compiled C++ bindings; prebuilt wheels are available for common platforms (macOS x86_64/arm64, Linux x86_64/aarch64, Windows x86_64) across Python 3.9–3.14. Last release was 15 days ago and the repository remains actively maintained.
License in practice
Licensed under Apache 2.0 (permissive), allowing commercial and private use with minimal restrictions. Copyright held by NumFOCUS under the Insight Software Consortium.
Quickstart
import simpleitk as sitk
image = sitk.ReadImage('image.dcm')
filtered = sitk.MedianImageFilter().Execute(image)
Requires a compatible Python version and a platform with prebuilt wheel support (macOS, Linux, Windows).
Verify before relying
- Specific minimum Python version requirement (requires_python is unspecified in metadata).
- Whether numpy or other array libraries are required at runtime despite zero declared runtime dependencies.
- Performance characteristics and memory footprint for large 3D/4D image datasets.
Package facts
| License | Apache (permissive) |
| Python support | not specified |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | none |
| Maintenance | actively maintained — 15 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 824,116/month — #4,964 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: simpleitk-2.5.6-cp310-cp310-macosx_10_9_x86_64.whl; simpleitk-2.5.6-cp310-cp310-macosx_11_0_arm64.whl; simpleitk-2.5.6-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl; simpleitk-2.5.6-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl; simpleitk-2.5.6-cp310-cp310-win_amd64.whl; simpleitk-2.5.6-cp311-abi3-macosx_10_9_x86_64.whl; simpleitk-2.5.6-cp311-abi3-macosx_11_0_arm64.whl; simpleitk-2.5.6-cp311-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl; simpleitk-2.5.6-cp311-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl; simpleitk-2.5.6-cp311-abi3-win_amd64.whl; simpleitk-2.5.6-cp314-cp314t-macosx_10_9_x86_64.whl; simpleitk-2.5.6-cp314-cp314t-macosx_11_0_arm64.whl; simpleitk-2.5.6-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl; simpleitk-2.5.6-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl; simpleitk-2.5.6-cp314-cp314t-win_amd64.whl; simpleitk-2.5.6-cp39-cp39-macosx_10_9_x86_64.whl; simpleitk-2.5.6-cp39-cp39-macosx_11_0_arm64.whl; simpleitk-2.5.6-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl; simpleitk-2.5.6-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl; simpleitk-2.5.6-cp39-cp39-win_amd64.whl
Keywords: SimpleITK, ITK, InsightToolkit, segmentation, registration
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
itk-ioitk-io provides Python bindings for reading and…
permissive · top 15,000 on PyPI
itkwasmProvides a Python interface to run itk-wasm…
permissive · top 15,000 on PyPI
TotalSegmentatorAutomated segmentation of anatomical structures…
permissive · top 15,000 on PyPI
python-gdcmPython wrapper for GDCM (Grassroots DICOM), a…
permissive · top 15,000 on PyPI