ITK 5.4.6 has been released! Performance, Stability, and Security
Published on May 1, 2026 by Matthew McCormick
We are pleased to announce the release of ITK 5.4.6!
ITK 5.4.6 is a maintenance release focused on performance improvements, security fixes, and platform compatibility for this cross-platform, open-source toolkit supporting N-dimensional scientific image analysis with spatially-aware algorithms. Highlights include FFTW SIMD optimizations, a safer NumPy buffer protocol for itk.Image, GIL-release support for Python wrapping, a backport of the GDCM CVE-2026-3650 fix, and a wave of stability fixes spanning Bresenham line drawing, the Voronoi diagram generator, IPL image IO, image adaptors, and more.
Highlights
- Performance:
- FFTW SIMD codelets are now selected with ABI-guaranteed baselines (SSE/SSE2 on x86_64, NEON on aarch64), with optional per-CPU introspection at configure time for AVX/AVX2.
- New ITK_PYTHON_RELEASE_GIL CMake option (ON by default) and SWIG -threads flag enable Python wrapping to release the GIL during ITK operations.
- Bug Fixes:
- Backport of the GDCM CVE-2026-3650 fix and a GDCM upstream sync (2026-03-10).
- Integer-only Bresenham line construction and double-precision endpoint computation in BresenhamLine.
- Fixed infinite loop in VoronoiDiagram2DGenerator::ConstructDiagram.
- Null-check hardening in IPLCommonImageIO, value-initialization of singleton instances, zero-check guard in CumulativeGaussianCostFunction, and ImageAdaptor::ComputeOffset to fix ImageRegionIterator support.
- GDCM posix_memalign undefined with MinGW, and Python factory auto-registration of more than two factories.
- Python:
- PEP 688 buffer protocol on itk.Image with safe np.asarray() lifetime semantics — arrays remain valid after the source image is deleted.
- Comprehensive new tests for the buffer protocol and image lifetime across NumPy, PyTorch, and Dask interop.
- Platform Support:
- Migration of CI runners from retired windows-2019 to windows-2022, including the v142 toolset job and Azure Pipelines.
- FFTW SIMD detection fix for Windows ARM64 and MSVC.
- Move of inline = default destructors to .cxx for 30 exported classes to stabilize the ABI.
- MINC third-party update (2025-02-24).
FFTW SIMD Performance
ITK 5.4.6 enables FFTW SIMD codelets out-of-the-box. On x86_64, SSE and SSE2 are enabled by default (ABI-guaranteed); on aarch64, NEON is enabled by default (mandatory in ARMv8). Native (non-cross) builds also probe the build host for AVX and AVX2 via __builtin_cpu_supports() so that codelets are turned on only for what the CPU supports. Each option is individually overridable via cache variables such as -DFFTW_ENABLE_AVX2=OFF. On Apple M4 hardware, this reduced BCDTest_rVN4 from ~1446 s to an estimated ~180-360 s.
Safer NumPy Interop for itk.Image
itk.Image now exports its buffer through PEP 688 (__buffer__, Python 3.12+) and the NumPy v3 __array_interface__ (Python 3.10-3.11), with explicit reference pinning so that arrays derived from an image stay valid even after the image is garbage-collected:
image = itk.imread("brain.nii.gz")
arr = np.asarray(image)
del image
print(arr[1, 1, 1]) # safe — no crash
The new ITK_PYTHON_RELEASE_GIL CMake option (default ON) and SWIG -threads flag allow ITK calls to release the GIL, improving concurrency for Python users.
Download
Python Packages
Install ITK Python packages with:
pip install itk
Guide and Textbook
Library Sources
Testing Data
Unpack optional testing data in the same directory where the Library Source is unpacked.
Checksums and Signatures
- InsightToolkit-5.4.6.tar.gz.asc
- InsightToolkit-5.4.6.zip.asc
- InsightData-5.4.6.tar.gz.asc
- InsightData-5.4.6.zip.asc
- MD5SUMS
- SHA512SUMS
Welcome New Contributors
A warm welcome to first-time ITK contributors Cavan Riley and Viacheslav Ustymenko — thank you for joining the community!
Acknowledgments
Thank you to contributors Viacheslav Ustymenko, Jon Haitz Legarreta Gorroño, Niels Dekker, Bradley Lowekamp, Hans Johnson, Matt McCormick, Vladimir S. FONOV, Cavan Riley, Simon Rit, Dženan Zukić, and the broader ITK community for their code, testing, and documentation efforts.
What’s Next
ITK 6.0 Release Candidate 1
The community is preparing for ITK 6.0 RC 1, the first release candidate on the road to ITK 6, featuring:
- Architectural upgrades for contemporary C++ development
- Enhanced template metaprogramming capabilities
- Code modernization for improved readability and maintainability
5.4 Maintenance Commitment
We remain dedicated to supporting current users through:
- Regular security and regression patches
- Critical bug resolution
- Platform compatibility updates
Enjoy ITK!