Framework for building Statistical Image And Shape Models
C++ C Python CMake Shell
Latest commit e9cea28 Apr 30, 2016 @marcelluethi marcelluethi Merge pull request #250 from RuslanKosarev/master
Fixing the issue #249 and some improvements

ReadMe.md

Statismo - Flexible Shape Modeling Build Status

Statismo is a c++ framework for statistical shape modeling. It supports all shape modeling tasks, from model building to shape analysis. Although the main focus of statismo lies on shape modeling, it is designed such that it supports any kind of PCA based statistical model, including statistical deformation models and intensiy models. One of the main goals of statismo is to make the exchange of statistical shape models easy. This is achieved by using a well documented file format based on HDF5.

Getting Started and Documentation

The easiest way to explore statismo is by using the command line interface. The command line interface provides easy to use tools for the most common shape modelling task. Two example scenarios that show the use of the command line interface are documented here along with a detailed description for each command line tool.

To perform more complex tasks you can include statismo as a library in your own c++ application. The best way to get started is to check the main concepts on the Wiki page and then look at the example code (ITK Examples, VTK Examples) that are provided with statismo.These example programs are kept simple to illustrate the main principles and meant as a starting point for more complicated applications.

More detailed documentation and links to presentations and articles that describe the underlying theory can be found in the documentation section.

There is also the statismo-users google group for general questions and discussion regarding statismo and shape models in general.

Installing statismo:

Statismo comes with binary packages for Debian/Ubuntu and Mac (via homebrew). On all other platforms, statismo needs to be compiled from the sources (using CMake). You can find detailed build instructions on the statismo wiki.

Installation on Ubuntu and Debian

For Ubuntu 14.04, 14.10 and 15.04 you can install statismo using the following commands:

sudo add-apt-repository ppa:zarquon42/ppa
sudo apt-get update
sudo apt-get install statismo statismo-tools

and optionally to get docs and example data:

sudo apt-get install statismo-doc statismo-example-data
Installation on Mac via homebrew

To install statismo using hombrew simply issue the following commands

    $ brew tap homebrew/science
    $ brew install statismo 
    $ statismo-buid-gp-model -h

Updating an existing statismo installation can be achieved by issuing

    $ brew update && brew upgrade —all
    $ statismo-buid-gp-model -h

Tools

Statismo (shape) models are best viewed using the Statismo model viewer. Sometimes it is useful to look at the statismo file itself. Hdfview provides a graphical interface to explore the structure and data within a hdf5 file.

Support for other languages

Statismo is a C++ framework and at the current stage the only the C++ interface is supported and maintained on all platform. However, some work has already been done to make statismo available from other languages:

  • For Statismo's vtk module, experimental Python wrappers are available, which are known to work on Linux systems. These wrappers are internally used for our unit tests, which also serve as usage examples.
  • Statismo's VTK module can also be acccessed from R using Stefan Schlager's RvtkStatismo.

In principle it should also be easy to wrap the statismo ITK module by using ITK's WrapITK or SimpleITK. However, we currently have no working wrappers for ITK and do not have the resources to work on it. Any help is greatly appreciated.

History

Statismo has originally been developed in the context of the Co-Me research project as a collaboration between the University of Bern, the University of Basel and the ETH Zurich, with goal of the making it easy to exchange algorithms and shape models between different research groups. The original code has been written by

  • Marcel Luethi, University of Basel and
  • Remi Blanc, formerly at ETH Zurich.

In the meantime, many people have contributed to statismo, including

  • Thomas Albrecht
  • Tobias Gass
  • Arnaud Gelas
  • Thomas Gerig
  • Christoph Jud
  • Christoph Langguth
  • Frank Mueller
  • Stefan Schlager
  • Sandro Schönborn

The main development is currently done by the Graphics and Vision Research Group at the University of Basel.

Related Projects

  • Scalismo Scalismo is a library for image analysis and shape modelling for the Java Virtual Machine. It is written in Scala and based on the same underlying concepts as statismo (and partly developed by the same people).

  • Morpho An R toolset for Geometric Morphometrics and mesh processing, which can be used together with statismo using the package RvtkStatismo.

  • Deformetrica Deformetrica is a software, written in C++, for the statistical analysis of 2D and 3D shape data.

  • Spharm-PDM Toolbox is a shape correspondence software package using a parametric boundary description based on spherical harmonics.

License:

Statismo itself is licensed under the BSD license. It depends, however, on other open source projects, which are distributed under different licenses. Most notably, these are Eigen, Boost and HDF5 and, depending on the configuration, ITK and VTK.