Scalismo 0.16.0
Release highlights
- Simplified registration interface (#213)
- New registration metrics and improved metric interface (#200)
- Mutual information metric for image to image registration (#214)
- Robust metrics
- More flexible interpolation scheme for DiscreteField and DiscreteGaussianProcess (#220) (#216) (#219)
- Linear interpolation for GaussianProcesses and DiscreteFields which are defined on an image domain. (#221)
Breaking changes
For improving the registration and to be able to add the mutual information metric, a number of breaking changes were necessary:
- The steps for setting up the registration pipeline have changed.
- DiscreteGaussianProcess and DiscreteFields now take the domain as a type parameter.
- To guarantee that all the random computations can be made deterministic by seeding a random generator,
we have made it necessary to define an implicit val with a properly seeded instance ofscalismo.util.Random
or to import an implicit.
A working example that includes all the breaking changes can be found in the quickstart guide.
Bugfixes and minor changes
- Corrected computation of covariance matrix in MultivariateNormalDistribution (fixes #204)
- Removed implicit random value from sampling interface. Fixes #211 (#226)
- Corrected inconsistent DiscreteDomain.hashCode (#209)
- Changed GPA alignement, such that it does not change the reference. (#202)
- Implicit Random needs now explicit import for the default value (#210)
- run vtk garbage collector on initialization (#207)
- remove requirement that transformationspaces have to be differentiable for registration (#206)
- Return InterpolatedLowRankGP in DiscreteLowRankGP.interpolate (#219)
- Changed hierarchy of ClosestPoint classes (see Issue #201) (#203)
Contributors
The following people contributed to this release:
- Anna Smolinski (Mutual information)
- Andreas Forster (several bugfixes)
- Thomas Gerig (Linear interpolation)
- Sandro Schönborn (several bugfixes)
- Marcel Lüthi (Metric interface, Registration interface, Interpolation of DiscreteGaussianProcesses, several bugfixes)
Use git shortlog v0.15.0..v0.16.0 --no-merges
for a detailed overview of the individual commits
Obtaining Scalismo
In order to use this version of Scalismo, bump the Scalismo version in your sbt-based project.
See the the setup guide for details.