Click on the image to watch a demo video of MeVisLab |
MeVisLab is a visual programming and rapid prototyping platform for image processing research and development with a focus on medical imaging and visualization. MeVisLab provides a flexible and simple handling of visualization and image processing algorithms by modular visual programming. No programming knowledge is required to set up image processing and visualization pipelines. Complete applications including user interfaces can be effortlessly built within a common framework. Beside general image processing and visualization tools, MeVisLab includes advanced medical imaging algorithms for segmentation, registration, and quantitative morphological and functional analysis. Best of all, MeVisLab is available for Mac OS X – free for non-commercial use.
New image processing algorithms and visualization tools can be integrated as new modules using a standardized software interface. Module wizards as well as an interface for customized wizards add further usability. Macro modules that allow for a hierarchical encapsulation of networks facilitate the reuse of available developments. Efficient designs of graphical user interfaces can be achieved by using an abstract, hierarchical module definition language (MDL), that hides the complexity of the underlying module network to the end user. To add dynamic functionality, Python or JavaScript code may control both network and user interface level elements. Last but not least, MeVisLab can be fully integrated into the radiological workflow (PACS and DICOM integration).
MeVis Image Processing Library (ML)
An integral part of MeVisLab is the object-oriented MeVis Image Processing Library (ML), that provides a general framework for image processing. Each algorithm is represented as a self-descriptive module inside the development environment. These functional units can be arbitrarily combined to form a network via an intuitive graphical user interface. Image processing is done in a strictly request-driven way using sophisticated paging, caching, and multithreading strategies. Various concepts for local, global, and kernel image processing are supported, as well as special assistance for global access to large images. Currently, more than 300 image processing modules are available, including image filtering, segmentation, and statistical analysis.
MeVis Giga Voxel Renderer (GVR)
Interactive volume rendering of large datasets and the enhancement with segmentation information are crucial for the presentation of medical data. The MeVis Giga Voxel Renderer (GVR) presents a new volume rendering approach that combines a texture-based multi-resolution approach with advanced per object shading techniques. A multi-resolution technique based on an octree and on 3D textures is employed and adaptively selects the best resolution depending on camera position, volume of interest, and available resources. Individual transfer functions and different rendering modes such as non-photorealistic or shaded volume rendering can be chosen individually for every segmented object. Optimized shaders are automatically selected depending on the number of segmented objects in each octree node. Interactive and high-quality rendering of large data sets enriched with per object shading is achieved on current consumer graphics hardware. Responsiveness is guaranteed during interactive rendering by time slot management.
Open Inventor
For visualization and interactive graphics programming, the Open Inventor™ 3D visualization toolkit is fully integrated into MeVisLab. Based on a 3D scene graph, Open Inventor includes a rich set of objects such as geometrical primitives, polygons, text, materials, cameras, lights, trackballs, handle boxes, 3D viewers, and editors. Furthermore, additional functionality has been added, such as customizable 2D and 3D viewer frameworks, annotations, advanced MPR techniques, and support for the OpenGL Shading Language (GLSL).
NLM Insight Segmentation & Registration Toolkit (ITK)
The Insight Toolkit (ITK) is an open-source software toolkit for performing registration and segmentation. ITK employs leading-edge segmentation and registration algorithms in two, three, and more dimensions. The MeVisLab ITK integration allows to use ITK for visual programming instead of tedious C++ template programming. The new modules can easily be combined with the over 700 modules that MeVisLab itself already provides. No compilation of ITK is required and the ITK filters benefit from the MeVisLab data caching mechanisms.
Visualization ToolKit (VTK)
The Visualization ToolKit (VTK) is an open source, freely available software system for 3D computer graphics, image processing, and visualization used by thousands of researchers and developers around the world. VTK supports a wide variety of visualization algorithms including scalar, vector, tensor, texture, and volumetric methods; and advanced modeling techniques such as implicit modeling, polygon reduction, mesh smoothing, cutting, contouring, and Delaunay triangulation. In addition, dozens of imaging algorithms have been directly integrated to allow the user to mix 2D imaging / 3D graphics algorithms and data. The VTK integration adds exciting new possibilities to the MeVisLab environment, almost all VTK algorithms are available as MeVisLab modules and even the combination of Open Inventor and VTK modules is possible.
Python
Python™ is a dynamic object-oriented programming language that can be used for many kinds of software development. It offers strong support for integration with other languages and tools, comes with extensive standard libraries, and can be learned in a few days. Besides Javascript, MeVisLab integrates Python for full scripting support.