# SimpleITK 3.0.0 Alpha 1

**URL:** https://discourse.itk.org/t/simpleitk-3-0-0-alpha-1/7637
**Category:** Announcements
**Tags:** python, csharp, r, java, simpleitk
**Created:** [September 19, 2025, 4:10pm UTC](https://discourse.itk.org/t/simpleitk-3-0-0-alpha-1/7637 "2025-09-19T16:10:44Z")
**Posts on this page:** 1
**Page:** 1

<div class="post-metadata">

### Author: ![blowekamp](https://discourse.itk.org/user_avatar/discourse.itk.org/blowekamp/32/79_2.png) [@blowekamp](https://discourse.itk.org/u/blowekamp)
#### Post date: [September 19, 2025, 4:10pm UTC](https://discourse.itk.org/t/simpleitk-3-0-0-alpha-1/7637/1 "2025-09-19T16:10:44Z")

</div>

# 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`](https://jinja.palletsprojects.com/en/stable/) 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`](https://docs.astral.sh/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:

Additional details and packages can be found on Github:

> **[Release Release v3.0.0a1 · SimpleITK/SimpleITK](https://github.com/SimpleITK/SimpleITK/releases/tag/v3.0.0a1)**
>
> This is SimpleITK 3.0.0 Alpha Release 1.
> To upgrade to this Python binary package run:
> pip install --upgrade --pre simpleitk --find-links https://github.com/SimpleITK/SimpleITK/releases/tag/v3.0.0a...
