Scalismo 0.90
Overview and release highlights
After we have introduced experimental support for tetrahedral meshes in the last Scalismo release, in this release we focused on reworking the foundational concepts, such that everything fits seamlessly into the library. To this end we have reworked our implementation of statistical mesh models, discrete fields and transformations. We also introduced a new class PointDistributionModel, which generalizes StatisticalMeshModel in the sense that it works over any dataset defined on a discrete domain. This includes triangle meshes, tetrahedral meshes, line meshes and unstructured points in 2D and 3D. Furthermore we removed most subclasses of DiscreteField, such as DiscreteImage, ScalarField or VectorField and treat them now as a special instance of the class DiscreteField. This leads to a simpler and more unified API. Finally, we refactored the transformation classes with the goal of making the creating and composition of transformation more intuitive.
Breaking changes
Due to the changes at the core classes of Scalismo described above, there are many breaking changes in this release. The areas that are most effected are
- StatisticalMeshModels
- Discrete images
- Transformations
Please refer to the Scalismo tutorials to see how these classes should now be used. The changes are also detailed in the following blog post:
Contributors
The following people have contributed to this release
- Patrick Kahr
- Dennis Madsen
- Jonathan Aellen
- Andreas Morel-Forster
- Marcel Lüthi
(see git shortlog v0.18.0..v0.90.0 --no-merges for details)
Obtaining Scalismo
In order to use this version of Scalismo, bump the Scalismo version in your sbt-based project.