ITK 5.4 Release Candidate 1: C++17

July 28, 2023
itk-elastix-scipy-poster-image

We are happy to announce the Insight Toolkit (ITK) 5.4 Release Candidate 1 is available for testing! ITK is an open-source, cross-platform toolkit for N-dimensional scientific image processing, segmentation, and registration.

Highlights

ITK 5.4 is a feature release that continues our modern C++ evolution by requiring C++17. The toolkit progresses in performance with a simple and elegant style and syntax. Through hundreds of changes in this release, we advance in readability and maintainability for the library and client code, often facilitated by improvements in the C++ standards.

Community contributions through Remote extension Modules are a valuable source of innovation in ITK, and updates to 30 modules in this release are no exception. A few examples of the Remote Modules updated include: BoneMorphometry, Cleaver, GenericLabelInterpolator, IOScanco, LabelErodeDilate, MinimalPathExtraction, Montage, MorphologicalContourInterpolation, ParabolicMorphology, RANSAC, ReconstructionToolkit (RTK), TextureFeatures, TubeTK, Ultrasound, VkFFTBackend, and WebAssemblyInterface. New modules can quickly be created with a cookiecutter and cross-platform testing for high quality development and Python package generation is supported by a reusable GitHub Action. For more information, see Chapter 9 of the ITK Software Guide.

image

Highlights from the ITKElastix Remote Module presentation at SciPy 2023, the Annual Scientific Computing with Python Conference. Konstantinos Ntatsis, Niels Dekker, Viktor van der Valk, Tom Birdsong, Dženan Zukić, Stefan Klein, Marius Staring, & Matthew McCormick. (2023). itk-elastix: Medical image registration in Python [SciPy 2023 Poster]. Zenodo. https://doi.org/10.5281/zenodo.8136801.

💾 Download

Python Packages

Install ITK Python packages with:

pip install --upgrade --pre itk

Guide and Textbook

Library Sources

Testing Data

Unpack optional testing data in the same directory where the Library Source is unpacked.

Checksums

✨ Features

Python

  • itk.imread supports a series_uid kwarg for DICOM series selection
  • TBB version updated to latest stable version, disabled on Intel macOS
  • Python binaries for 3.7-3.11 across platforms
  • This will be the last release with Python 3.7 suppport
  • Remote module GitHub action updated, Python 3.7 is not supported in Remote module builds
  • Updated to the latest version of scikit-build

C++

  • C++17 is now required
  • Many style improvements for modern C++
  • GCC 13 support
  • Name mangling prefix for third party libraries is configurable
  • Many improvements to code coverage
  • Improved SSE2 detection
  • Enhanced NRRD and Nifti metadata support

Documentation

  • Doxygen formatting cleanup
  • Doxygen spelling fixes
  • Doxygen Insight Journal links are consistent
  • Software Guide updated for style modernization

Remote module updates

Updated modules:

Third party library updates

  • eigen
  • gdcm
  • googletest
  • kwsys
  • nifti
  • vxl
  • zlib-ng

🙏 Congratulations

Congratulations and thank you to everyone who contributed to this release.

Of the 42 authors who contributed since v5.3.0, we would like to specially recognize the new contributors:

huangjxbq, Sankhesh Jhaveri, adrinkwater, FabioLolix, Vaibhaw, Ningfei Li, Max Aehle, Noah Egnatis, Federico Zivolo, Patrick Linnane, LAURENDEAU Matthieu, Shreeraj Jadhav, Shengpeng YU, Fernando Bordignon, and Andras Lasso.

🗣️ What’s Next

Our next release candidate will include improvements based on experiences with 5.4 RC 1. Please try out the current release candidate, and discuss your experiences at discourse.itk.org. Contribute with pull requests, code reviews, and issue discussions in our GitHub Organization.

Enjoy ITK!

Tags:

Leave a Reply