SimpleITK 3.0.0 Alpha 1

Release Notes for SimpleITK v3.0.0 Alpha Release 1

This is an initial Alpha Release of a major version change of SimpleITK. Please test the new building infrastructure, the package binaries, and report and issues encountered. Thank you.

There are minor breaking changes in the C++ API, and wrapped language behavior.

The internal code generation system has been completely changed.

Major Changes

  • Requires ITK 6.0 ( currently under development )

  • Converted to use Python Jinja2 template engine from custom Lua system.

  • Converted to YAML for filter description files from JSON.

  • Created and enforced filter description schema.

  • Superbuild now uses uv to install Python and required build packages.

  • Build requirements now include Python and Jinja2, and no longer require Lua.

  • Intel macOS wheels now build cross-compiled (time-limited support based on OS).

  • Improved performance with persistance of MemberFunctionFactory objects.

Breaking Changes

  • LabelIntensityStatisticsImageFilter: Removed support for signed integer label images. Only unsigned integer pixel types are now supported for label images. This change significantly reduces the compiled object file size (from 27MB to 14MB on Mac ARM). Code using signed integer label images will now produce a runtime error indicating the pixel type is not supported. Users must convert signed label images to unsigned types before using this filter.

  • Removed return of “self” for object setter methods in C++. Wrapped languages did not return self objects.

Enhanced Example Language Support**

  • LandmarkRegistration - Added C#, C++, Java, and R versions.

  • ImageRegistrationMethodBSpline1/2/3 - Added Java and C# versions.

  • ImageRegistrationMethodExhaustive - Added C#, Java, and C++ versions.

  • ImageRegistrationOptimizerWeights - Added C#, Java, and C++ versions.

  • ImageRegistrationMethod2/3/4 - Added Java versions.

  • DICOMSeriesReadModifySeriesWrite - Added C#, Java, and C++ versions.

  • DICOMSeriesFromArray - Added C#, Java, and C++ versions.

  • DemonsRegistration1/2 - Added C# and Java versions.

  • DicomConvert - Added C#, C++ and Java versions.

  • DicomImagePrintTags - Added C#, C++ and Java versions.

  • N4BiasFieldCorrection - Added Java version.

New Features

  • Added support for up to 5D images in MinimumProjectionImageFilter.

  • Introduced wrapping for ReinitializeLevelSetImageFilter.

  • Added initial estimated displacement field support for InvertDisplacementFieldImageFilter.

  • Enabled external ITK module LabelErodeDilate by default.

  • Improved keyword-only options for ReadImage in Python.

Updates

  • Development version of ITK 6.0a3+ required.

  • Upgraded Superbuild components:

    • Added uv

    • SWIG to version 4.3.1.

    • GTest to version 1.17.0.

Additional details and packages can be found on Github:

2 Likes