In the following figure, the basic structure MeVisLab is shown:
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
a system to turn whole module networks into new macro modules with an interface of their own. Macro modules may be built upon other macro modules.
a GUI system where the elements are generated from a hierarchical description file, automatically providing access to the parameter fields of the modules if desired.
an interface to the scripting language Python with full access to the modules and GUI widgets, including the ability to generate new modules or widgets.
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.
© 2021 MeVis Medical Solutions AG