Announcement
Announcing the SimpleITK 2.4 Release Candidate 2!
This release was made with new infrastructure in Github Actions. Users and developers are encouraged to test the RC before the final release and report issues, bugs, and any compatibility problems.
Installing SimpleITK
Complete instructions on getting started with SimpleITK including downloading binaries or building SimpleITK can be found on the SimpleITK [Read the Docs web page](https://simpleitk.readthedocs.io/en/master/index.html).
Python Binary Downloads
- Python binary wheels are available for download. It is important to have the latest version of pip for correct wheel compatibility and installation. To install the latest SimpleITK package from GitHub releases:
python -m pip install --upgrade pip
python -m pip install --pre SimpleITK --find-links https://github.com/SimpleITK/SimpleITK/releases/tag/v2.4rc2
Please note that the binary distribution now contains wheels build on the Python 3.11 stable API ( see [PEP 384](https://peps.python.org/pep-0384/) ). These wheels contain "cp311-abi3" in the filename and should work with Python versions including and after 3.11.
<a href="https://github.com/SimpleITK/SimpleITK/releases/download/v2.4rc2/SimpleITK-2.4.0rc2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl#2bd5931b60c8437551e710b25f1487c4"></a><a href="https://github.com/SimpleITK/SimpleITK/releases/download/v2.4rc2/SimpleITK-2.4.0rc2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl#8d81514dde2f70f5fc82e4bc8a869fc5"></a><a href="https://github.com/SimpleITK/SimpleITK/releases/download/v2.4rc2/SimpleITK-2.4.0rc2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl#56e810afac48dbe3dcaff2dba093a095"></a><a href="https://github.com/SimpleITK/SimpleITK/releases/download/v2.4rc2/SimpleITK-2.4.0rc2-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl#7f5a20fabc854f94f30db628d85fce1b"></a><a href="https://github.com/SimpleITK/SimpleITK/releases/download/v2.4rc2/SimpleITK-2.4.0rc2-cp311-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl#1b86c5c4fe69b2dfe7049c10c692532d"></a><a href="https://github.com/SimpleITK/SimpleITK/releases/download/v2.4rc2/SimpleITK-2.4.0rc2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl#5ac06e3dbae05ebacbd143d6a0b5f51f"></a><a href="https://github.com/SimpleITK/SimpleITK/releases/download/v2.4rc2/SimpleITK-2.4.0rc2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl#922a63ff090aafc8d13661b391ae5ff7"></a><a href="https://github.com/SimpleITK/SimpleITK/releases/download/v2.4rc2/SimpleITK-2.4.0rc2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl#9bfee92ec8bdf0e911a102ba7acd93af"></a><a href="https://github.com/SimpleITK/SimpleITK/releases/download/v2.4rc2/SimpleITK-2.4.0rc2-cp310-cp310-win_amd64.whl#72a8b73b13f57ed5d1bbcc853c7abff4"></a><a href="https://github.com/SimpleITK/SimpleITK/releases/download/v2.4rc2/SimpleITK-2.4.0rc2-cp39-cp39-win_amd64.whl#6d57b8743dd3b76519c87e6a642b67ff"></a><a href="https://github.com/SimpleITK/SimpleITK/releases/download/v2.4rc2/SimpleITK-2.4.0rc2-cp311-abi3-win_amd64.whl#8520256eca4d2b79d8b548a3d7f6b01a"></a><a href="https://github.com/SimpleITK/SimpleITK/releases/download/v2.4rc2/SimpleITK-2.4.0rc2-cp38-cp38-win_amd64.whl#1029ff6c7930839008816492ab47aaef"></a><a href="https://github.com/SimpleITK/SimpleITK/releases/download/v2.4rc2/SimpleITK-2.4.0rc2-cp311-abi3-macosx_10_9_x86_64.whl#79d025b2739d02b2e61ed9f64ada9cec"></a><a href="https://github.com/SimpleITK/SimpleITK/releases/download/v2.4rc2/SimpleITK-2.4.0rc2-cp39-cp39-macosx_10_9_x86_64.whl#c04ab62b61fb8db37239aafd3f0365bf"></a><a href="https://github.com/SimpleITK/SimpleITK/releases/download/v2.4rc2/SimpleITK-2.4.0rc2-cp38-cp38-macosx_10_9_x86_64.whl#6e2e2fde09ca5330c460d8cab8b2d355"></a><a href="https://github.com/SimpleITK/SimpleITK/releases/download/v2.4rc2/SimpleITK-2.4.0rc2-cp310-cp310-macosx_10_9_x86_64.whl#5eb068e298ceee70a9526d35d1ce9813"></a><a href="https://github.com/SimpleITK/SimpleITK/releases/download/v2.4rc2/SimpleITK-2.4.0rc2-cp310-cp310-macosx_11_0_arm64.whl#md5=b9309b8db297cb1987845ccb03c3cd0e" ></a><a href="https://github.com/SimpleITK/SimpleITK/releases/download/v2.4rc2/SimpleITK-2.4.0rc2-cp311-abi3-macosx_11_0_arm64.whl#md5=e5159d1087a41f165394ea1740722625" ></a><a href="https://github.com/SimpleITK/SimpleITK/releases/download/v2.4rc2/SimpleITK-2.4.0rc2-cp38-cp38-macosx_11_0_arm64.whl#md5=2c612a89d05292aa6595d0c08dd656a7" ></a><a href="https://github.com/SimpleITK/SimpleITK/releases/download/v2.4rc2/SimpleITK-2.4.0rc2-cp39-cp39-macosx_11_0_arm64.whl#md5=f33f405da451f3b56c1d6b70eabb5e06" ></a>
Release Notes
============
New Features
------------
* Updated to ITK 5.4.0 [release](https://github.com/InsightSoftwareConsortium/ITK/releases) benefiting from all of the significant improvements in the underlying toolkit.
* Add `SimpleITK_PYTHON_USE_USE_LIMITED_API` CMake option.
* Build SimpleITK packages with limited Python API support for Python >=3.11.
* Add `ThresholdAbove`, `ThresholdBelow` and `OutsideValue` methods to `ThresholdImageFilter`.
* Add to Image readers `SpacingWarningRelThreshold` accessors.
* Use new `PathType` for file paths across toolkit.
* Improve Python support for `pathlib.Path` across the toolkit with custom conversion for new `PathType`.
* Add Image member functions `IsSameImageGeometryAs`, `IsCongruent`.
* Update Superbuild version of PCRE2 to 10.43
* Update Superbuild version of GTest to 1.14.0
* Update Superbuild SWIG to 4.2.1
Behavior Changes
------------------
* CenteredTransformInitializer now returns DowncastedTransform in Python.
Bug Fixes
---------
* Refactor `ImageViewer` class to fix initialization problems.
* Fix MD5 hash for CSharp ImageGetSetBuffer example.
* Use ITK's SizeGreatestPrimeFactor for `FFTPadImageFilter` , which is 5 for VNL and 13 for FFTW.
Documentation
-------------
* Correct sphinx registration transform order in Registration Overview.
* Fix undeleted N4 filter in example.
* DICOM meta-data tags are lower case.
* Update documentation with Python version support policy.
* Add simplex delta documentation for Amoeba optimizer.
* Include a DICOM tag number with upper case letter in example.
* Fix math Latex notation for T_opt.
* Add FAQ entry for non-ASCII paths on windows.
* Added description of `LabelShapeStatisticFilter`'s bounding box.
Compilation and Infrastructure
-----------
* Use GitHub Actions for packing and CI, removing Azure Pipelines.
* Fix build dependency on option ITK GenericLabelInterpolator module.
* Apply clang tidy modernize-concat-nested-namespaces, modernize-avoid-bind, modernize-make-unique.
* Code improvements for modern C++17.
* Get CommentSpellCheck from PyPI.
* Format Python files per Black.
* Use pre-commit for black, yaml, json checks and other linting.
* In R, remove overloaded AddCommand method.
* Restrict SWIGWORDSIZE64 definition to required SWIG versions.
* Use optional components feature when finding ITK.
* Directly use fold expression in TypeListHasPixelIDValue.
* Package Java and CSharp on Linux.
* Use new CMP0156 to address duplicate library warnings.