Better support for using SimpleElastix in other projects. SimpleElastix and SimpleTransformix facade classes were refactored according to the private implementation (pimpl) pattern. This means all elastix headers are compiled into the compilation unit and does not have to be installed on the target system. The result is a more robust build and faster compilation and linking process.
SimpleElastix and SimpleTransformix are only compiled for the float pixel type by default. Images are automatically casted back and forth internally. This significantly improves build times and reduces binary size.
Elastix was updated to the newest version which includes many improvements and bugfixes; in particular a huge merge of the performance branch.
Changed
SimpleTransformix.SetMovingPointSet() changed name to SimpleTransformix.SetFixedPointSet() to accurately reflect its mathematical definition.
v0.9.1
8 years ago
New
Completely rewritten core. Internally, images are now registered using the ITK-style ElastixFilter and TransformixFilter library interfaces developed specifically for SimpleElastix. This brings SimpleElastix on par with the original elastix command line interface by adding:
Support for multiple fixed images, multiple moving images, multiple fixed masks and multiple moving masks
Support for point set registration and warping of point sets with SimpleTransformix
Support for writing the spatial jacobian, deformation field and determinant of the spatial jacobian to disk,
Support for initial transforms
Completely rewritten test suite covering a larger number of registration algorithms performing more thorough unit testing
Add method ExecuteInverse() for automatically obtaining the inverse transformation even for methods without an analytical inverse
Add valgrind memcheck utility script
Add groupwise affine registration method
Add two new groupwise similarity metrics
Default parameter maps are now added automatically when SimpleElastix class is instantiated. This means the user does not have to supply a parameter map before starting registration but a simple Elastix(fixedImage, movingImage) call is enough.
Add support for 4D images to JoinSeriesImageFilter
Add preconfigured SplineKernel parameter map
Add checks and better diagnostic messages for many typical errors
Fixed
Fixed an issue that prevented transformix from transforming 4D images
Changed
Add support for all pixel types by default
Compile in Release mode by default
SimpleITK.ParameterMapList() changed name to VectorOfParameterMap() to align with SimpleITK naming.
SimpleTransformix.SetInputImage() changed name to SimpleTransformix.SetMovingImage() to align with the SimpleElastix.SetMovingImage() method and convey its role more clearly.
PrettyPrint() changed name to PrintParameterMap()
Updated and improved default parameter maps.
Switched to a Github elastix mirror in favor of official elastix SVN reposity due to stability problems.