Skip to content

Releases: SimpleITK/SimpleITK

Release latest

30 May 21:06
7768e15
Compare
Choose a tag to compare
Release latest Pre-release
Pre-release

This is an automatic pre-release packaging of SimpleITK based on the master branch. It contains the latest features and experimental developments.

To upgrade to the latest pre-release Python binary package run:
pip install --upgrade --pre SimpleITK --find-links https://github.com/SimpleITK/SimpleITK/releases/tag/latest

What's Changed

Read more

v2.3.1

02 Nov 13:27
Compare
Choose a tag to compare

Announcement

Announcing the SimpleITK 2.3.1 Release!

The release includes fixes to behavior regression, compilation issues, and support for Python 3.12.

Change Log

42ce27d Bump patch version to 2.3.1
da78080 Explicitly install setuptools in environment
ad198eb Add Python 3.12 packaging support
0ca94ef Address missing Generic Label Interpolator
27112d2 Fix undeleted N4 filter in example
0b0a492 Use reusable MockLogger to capture warning messages
72ee8bf Restore and depricate MaskImageFilter support for mask input types

v2.3.0

14 Sep 00:04
277b7b7
Compare
Choose a tag to compare

Announcement

Announcing the SimpleITK 2.3.0 Release!

The release includes new features, behavior changes, documentation updates and bug fixes.

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.

Python Binary Downloads

Python binary wheels are available for download from PyPI. It is important to have the latest version of pip for correct wheel compatibility and installation. To install the latest SimpleITK package:

python -m pip install --upgrade pip
python -m pip install SimpleITK

Anaconda Binary Downloads

The packages are available on conda-forge with dependecies on the ecosystem:

conda install --channel conda-forge simpleitk

Starting with SimpleITK 2.3.0, binary packages will no longer be available in the "simpleitk" anaconda channel. Older versions continue to be available in that channel.

Contributors

Thank you to all contributors to SimpleITK and ITK. The new contributors to SimpleITK include @mbopfNIH @kaspermarstal @umasehs @caolonghao @wbzyl.

Release Notes

New Features

  • Added sitkLabelLinear interpolator for multi-label images. The implementation is the LabelImageGenericInterpolateImageFunction class from GenericLabelInterpolator ITK remote module. ( Contributed by @dyollb )
  • In Python, add support for masked images to __setitem__ as index parameter. The mask is considered a binary mask where assignment occurs. For example img[img<0] = 0 can be used to remove negative numbers.
  • In Python, add MinimumMaximum() -> Tuple[float, float] procedure for MinimumMaximumImageFilter.
  • In Python, add pathlib.Path support to Transform IO methods.
  • Add Clamp boolean option to UnsharpMaskFilter.
  • Add Image::ToVector and Image::ToScalar methods to perform fast in-place conversion between vector pixel types (VectorImage), and high spatial dimension scalar images.
  • Add initial seed values to FastMarchingBaseImageFilter and FastMarchingImageFilter.
  • Add KernelType parameter RankImageFilter to support non box kernel shapes.
  • Wrap MaskedAssignImageFilter.
  • Add AssignConstant to MaskedAssignImageFilter and support for vector input images.
  • Internally replace NPasteImageFilter with PasteImageFilter.
  • Add to N4BiasFieldCorrectionImageFilter measurements of CurrentLevel, ElapsedIterations, and CurrentConvergenceMeasurement for observers.
  • Update FFTNormalizedCorrelationImageFilter to use named inputs.
  • Add missing RequiredFractionOfOverlappingPixels parameter to FFTNormalizedCorrelationImageFilter.
  • Various improvements to SimpleElastix integration and support.

Behavior Changes

  • Change to CMake FindPython module for configuration of the python build environment. CMake configuration variable such as "PYTHON_EXECUTABLE" are now changed to "Python_EXECUTABLE". Additionally, the new CMake module uses "modern" logic for detecting which python executable to use, and the "Python_EXECUTABLE" CMake variable may need to be set to ensure the correct python environment is used.
  • Change MaskImageFilter and MaskNegatedImageFilter to only support sitkUInt8 pixel types for masked input. This unifies the supported mask image types between these two filters and the MaskedAssignedImageFilter to match SimpleITK's common conventions for mask images.
    • For the MaskImageFilter it is recommended to update to casting the mask input parameter to sitkUInt8 pixel type. This is compatible with versions before SimpleITK 2.0.
    • The MaskNegatedImageFilter old behavior erroneously expected both inputs to be of the same type. The new behavior expects the inputs to be of sitkUInt8
  • Removed Python 3.7 packaging.
  • Restore functions for static members like ImageSeriesReader_GetGDCMSeriesIDs (restores 2.2 behavior).
    SWIG 4.1.0 changed behavior to removing flattened static methods for objects. The compatible behavior can be restored by adding -flatstaticmethod argument to SWIG. The SimpleITK_PYTHON_FLATSTATICMETHOD CMake variable has been added to control the usage of this flag. It is currently enabled by default and is planned to default to OFF in future releases.

Bug Fixes

  • Fix already defined GTest::Main issue with using ITK out of a build tree.
  • Add an internal "Proxy" image to safely support exceptions with certain in place operations in C++ and Python.
  • Fix FastMarchingUpwindGradientImageFilter setting target point before setting stopping criteria.
  • Test support of LandmarkBasedInitialization for Similarity3DTransforms.

Documentation

  • Added to Sphinx generated documentation images and text output such as in Fast Marching Segmentation and Image Registration Method1 examples.
  • Fixed bug in example, working with DICOM tags.
  • Update JSON docs form ITK XML
  • Document specifying pixel type as part of reading.
  • Add information on dependency between GetGDCMSeriesIDs and GetGDCMSeriesFileNames.
  • In DicomTagsExample, included example run of DicomImagePrintTags code in the Sphinx docs.
  • Fix time date ordering in string in DicomSeriesFromArray.R example.

Compilation

  • Require C++17 for building SimpleITK.
  • Update GTest Superbuild version to 1.13.0
  • Update Swig Superbuild version to 4.1.1
  • Various C++17 modernization in testing include more usage of initializer lists, and namespaces.
  • Change PimpleImageBase to return unique_ptr over raw.
  • Address unused return value in image transform point methods and in transform tests.
  • Use unique_ptr for Transform interface.
  • Remove references to legacy SITK_4D_IMAGES definition.
  • Enable ITK_LEGACY_REMOVE by default in SuperBuild.
  • Update ITK enum to remove legacy enums type.
  • Update to CSharp DotNet version 4 by default.
  • Update SimpleITK Superbuild Lua to 5.4.4 and enable usage of Lua 5.4.
  • Remove disutils and setupegg.py from Python packaging fallback.
  • Add pyproject.toml to address wheel dependency warning.
  • Add baseline images for LaplacianSharpening to update for ITK v5.4 changes.
  • Update SuperBuild Lua version to 5.4.6.
  • Many continuous integration improvements.

v2.3rc2

03 Aug 17:15
9fd4df9
Compare
Choose a tag to compare
v2.3rc2 Pre-release
Pre-release

Announcement

Announcing the SimpleITK 2.3 Release Candidate 2!

This is expected to be the final RC before the 2.3.0 release. 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.

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.3rc2
    

Release Notes

Behavior Changes

  • Removed Python 3.7 packaging.

  • Restore functions for static members like ImageSeriesReader_GetGDCMSeriesIDs (restores 2.2 behavior).

    SWIG 4.1.0 change behavior to removing flattened static methods for objects. The compatible behavior can be restored by adding -flatstaticmethod argument to SWIG. The SimpleITK_PYTHON_FLATSTATICMETHOD CMake variable has been added to control the usage of this flag. It is currently enabled by default and is planned to default to OFF in future releases.

Compilation

  • Add baseline images for LaplacianSharpening to update for ITK v5.4 changes.
  • Update Superbuild Lua version to 5.4.6
  • Additional CI changes.

v2.3rc1

10 Jul 14:46
2e91a49
Compare
Choose a tag to compare
v2.3rc1 Pre-release
Pre-release

Announcement

Announcing the SimpleITK 2.3 Release Candidate 1!

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.

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.3rc1
    

Release Notes

New Features

In Python, add support for masked images to __setitem__ as index parameter. The mask is considered a binary mask where assignment occurs. For example img[img<0] = 0 can be used to remove negative numbers.
In Python, add MinimumMaximum() -> Tuple[float, float] procedure for MinimumMaximumImageFilter.
In Python, add pathlib.Path support to Transform IO methods.

Add Clamp boolean option to UnsharpMaskFilter.
Add Image::ToVector and Image::ToScalar methods to perform fast in-place conversion between vector pixel types (VectorImage), and high spatial dimension scalar images.
Add initial seed values to FastMarchingBaseImageFilter and FastMarchingImageFilter.
Add KernelType parameter RankImageFilter to support non box kernel shapes.
Wrap MaskedAssignImageFilter.
Add AssignConstant to MaskedAssignImageFilter and support for vector input images.
Internally replace NPasteImageFilter with PasteImageFilter.
Add to N4BiasFieldCorrectionImageFilter measurements of CurrentLevel, ElapsedIterations, and CurrentConvergenceMeasurement for observers.
Update FFTNormalizedCorrelationImageFilter to use named inputs.
Add missing RequiredFractionOfOverlappingPixels parameter to FFTNormalizedCorrelationImageFilter.
Various improvements to SimpleElastix integration and support.

Behavior Changes

Change MaskImageFilter and MaskNegatedImageFilter to only support sitkUInt8` pixel types for masked input. Previously, the ...

Read more

v2.2.1

07 Dec 14:25
Compare
Choose a tag to compare

Release Notes

SimpleITK 2.2.1 has been released!

The patch release includes bug fixes, and updates.

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.

Python Binary Downloads

Python binary wheels are available for download from PyPI. It is important to have the latest version of pip for correct wheel compatibility and installation. To install the latest SimpleITK package:

python -m pip install --upgrade pip
python -m pip install SimpleITK

Anaconda Binary Downloads

SimpleITK packages are available for the conda Python package manager as a monolithic package:

conda install -c simpleitk simpleitk

The packages are also on conda-forge with dependecies on the ecosystem:

conda install --channel conda-forge simpleitk

Release Notes

New Features

Update ITK to 5.3.0 tagged release.
Add Python 3.11 binary packages.
Update LabelOverlapMeasures with ITK 5.3 changes: existing computation for FalsePositiveError was renamed to
FalseDiscoveryRate, and the computation for FPE corrected.

Bug Fixes

Fix segmentation fault with exception in inplace operators, caused by invalid images after C++ move.
Fix viewer test to use system python executable.
Fix duplicate GTest CMake configuration from ITK
Support CMake DOWNLOAD_EXTRACT_TIMESTAMP option for correct SWIG and PCRE file timestamps.
Fix numpy character dtype conversion warning.
Fix error with itk::LabelOverlapMeasuresImageFilter::SetInput.

Compilation and CI

Update Github actions to fix warning.
Fix CircleCI Python 3.8 builds.

v2.2.0

30 Aug 13:01
4310bf5
Compare
Choose a tag to compare

Announcement

SimpleITK 2.2.0 has been released!

The release includes new features, API changes, documentation updates and bug fixes.

A highlight of this release is the addition of SimpleElastix as a compile time option in SimpleITK.

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.

Python Binary Downloads

Python binary wheels are available for download from PyPI. It is important to have the latest version of pip for correct wheel compatibility and installation. To install the latest SimpleITK package:

python -m pip install --upgrade pip
python -m pip install SimpleITK

Linux aarch64 Support

Included in this release are "manylinux2014_aarch64" wheels to provide support for the ARMv8-A (aarch64) on Linux.

Anaconda Binary Downloads

SimpleITK packages are available for the conda Python package manager as a monolithic package:

conda install -c simpleitk simpleitk

Release Notes

Compatibility Changes

  • The string value of sitkBSpline changed to "sitkBSpline3".
  • Update to CMake 3.16.3 requirements.
  • SimpleITK libraries now require C++14
  • Require SimpleITK_INT64_PIXELIDS for 64-bit builds.
  • The Python ReadTransform method now returns a downcasted transform.
  • Replace internal typelist meta-programming with typelist2::typelist utilizing variadic templates.

New Features

  • Add SimpleITK_USE_ELASTIX as a compile time option to incorporate SimpleElastix classes: ElastixImageFilter, TransformixImageFilter into the SimpleITK binary. By default, this option is disabled and the classes are not available in the SimpleITK binary distributions. To make these classes available you will need to build SimpleITK from its source code with the option turned on.
  • Add wrapping of TransformGeometryImageFilter.
  • Add EvaluateAtPhysicalPoint and EvaluateAtContinuousIndex methods to Image class.
  • Improve Python GetImageFromArray performance.
  • Add different orders for the BSpline interpolator.
  • Downcast returned Transform objects to concrete class in Python.
  • Add VectorDistanceMap results to Danielsson distance filters.
  • Support max dimension in "projection" filters.
  • Improved Python packaging type information (PEP 561).
  • Improved types for manual Python procedural methods: Resample, GetArrayFromImage, GetImageFromArray, GetArrayViewFromImage, ReadImage, WriteImage, SmoothingRecursiveGaussian, DiscreteGaussian.
  • Add missing GridImageSource::WhichDimensions method.
  • Update ITK to 5.3rc04.

Bug Fixes

  • Fix unknown enum for smoothing DisplacementFieldTransforms.
  • Change expected number of iterations for LBFGS2 test due to ITK changes.
  • Additional baseline test image for AArch64/ARM64 systems.
  • Fix test failure when system has more than 127 processors.
  • Remove failing test with 32-bit pixel and JPEG file.
  • On Apple OSX use .dylib extension for C# native library.
  • Fix setup.py to not loading SimpleITK native library.
  • Fix Python resample procedure handling of unexpected keyword argument.
  • Fix undefined test behavior expected in BasicFilters.Cast test.
  • Fix GenericException assignment by using shared_ptr internally.
  • Correct SinRegularizedHeviside option for ScalarChanAndVeseDenseLevelSetImageFilter.

Documentation

  • Add CSharp DicomSeriesReader example.
  • Add section about the missing SimpleITK DLL in CSharp.
  • Improve Doxygen documentation rendering with updated packages and improved efficiency of updates.
  • Add C++ and C# versions of N4 bias example.
  • Add favicon to Sphinx docs.
  • Update ImageGetSetBuffer.cs example.
  • Doc page for the path length issue for Windows.
  • Add documentation on registration reproducibility.
  • Added FAQ entry: Why does my image appear to be empty / all black / blank when visualized?
  • Update N4BiasFieldCorrection example to save full corrected image.
  • Reformat Python example for flake8.
  • Improve ImageSeriesReader documentation for determining pixel type.

Compilation and CI

  • Update superbuild version PCRE to 8.45.
  • Update superbuild googletest version to 1.11.
  • Add dockerfile to build manylinux2014 on AZP for packaging.
  • Fix unused type alias warning.
  • Make CreateInterpolator methods with hidden linkage.
  • Remove Nightly Doxygen on CircleCI.
  • Merge Lint and Spell workflows.
  • Address clang lambda capture warning.
  • AZP Packaging use macos-10.15.
  • Remove old manylinux1 builds.
  • Dockerfile to build on linux-aarch64.
  • Update CircleCI configuration.
  • Various CI maintenance update including updating OS images used and tool versions.
  • Add CSharp building and packaging in AZP for Mac OSX.
  • Update MacOSX version.
  • Build with SimpleITK_USE_ELASTIX on Github Actions.

v2.2rc4

29 Jul 19:57
8ea1e1e
Compare
Choose a tag to compare
v2.2rc4 Pre-release
Pre-release

Announcing the SimpleITK 2.2 Release Candidate 4!

Users and developers are encouraged to test the RC before the final release and report issues, bugs, and any compatibility problems. This is the final RC before the 2.2 final release.

In collaboration with the Elastix team, the addition of SimpleElastix as a compile time option is the highlight of this release. Please download the SimpleITK source and compile with the CMake SimpleITK_USE_ELASTIX option enabled to try out this experimental feature.

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.

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.2rc4
    

Release Notes

New Features

  • Add SimpleITK_USE_ELASTIX as a compile time option for SimpleElastix classes: ElastixImageFilter, TransformixImageFilter. This option is currently disabled by default.
  • Update ITK to 5.3rc04

Bug Fixes

  • Fix undefined behavior in BasicFilters.Cast test
  • Fix GenericException assignment by using shared_ptr internally
  • Correct SinRegularizedHeaviside option for ScalarChanAndVeseDenseLevelSetImageFilter

Documentation

  • Reformat Python example for flake8
  • Improve ImageSeriesReader documentation for method used to determining pixel type.

Compilation

  • Update MacOSX version in CI
  • Build with SimpleITK_USE_ELASTIX enabled on Github Actions.

v2.2rc3

02 Jun 20:13
12c5683
Compare
Choose a tag to compare
v2.2rc3 Pre-release
Pre-release

Announcement

Announcing the SimpleITK 2.2 Release Candidate 3!

Users and developers are encouraged to test the RC before the final release and report issues, bugs, and any compatibility problems. The SimpleITK 2.2.0 final is planned to be published shortly after the next ITK tag, either v5.3rc04 or v5.3.0.

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.

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.2rc3
    

Anaconda Binary Downloads

Conda packages are available from Anaconda Cloud on the SimpleITK channel. These can be installed with:

conda install -c simpleitk/label/dev simpleitk

Note that pre-release packages with the "dev" channel may be deleted in the future after the releases are made.

Release Notes

API Changes/Compatibility Changes

  • Replace internal typelist meta-programming with typelist2::typelist utilizing variadic template.

New Features

  • Update ITK superbuild version to ITK hash ee664da6bb1a83cdf82e2582126e65119a4de1a4.
  • Add missing GridImageSource::WhichDimensions method.

Bug Fixes

  • On Apple OSX use .dylib extension for C# native library
  • Fix setup.py to not load SimpleITK native library.
  • Fix Python resample procedure handling of unexpected keyword argument.

Documentation

  • Added FAQ entry: Why does my image appear to be empty / all black / blank when visualized?
  • Update N4BiasFieldCorrection example to save full corrected image.

Compilation

  • Update CircleCI configure
  • Various CI maintenance update including updating OS images used and tool versions.
  • Add CSharp building and packaging in AZP for Mac OSX.

v2.1.1.1

07 Apr 14:05
Compare
Choose a tag to compare

This release was yanked from PyPI, due to a partial upload cause by an account limitation.

Announcement

Updates to build infrastructure and including Python 3.10 binaries.