We are pleased to announce the release of ITK 5.4.3, the latest maintenance update for this cross-platform, open-source toolkit supporting N-dimensional scientific image analysis with spatially-aware algorithms. 🎉 🍻 🥳 This patch release addresses several key issues identified since ITK 5.4.2 while maintaining API stability.
🔦 Highlights
As a maintenance update following 5.4.2, version 5.4.3 incorporates critical improvements including:
- Bug Fixes: Resolved issues affecting the default number of threads, particularly in multi-threaded image processing pipelines where thread limits were not respected, and corrected the b-spline size calculation for closed parametric dimensions, ensuring accurate interpolation in applications such as 3D image registration and deformation modeling.
- License Fixes: Removed unused VNL Netlib rpoly files to ensure compliance with our Apache 2.0 licensing requirements.
- Software Guide Updates: Spelling corrections for the ITK Software Guide.
- Doxygen Documentation: Updated Doxygen documentation to reflect the latest changes and improvements in ITK, including links to the ReadTheDocs site.
- Remote Module Updates: Improvements to the
LabelErodeDilate
andMeshToPolyData
remote modules, including bug fixes and enhancements.
A full list of changes can be found in the changelog below.
🔢 Versioning Note
For comprehensive details on ITK 5.4.0, please review the ITK 5.4.0 Release Notes.
💾 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
🙏 Congratulations
Congratulations and thank you to everyone who contributed to this release.
🗣️ What's Next
ITK 6 Preparation
The development community is currently focused on delivering ITK 6, a major modernization release featuring:
- Architectural upgrades for contemporary C++ development
- Enhanced template metaprogramming capabilities
- Streamlined build system configurations
Early access builds (alpha/beta releases) will become available during ongoing 5.4.x maintenance, enabling parallel evaluation of new features while maintaining production stability.
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!
ITK Changes Since v5.4.2
Bradley Lowekamp (2):
Enhancements
- Use get_schedaffin to determine number of threads (50ab3e0f6e)
Bug Fixes
- Update LabelErodeDilate remote module (ea1ee3a961)
Dženan Zukić (1):
Documentation Updates
- Remove duplicate new author name (Matthieu LAURENDEAU) (6d82d2bd8f)
Matthew McCormick (10):
Enhancements
- Bump ITK version to 5.4.3 (0913f2a962)
Documentation Updates
- Update maintenance branch for 5.4 series (146bc6de06)
- Point to RTD Doxygen documentation, ITKDoxygen Docker build (8ba1cfc8f2)
- Update Doxygen class links to use ReadTheDocs (d3189c245e)
- Update versioned Doxygen links to point to ReadTheDocs (ce4fa184e8)
- ITK 5.4.0 release notes (f2852f6ee9)
- Add ITK 5.4.2 release notes (f817e2f775)
Platform Fixes
- Bump MeshToPolyData Remote Module to 2024-03-14 main (7366509c1c)
Bug Fixes
- Remove VNL Netlib rpoly files (6894a1715c)
- Clamp GlobalDefault threads with GlobalMaximum with initialization (7e485eac71)
Simon Rit (1):
Bug Fixes
- Remove check on WrapITK.pth existence in itk_python_add_test (71d5cce482)
Nick Tustison (1):
Bug Fixes
- Incorrect size for closed parametric dimension. (0dd02ac9f1)
ITK Software Guide Changes Since v5.4.2
Matthew McCormick (1):
Enhancements
- Bump ITK to v5.4.3 (0db3df8)
albert-github (1):
Documentation Updates
- Spelling corrections (5849c78)
Remote Module Changes Since v5.4.2
LabelErodeDilate:
Bradley Lowekamp (4):
Bug Fixes
- Addressed memory leak of progress object (05a0a1c)
- Address uninitialized value (921aaab)
- Fix Valgrind defect with uninitialized array in doOneDimensionErode (b9567df)
Miscellaneous Changes
- Update CI infrastructure to use 5.4.2 infrastructure (c9f9037)
Hans Johnson (4):
Enhancements
Style Changes
- Add itkVirtualGetNameOfClassMacro + itkOverrideGetNameOfClassMacro (6a892cd)
- Update to match clang-format-19 from ITK (32e7773)
Jon Haitz Legarreta Gorroño (12):
Enhancements
- Transition project configuration to
pyproject.toml
(8197f14) - Initialize all arrays in
LabelSetUtils.h
file (108b0ba)
Platform Fixes
- Bump to minimum CMake 3.16.3 (f247673)
Style Changes
- Conform to ITK style guidelines in local variable naming (61c7a93)
- Do no use
m_
to start function parameter names (c347f23) - Use medial capitals for variable naming in C++ code (518fab1)
- Use
ITK_TRY_EXPECT_NO_EXCEPTION
macro in tests (5f37494) - Make the input argument checking be the first task in tests (1a5febf)
- Conform to ITK style guidelines in test arg check (7f9ffc7)
- Remove unnecessary brackets around
EXIT_FAILURE
(02de4bd) - Remove unreachable
break
afterreturn
statement (0fbfa1c) - Remove unnecessary/empty comment statements in tests (276b195)
MeshToPolyData:
Dženan Zukić (1):
Platform Fixes
- ITK_DISALLOW_COPY_AND_ASSIGN -> ITK_DISALLOW_COPY_AND_MOVE (b866a68)
Hans Johnson (7):
Enhancements
- Use latest actions, do not pin to latest version (8aed3c7)
- Use tag v5.4.2 for the build packages tags (9c0209b)
Style Changes
- Add itkVirtualGetNameOfClassMacro + itkOverrideGetNameOfClassMacro (c3c0006)
- Replace itkStaticConstMacro with static constexpr (86435bd)
- CoordRepType -> CoordinateType code readability (d90e542)
- Update to match clang-format-19 from ITK (6aa2abf)
- Fix KWStyleError (597c780)
Jon Haitz Legarreta Gorroño (1):
Platform Fixes
- Bump to minimum CMake 3.16.3 (97c575f)
Matt McCormick (12):
Enhancements
- Bump itk-wasm to 1.0.0-b.173 (08779a7)
- Bump itk-wasm version to 1.0.0-b.175 (254a24d)
- Add VTK C++ conversion example (8153ecc)
- Update ITK to 5.4.0 (4ce9813)
- Bump wasm package version to 1.1.1 (a9d1fd7)
- Bump pnpm to 10.6.2 (bd893e4)
- Update pyproject.toml for 0.11.1 (8941ee1)
Documentation Updates
- Lines to Vertices in method description (ff3cc60)
Platform Fixes
- Provide backwards compatible CoordRepType in itk::PolyData (c9e0aba)
- Update wasm for ITK 5.4.2 (1c2a0b5)
Bug Fixes
- Update Python package version to 0.11.0 (5e8de5d)
- Support Variable-Length-Vector in mesh-to-polydata (e9b30dc)