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: