elastix 4.9.0
Release notes
By downloading elastix
you accept the conditions written here.
elastix 4.9.0
was released 20-03-2018. All binaries were created using ITK 4.13.0
.
download | description | compiler | CMake version |
---|---|---|---|
elastix-4.9.0-manual.pdf | The manual | ||
elastix-4.9.0-win64.zip | Windows 64 bit binaries | MSVS 2015 | CMake 3.7.1 |
elastix-4.9.0-linux.tar.bz2 | Linux 64 bit binaries | gcc 5.4.0 | CMake 3.5.1 |
Some download statistics can be found here.
Enhancements
-
The library interface of
elastix
has been completely redesigned! It now consists of an ITK filter that can be used in ITK pipelines together with other filters. The new library interface is currently used in SimpleElastix. You can read more about the design in the SimpleElastix paper. Transformix got a corresponding ITK filter. Support for a user-supplied initial transform was added by Bartolomejka. -
CUDA support was removed from
elastix
.
The OpenCL implementation that was included in the previous release is much more mature and supports much more use cases. -
For the OpenCL accelerations it is now possible to select the GPU in the parameter file.
This can be done using the option(OpenCLDeviceID "<x>")
-
Multi-threading was added to the displacement distribution code, which is part of the ASGD optimizer.
-
We added an option to compute the exact metric value every few iterations, which is nice for evaluation purposes.
-
The testing framework was made independent of external libraries. Travis CI and AppVeyor were added as Continuous Integration services. Thank you Andrey Fedorov!
New classes and/or methods
-
There is a new and faster implementation of the B-spline transform.
This transform can be selected using:(Transform "RecursiveBSplineTransform")
This transform gives exactly the same results as the original B-spline transform, but is at least twice as fast. It is the new recommended nonrigid transformation.
Preliminary results were published via Huizinga et al., Fast Multidimensional B-spline Interpolation Using Template Metaprogramming, 2014. -
A number of classes for PCA-based groupwise image registration.
Metrics includePCAMetric
,PCAMetric2
andSumOfPairwiseCorrelationCoefficientsMetric
, while transformation models includeTranslationStackTransform
,EulerStackTransform
,AffineLogTransform
andAffineLogStackTransform
.
This work was published via Huizinga et al., PCA-based groupwise image registration for quantitative MRI, 2016 -
Geoffrey D. Hugo and his group contributed an implementation of the mass-preserving Mean Square Difference metric. The metric can be selected using:
(Metric "SumSquaredTissueVolumeDifference")
This work was published earlier via Gorbunova et al., Mass preserving image registration for lung CT, 2012 and Yin et al., Mass preserving nonrigid registration of CT lung images using cubic B-spline, 2009.
Bugs
-
There was a remnant of the old elxTimer classes still in the library interface code. This was removed.
-
There were some fixes in the xout logging library, related to memory leaks when instantiating multiple
elastix
libraries. -
A memory leak due to a smart pointer cycle was fixed by Coert Metz.
-
Certain B-spline kernels used for interpolation had a small implementation mistake.
-
Steve Robbins performed a long list of cleanups, addressing Valgrind errors, testing and dashboard setup, library definition, and installation. Thank you Steve!