Changes of elastix 4.3 compared to elastix 4.2
elastix 4.3 builds with ITK 3.16.
- Use the new ITK Review/Statistics framework. Make sure to select ITK_USE_REVIEW_STATISTICS in CMake when compiling ITK. Otherwise
elastix will not compile !!
- In previous versions of
elastix, the image orientation (direction cosines) of images were ignored. In this version, they are correctly handled. For backward compatibility reasons, by default elastix still ignores the image orientation, but it is highly recommended to include the following line in your parameter file:
In a future version of
elastix we will change the default to true.
- The example has been updated and includes a set of "default" parameter files, which should serve as a good starting point in many applications.
- The Windows 32bit executables support the MevisLab Dicom/Tiff format (thanks to the itkMevisDicomTiff library by Rashindra Manniesing). In future versions of
elastix this will also be included for other platforms as well.
- We changed the default HowToCombineTransforms from Add to Compose, which is conceptually better. Added a warning if the user did not specify this option in the parameter file
- Added the option "-jac all" to
transformix, which computes the determinant of the jacobian of the coordinate transformation, at each voxel in the fixed image.
- Deprecated the use of "
transformix -ipp". Use "
transformix -def" instead.
- We added the possibility to deselect components for compilation by default. Previously, the default was ON for all.
- Information is written to the log file to keep track on which machine you run a certain experiment. Also useful for answering user questions about
elastix failures. On windows systems a bug concerning the amount of internal memory was fixed after the release of ITK 3.16, so currently the reported amount of memory is wrong on those systems.
- A check was added that a parameter is specified only once in a parameter file.
New classes and/or methods:
- A CorrespondingPointsEuclideanDistanceMetric was added, which minimizes the mean distance between two pointsets. The points need to be corresponding. The pointsets are specified with the commandline options -fp and -mp. Points are specified in the same format as -def (-ipp), so first line index or point, second line the number of points, and subsequent lines the coordinates. The number of files in the two pointsets should be equal, since this is a CORRESPONDING points metric. So, to be clear, this is not the iterative closest point algorithm.
- Since the CorrespondingPointsEuclideanDistanceMetric does not need any pyramids (or interpolators or samplers) it should be specified last in the
elastix parameter file. We do not yet check for that.
- A mask for the fixed image is not yet supported. Simply all points are used.
- The Fixed/MovingShrinkingImagePyramid were added, which do not perform Gaussian (or any other) blurring, but simply resize an image by shrinking (i.e. throwing away rows and columns).
- Fixed some compiler warnings.
- BSplineInterpolatorFloat took actually more memory than the normal BSplineInterpolator.
- Synchronize with ITK bugfix 9745 for binary images.
- Dividing by zero was not checked for at many places. This gives errors when you, for example, try to register empty images, or when your mask is empty. Now this works more robustly. The resulting transformation becomes zero.
- Solved some bugs that caused unnecessary large memory consumption.
- Computation of spatial Jacobian of the BSplineTransform was incorrect.
elastix would segfault when an invalid component was supplied in the parameter file, without giving any hints. For example:
The FixedRecursiveImagePyramid would simply be set in the moving pyramid, but at a later stage this caused a crash.
(MovingImagePyramid "MovingRecursiveImagePyramid" "FixedRecursiveImagePyramid")
- Random ImageSampler produced not the same sequence of voxels without a mask as with a mask that covers the entire image.