12.2. Structure of MeVisLab

In the following figure, the basic structure MeVisLab is shown:

Figure 12.1. MeVisLab Structure

MeVisLab Structure

MeVisLab is based on C++ objects called modules which either belong to the ML type system developed at MeVis or to the Open Inventor type system from SGI. Both module types offer a generic parameter field system for parametrization and change notification. Open Inventor modules together form a scene graph for interaction and rendering in OpenGL, while the ML modules can be connected to form an image processing pipeline.

Image processing in the ML is demand-driven (in that only the required parts of an image output are calculated) and tile-based (this is used for caching of results). As an additional benefit, many classes from the ITK and VTK libraries are provided in the ML type system through code-generated wrapper modules.

Mixed modules belong to either system but can take input from the other system, thereby serving as a bridge between systems.

MeVisLab unifies these two module systems with another internal layer that abstracts away the differences between these systems. Stacked upon that layer is

Based on these functionality one can build, test and evaluate own applications with the integrated development environment and — with the proper license — generate own installers with standalone applications.