Changes of elastix 3.9 compared to elastix 3.8
elastix is now available under the BSD license. This imposes only a few restrictions on its use, and is less restrictive compared to prior distributions of
- No more DLL's. The use of DLL's caused bugs related to static variables which are defined in each component separately. This caused bugs with the filter/pipeline mechanism of ITK. In practice it did not cause problems until we turned the ImageSamplers into "real components". Now we just use static libs. An additional advantage is that the size of the binaries is much smaller now.
- Updated the documentation. We also wrote a manual.
- Related to the new BSD license, we added copyright notices throughout the code. This should take care of the legal stuff.
elastix 3.9 compiles with ITK 3.6.
- More consistent use of automatic scales estimation for transforms for which it makes sense.
- Better default values at several places.
- Added some checks to protect the user from making stupid mistakes.
- ImageSamplers are now "real components", just like metrics are. No changes for the user.
transformix -ipp outputs the index now both in the fixed image domain and in the moving image domain (if the moving image is supplied using
New classes and/or methods:
- We made the specification of the B-spline grid and how to use multi-grid similar to the specification of the image pyramids. The functionality is now implemented in two classes, the
itk::GridScheduleComputer and the
itk::UpsampleBSplineParametersFilter. We deprecated the use of
FinalGridSpacing. Use either
We also deprecated the use of
(FinalGridSpacingInPhysicalUnits 20.0 20.0 20.0) or
(FinalGridSpacingInVoxels 8.0 8.0 8.0)
instead. See the documentation for more details.
(GridSpacingSchedule 4.0 2.0 1.0)
- Added the option
(CompressResultImage "true"). Works especially nice for binary images.
- Added the function
SetNumberOfSamples() to the
ImageGridSampler. This function determines the grid spacing such that the desired number of samples is achieved approximately.
- Added the
BSplineInterpolatorFloat, which is the same as
BSplineInterpolator, but with a reduced memory footprint.
- Added the long overdue
AdvancedNormalizedCorrelation metric, which takes advantages of the compact support of B-splines. So, it's much faster compared to previous releases of
elastix if the transform is the
- Added the possibility to retry the sampling process when the metric gives an exception about the valid number of samples. Currently implemented for the
StandardGradientDescent optimiser only. Can be set by
Removed classes and/or methods:
- Removed obsolete MeanSquaresMetric, since the advanced version is available. Change in your parameter file:
(Metric "MeanSquares") to
- Removed obsolete NormalizedCorrelation, since the advanced version is available. Change in your parameter file:
(Metric "NormalizedCorrelation") to
- Removed obsolete MattesMutualInformation, since the advanced version is available. Change in your parameter file:
(Metric "MattesMutualInformation") to
- Removed DifferentialOverlap feature. This cleans up the code in a lot of places.
- Fixed numerous small bugs.
- With the new ITK 3.6 a function name changed. We had to update the call to this function in
elastix. This means that
elastix will no longer compile with versions of ITK older than 3.6.
transformix -ipp did not convert correctly from physical point to image index, due to the buggy