ITK 6.0 Beta 1 Release Notes¶
We are excited to announce the first beta release of ITK 6.0! This major version update marks a significant leap forward in the toolkit’s evolution, focusing on code modernization, cleanup, and enhanced performance. As a beta release, we encourage the community to test and provide feedback as we finalize this next generation of ITK.🚀 ✨ 🎉
This release, comprised of 1,115 changes, transitions the toolkit to require C++17, enabling the use of modern C++ features for more elegant, readable, and performant code. Extensive cleanup has been performed, including the removal of APIs deprecated in version 5 and the end of support for ITKv4 compatibility.
🔦 Highlights¶

Visible Human rendering with NiiVue. ITK 6 includes a new remote module, ITKIOMeshMZ3, that provides C++ and Python support for the MZ3 mesh format used by NiiVue.
C++ Modernization:
C++17 is now required for building ITK, enabling modern language features
Extensive code cleanup replacing legacy macros with
constexpr, use of[[nodiscard]]andstd::string_views, and contemporary C++ idioms for safer, clearer, and faster code pathsUpdated third-party libraries including libtiff, HDF5, OpenJPEG, libjpeg-turbo, Nifti, libpng, GDCM, and DCMTK
Improved thread safety and performance optimizations
ITKv4 compatibility has been removed, and content from the Deprecated module has been purged, resulting in a cleaner, more modern API
Platform Support Updates:
Enhanced Apple Silicon (ARM64) macOS support with optimized build configurations
Intel macOS support maintained but deprecation started (see #5326 and #5369)
Updated CI/CD infrastructure with GitHub Actions and Azure Pipelines improvements
Pixi package manager integration for streamlined development workflows
New Features and Enhancements:
New
AnatomicalOrientationclass for robust anatomical coordinate system handlingEnhanced JPEG2000 support with High Throughput JPEG2000 (HTJ2K) for
.jphfilesUpdated DCMTK integration with additional modules enabled
Code Quality Improvements:
Migrated to clang-format 19.1.7 for consistent code style
Removed deprecated code including VNL Netlib rpoly files and legacy macros
Enhanced GoogleTest integration and expanded test coverage
Large-scale style and readability improvements remove dead code paths, replace trivial functions with defaults, adopt raw string literals where helpful
Normalized Doxygen groups and added citations for better documentation
Remote Modules:
Updated 70 remote modules including
WebAssemblyInterface,Montage,CudaCommonandMorphologicalContourInterpolationNew modules:
ITKIOMeshMZ3for MZ3 mesh format support
💾 Download¶
Python Packages
Install ITK Python packages with:
pip install --pre --upgrade itk
Note: Use --pre flag to install beta releases.
Guide and Textbook
Library Sources
Testing Data
Unpack optional testing data in the same directory where the Library Source is unpacked.
Checksums and Signatures
📖 Migration Guide¶
For detailed guidance on migrating existing code to ITK 6.0, please consult the ITK 6 Migration Guide. Key changes include:
C++17 compiler requirement
Deprecated macro replacements
Updated third-party library APIs
Platform-specific considerations for macOS
🙏 Acknowledgments¶
Thank you to the 72 recent contributors and 41 new contributors who made ITK 6.0 Beta 1 possible, including:
agarcia, albert-github, Alex Ciobanu, Alexy Pellegrini, Andras Lasso, Andrei Sandor, Antoine Robert, Ariouz, Aurélien Coussat, Axel Garcia, Brad King, Bradley Lowekamp, Bernhard Froehler, Chris Markiewicz, Colin Taylor, Csaba Pinter, Cyril Mory, Darren Thompson, Dave Chen, David Allemang, Dženan Zukić, Ebrahim Ebrahim, ebald19, Erica Baldesarra, Gabriel A. Devenyi, Gabriele Belotti, Hans Johnson, Idris TATACHAK, Jackson Hardee, Jakub Klinkovský, James Butler, Jannis Dickmann, Jean-Christophe Fillion-Robin, Jon Haitz Legarreta Gorroño, Kai Pastor, ken avolic, Ken Goettler, Krupal J S Bhat, Kurt McKee, L OH, Laurent Chauvin, Lee Newberg, ljm898, Lucas Gandel, luzpaz, Matt McCormick, Matthieu Chourrout, Michael Onken, Mihail Isakov, nbehrnd, Nick Tustison, Niels Dekker, npt-1707, Pablo Hernandez-Cerdan, Paolo Zaffino, Paul Elliott, Philip Cook, Piyush Aggarwal, ruanwenfeng, Sadhana Ravikumar, Sanjay Ananthanarayan, Sean McBride, Shelly Belsky, Shreeraj Jadhav, Simon Rit, Stephen Aylward, Steve Robbins, Tom Birdsong, Vladimir S. FONOV, Vivek Mehta, WangWeiLin-MV, Ziv Yaniv and the entire ITK community for their code contributions, testing, documentation efforts, and invaluable feedback.
🗣️ What’s Next¶
ITK 6.0 Final Release
Following community testing and feedback on Beta 1, we will address reported issues and prepare for the next ITK 6.0 beta.
ITK 5.4 Long-Term Support
ITK 5.4 will continue to receive maintenance updates as a long-term support (LTS) release, providing:
Critical security patches
Bug fixes for production environments
Full support for Intel macOS
Backward compatibility for existing applications
Community Feedback
Please test ITK 6.0 Beta 1 in your workflows and report issues on GitHub or the ITK Discourse forum.
Enjoy ITK!