SimpleITK 2.2 Release Candidate 4

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.
5 Likes

Can we expect that the Elastix module will be included in public SimpleITK python wheels, when the official release is out?

1 Like

Hi @mzukovec ,

I dont know because i have never used Elastix, but i have used simpleITK. it is a nice. I think you better question @matt.mccormick who is in charge of a lot of open source stuf or @blowekamp who help me with something in the simpleITK.

BR
@sag

1 Like

@blowekamp is the maintainer of SimpleITK, and he is able to give the authoritative answer about SimpleITK wheels. Someone from the elastix team might comment on that too, such as @Niels_Dekker.

1 Like

I compiled for Linux x64 and elastix worked wrapped in python. It didn’t work for Arm64 on a MBP M1, problems installing and inability to generate a wheel, unfortunately, but I didn’t try too much to fix this.

@Niels_Dekker A second concern for me… will it be possible to add some flexibility in the SimpleElastix implementation to support more pixel types? Perhaps the generators can inherit from the compiled pixel type? I can compile elastix with different pixel types but the SimpleITK wrapping is locked to float.

See here:

The publish binary for 2.2rc4 are as the 2.2.0 final will be configured and distributed, without the Elastix option enabled. The additional of Elastix adds to the distribution size, resource needed, time for compilations, and it is a relatively new addition as well. The SimpleITK will be looking into making Elastix an optional install in the future.

For now, you are encouraged to try to compile SimpleITK yourself with the SimpleITK_USE_ELASTIX option enable to try out the new feature and report any issues.

Enjoy!

3 Likes

FYI, I just built SimpleITK with the Elastix module on a linux-aarch64 system. It built fine and all the Elastix tests passed.

4 Likes