MeVisLab


MeVisLab is a cross-platform application framework for medical image processing and scientific visualization. It includes advanced algorithms for image registration, segmentation, and quantitative morphological and functional image analysis. An IDE for graphical programming and rapid user interface prototyping is available.
MeVisLab is written in C++ and uses the Qt framework for graphical user interfaces. It is available cross-platform on Windows, Linux, and Mac OS X. The software development is done in cooperation between MeVis Medical Solutions AG and Fraunhofer MEVIS.
A freeware version of the MeVislab SDK is available. Open source modules are delivered as MeVisLab Public Sources in the SDK and available from the MeVisLab Community and Community Sources project.

History

MeVisLab development began in 1993 with the software ILAB1 of the CeVis Institute, written in C++. It allowed to interactively connect algorithms of the Image Vision Library on Silicon Graphics (SGI) to form image processing networks. In 1995, the newly founded MeVis Research GmbH took over the ILAB development and released ILAB2 and ILAB3. OpenInventor and Tcl scripting was integrated but both programs were still running on SGI only.
In 2000, ILAB4 was released with the core rewritten in Objective-C for Windows. For being able to move away from the SGI platform, the Image Vision Library was substituted by the platform-independent, inhouse-developed MeVis Image Processing Library. In 2002, the code was adapted to work on the application framework Qt.
In 2004, the software was released under the name MeVisLab. It contained an improved IDE and was available on Windows and Linux. See the Release history for details.
In 2007, MeVisLab has been acquired by MeVis Medical Solutions AG. Since then, MeVisLab has been continued as a collaborative project between the MeVis Medical Solutions and Fraunhofer MEVIS.

Features

[Image:Gvr body wp.jpg|thumb|300px|Body center rendered in MeVisLab]
MeVisLab features include:Image processing with the MeVis Image Processing Library : The ML is a request-driven, page-based, modular, expandable C++ image processing library supporting up to six image dimensions. It offers a priority-controlled page cache and high performance for large data sets.2D image viewing: Fast, modular, extensible 2D viewers with combined 2D/3D rendering are implemented, supporting slab rendering, overlays, point/ROI selection, Multiplanar Reformations (MPR), as well as interactive editing of marker objects Volume rendering: A high-quality volume renderer based on OpenGL/Open Inventor is available. It supports large image volumes, time-varying data, lookup tables, interactive region of interest, sub-volume selection, modular, multi-purpose GLSL shader framework.DICOM and other file formats: DICOM is supported via an import step that automatically recognizes series of 2D DICOM frames that belong to the same 3D/4D image volume. The data can be browsed with a configurable DICOM browser. DICOM storage to PACS is possible. Other supported file formats include TIFF, Analyze, RAW, PNG, JPG, BMP, and more.Tool frameworks: Modular class and module libraries for markers, curves, histograms, Winged-Edged Meshes (WEM) and Contour Segmentation Objects are available.Qt integration: Qt is used as application framework. The Qt API is integrated via PythonQt, allow to access Qt Style Sheets, Qt Widgets, QT Core classes, etc. by scripting from within MeVisLab.Scripting support: Python can be used for script controlled access to a large part of the MeVisLab functionality. The script binding to Qt is implemented via PythonQt. For image processing via Python, NumPy is available. Object-oriented Python programming in MeVisLab is possible.Integrated open source image processing and visualization libraries: Three open source libraries are integrated: Open Inventor, based on the original SGI source code released as open source in 2000; Insight Toolkit (ITK), made available as MeVisLab modules; Visualization Toolkit (VTK): made available as MeVisLab modules.Comprehensive module library: The MeVisLab module library comprises a total of 2600 modules, including 800 standard modules and 1800 ITK/VTK modules.

MeVisLab principles

[Image:Mevislab macosx wp B.jpg|thumb|300px|MeVisLab GUI]
MeVisLab is a modular development framework. Based on modules, networks can be created and applications can be built.
To support the creation of image processing networks, MeVisLab offers an IDE that allows data-flow modelling by visual programming. Important IDE features are the multiple document interface (MDI), module and connection inspectors with docking ability, advanced search, scripting and debugging consoles, movie and screenshot generation and galleries, module testing and error handling support.
In the visual network editor, modules can be added and combined to set up data flow and parameter synchronization. The resulting networks can be modified dynamically by scripts at runtime. Macro modules can be created to encapsulate subnetworks of modules, scripting functionality and high-level algorithms.
On top of the networks, the medical application level with viewers and UI panels can be added. Panels are written in the MeVisLab Definition Language, can be scripted with Python or JavaScript and styled using MeVisLab-internal mechanisms or Qt features.
The development of own modules written in C++ or Python is supported by wizards.

Image gallery

[Image:Gvrimage 2 04 wp.jpg|x300px|Head rendered in MeVisLab]
[Image:Gvrimage4 05 wp.jpg|x300px|Volume rendering]
[Image:Gvrheart wp.jpg|x300px|Heart rendered in MeVisLab]
[Image:Gvrheart2 wp.jpg|x300px|Heart rendered in MeVisLab]

MeVisLab forum

MeVisLab offers a very well-supported public forum in which core developers as well as users of all levels of experience share information. A free registration is necessary.

Fields of application, research projects

[Image:Fibertracking wp B.jpg|thumb|300px|Application building with MeVisLab]
MeVisLab has been used in a wide range of medical and clinical applications, including surgery planning for liver, lung, head and neck and other body regions, analysis of dynamic, contrast enhanced breast and Prostate MRI, quantitative analysis of neurologic and cardiovascular image series, orthopedic quantification and visualization, tumor lesion volumetry and therapy monitoring, enhanced visualization of mammograms, 3D breast ultrasound and tomosynthesis image data, and many other applications. MeVisLab is also used as a training and teaching tool for image processing and visualization techniques.
MeVisLab is and has been used in many research projects, including:
  • VICORA Virtuelles Institut für Computerunterstützung in der klinischen Radiologie
Based on MeVisLab, the MedicalExplorationToolkit was developed to improve application development. It is available as AddOn package for MeVisLab 1.5.2. and 1.6 on Windows.
MeVisLab can also be used to generate surface models of biomedical images and to export them in Universal 3D format for embedding in PDF files.

Licensing

The MeVisLab SDK can be downloaded at no cost and without prior registration. The software can be used under three different license models:
  • MeVisLab SDK Unregistered: This license model applies if the MeVisLab SDK is used without an additional license file. Under this license, a restricted feature set is available. The terms of use are identical to those of the Non-commercial MeVisLab SDK.
  • Non-commercial MeVisLab SDK license: For strictly private use or for use at non-commercial institutions, such as universities, other academic institutions or non-profit organizations. Full feature set, requires a separate license file with costs.
  • Commercial MeVisLab SDK license: For use at commercial companies, institutions or research laboratories. Full feature set, requires a separate license file with costs.
None of the above license models permits the redistribution of the MeVisLab SDK or parts thereof, or using MeVisLab or parts thereof as part of a commercial service or product.
The Fraunhofer MEVIS Release Modules are intellectual property of Fraunhofer MEVIS and strictly for non-commercial purposes.

Related open source projects

MeVisLab public sources

Selected MeVisLab modules are open source under a BSD license. These sources are part of the MeVisLab SDK installer.

MeVisLab community and community sources

In the MeVisLab Community Project, open-source modules for MeVisLab are contributed by a number of institutions. Contributors as of 2010 are:
The source code is released under BSD or LGPL license and managed in a central repository on SourceForge. Continuous builds are offered for various platforms.

[|PythonQt]

PythonQt is a Python script binding for the Qt framework. It was originally written to make MeVisLab scriptable and then published as open source in 2007 under LGPL. An introduction of PythonQt was published in Qt Quarterly, which also includes a comparison to Pyqt.
PythonQt sources and documentation are available from SourceForge.

Similar software projects