elastix 5.3.1 was released in March 2026. All binaries were created using ITK 5.4.5.
| download | description | compiler | CMake version |
|---|---|---|---|
| elastix-5.3.0-manual.pdf | The manual | ||
| https://github.com/SuperElastix/elastix/releases/download/5.3.1/elastix-5.3.1-windows.zip | Windows 64 bit binaries | Visual Studio 2022 MSVC 194435223.0 | CMake 4.2.3 |
| https://github.com/SuperElastix/elastix/releases/download/5.3.1/elastix-5.3.1-ubuntu.zip | Linux binaries (Ubuntu 22.04) | GNU 11.4.0 | CMake 4.2.3 |
| https://github.com/SuperElastix/elastix/releases/download/5.3.1/elastix-5.3.1-macos.zip | MacOS 14 ARM64 binaries | AppleClang LLVM >= 15.0.0 (clang-1500.3.9.4) | CMake 4.2.3 |
Notes:
- When using the Windows binaries, you may need to install or update the appropriate Visual C++ redistributable on your machine (typically the one for X64): https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist
- When you want to use the IMPACT metric (that is, when you have the "Impact" metric as one of your registration parameters), you must have the run-time libraries of LibTorch 2.8.0 (from https://pytorch.org) in your library path, for elastix.
Most important improvements of this release
- For Windows users: With this release, the executables (
elastix.exeandtransformix.exe) fully support Unicode (utf-8) file path names for registration parameter files and transform parameter files (pull request #1401). A big thank you to Bernhard Fröhler (@codeling)! - The IMPACT metric component that was introduced with elastix 5.3.0 is now loaded as a plugin, by means of "lazy loading", allowing anyone to use it without having to rebuild elastix (pull request #1396). Another big thank you to Valentin Boussot (@vboussot)!
- For users of Linux and MacOS: The executables (
elastixandtransformix) now have a relative path to the directory of the third party library that we are using added to itsRPATH(pull request #1404). So now it is no longer necessary for users to set theirLD_LIBRARY_PATH. The extra versioned ".1" library files were removed (pull request #1416). - A small performance improvement was achieved for the metrics (specifically "DistancePreservingRigidityPenalty" and "TransformRigidityPenalty") and two transforms ("BSplineTransformWithDiffusion" "MultiBSplineTransformWithNormal") (pull request #1410).
- Improved error handling for ParameterObject: it now throws an exception when the specified index or parameter name is not there (pull request #1420 and #1422).
Merged pull requests
- #1401 ENH: use utf-8 via manifest on Windows by @codeling
- #1404 ENH: Add relative path to lib directory to RPATH on Linux and MacOS
- #1406 COMP: Replace MersenneTwister Initialize calls in tests with SetSeed
- #1408 COMP: Use GTest::gtest and GTest::gtest_main targets for ITK > v5.4.5
- #1409 Upgrade to Doxygen v1.16.1
- #1410 Avoid calling
ImageConstIterator::GetIndex()iteratively, in transforms and metrics - #1411 DOC: Exclude GTesting from Doxygen
- #1396 ENH: Lazy loading for optional components (IMPACT) by @vboussot
- #1412 Small MainBase style improvements regarding lazy component loading
- #1414 Reduce
#ifblocks inMainBase::TryLoadComponentPlugin - #1417 STYLE: Remove deprecated member functions from
elx::ParameterObject - #1416 Remove VERSION and SOVERSION target properties, replace "elx" prefix with "elx-", for library files
- #1418 STYLE: Remove redundant
file(MAKE_DIRECTORY ...)calls from CMakeLists - #1419 ENH: Use the full date and time (RFC 2822) in Doxygen generated HTML
- #1420 ENH: Let ParameterObject throw an exception when index is out of range
- #1422 ENH: ParameterObject.GetParameter throw when parameter name is not there
- #1421 ENH: Add Chinese chars to path names Testing/Data and output directory
- #1423 Add patch version number to library file names, bump elastix version to 5.3.1
Full Changelog: ed32a1b...ef34ca9