MeVisLab is a cross-platform
application framework
In computer programming, an application framework consists of a software framework used by software developers to implement the standard structure of application software.
Application frameworks became popular with the rise of graphical user int ...
for
medical image processing
Medical imaging is the technique and process of imaging the interior of a body for clinical analysis and medical intervention, as well as visual representation of the function of some organs or tissues (physiology). Medical imaging seeks to rev ...
and
scientific visualization
Scientific visualization ( also spelled scientific visualisation) is an interdisciplinary branch of science concerned with the visualization of scientific phenomena.Michael Friendly (2008)"Milestones in the history of thematic cartography, stat ...
. It includes advanced algorithms for
image registration
Image registration is the process of transforming different sets of data into one coordinate system. Data may be multiple photographs, data from different sensors, times, depths, or viewpoints. It is used in computer vision, medical imaging, milit ...
,
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++
C++ (pronounced "C plus plus") is a high-level general-purpose programming language created by Danish computer scientist Bjarne Stroustrup as an extension of the C programming language, or "C with Classes". The language has expanded significan ...
and uses the
Qt framework
Qt (pronounced "cute") is cross-platform software for creating graphical user interfaces as well as cross-platform applications that run on various software and hardware platforms such as Linux, Windows, macOS, Android or embedded systems wit ...
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 (see
Licensing
A license (or licence) is an official permission or permit to do, use, or own something (as well as the document of that permission or permit).
A license is granted by a party (licensor) to another party (licensee) as an element of an agreeme ...
). 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 (IL) on
Silicon Graphics (SGI) to form image processing networks. In 1995, the newly founded MeVis Research GmbH (which became
Fraunhofer MEVIS in 2009) took over the ILAB development and released ILAB2 and ILAB3.
OpenInventor and
Tcl
TCL or Tcl or TCLs may refer to:
Business
* TCL Technology, a Chinese consumer electronics and appliance company
**TCL Electronics, a subsidiary of TCL Technology
* Texas Collegiate League, a collegiate baseball league
* Trade Centre Limited ...
scripting was integrated but both programs were still running on SGI only.
In 2000, ILAB4 was released with the core rewritten in
Objective-C
Objective-C is a general-purpose, object-oriented programming language that adds Smalltalk-style messaging to the C programming language. Originally developed by Brad Cox and Tom Love in the early 1980s, it was selected by NeXT for its NeXTS ...
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 (ML). 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
MeVisLab features include:
* Image processing with the MeVis Image Processing Library (ML): The ML is a request-driven, page-based, modular, expandable C++
image processing
An image is a visual representation of something. It can be two-dimensional, three-dimensional, or somehow otherwise feed into the visual system to convey information. An image can be an artifact, such as a photograph or other two-dimensiona ...
library supporting up to six image dimensions (x, y, z, color, time, user 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 (volume rendering/
MIP), overlays, point/ROI selection,
Multiplanar Reformations (MPR), as well as interactive editing of marker objects (points, vectors, discs, spheres, etc.)
* Volume rendering: A high-quality
volume renderer (Giga Voxel Renderer, GVR) based on
OpenGL
OpenGL (Open Graphics Library) is a cross-language, cross-platform application programming interface (API) for rendering 2D and 3D vector graphics. The API is typically used to interact with a graphics processing unit (GPU), to achieve hardwa ...
/
Open Inventor
Open Inventor, originally IRIS Inventor, is a C++ object-oriented retained mode 3D graphics toolkit designed by SGI to provide a higher layer of programming for OpenGL. Its main goals are better programmer convenience and efficiency. Open Invent ...
is available. It supports large image volumes (e.g., 512x512x2000
CT volumes, 12bit), time-varying data (e.g. dynamic
MRI
Magnetic resonance imaging (MRI) is a medical imaging technique used in radiology to form pictures of the anatomy and the physiological processes of the body. MRI scanners use strong magnetic fields, magnetic field gradients, and radio waves ...
volumes),
lookup table
In computer science, a lookup table (LUT) is an array that replaces runtime computation with a simpler array indexing operation. The process is termed as "direct addressing" and LUTs differ from hash tables in a way that, to retrieve a value v wi ...
s, interactive
region of interest
A region of interest (often abbreviated ROI) is a sample within a data set identified for a particular purpose. The concept of a ROI is commonly used in many application areas. For example, in medical imaging, the boundaries of a tumor may be def ...
, sub-volume selection, modular, multi-purpose
GLSL
OpenGL Shading Language (GLSL) is a high-level shading language with a syntax based on the C programming language. It was created by the OpenGL ARB (OpenGL Architecture Review Board) to give developers more direct control of the graphics pipeli ...
shader
In computer graphics, a shader is a computer program that calculates the appropriate levels of light, darkness, and color during the rendering of a 3D scene - a process known as ''shading''. Shaders have evolved to perform a variety of spec ...
framework.
* DICOM and other file formats:
DICOM
Digital Imaging and Communications in Medicine (DICOM) is the standard for the communication and management of medical imaging information and related data. DICOM is most commonly used for storing and transmitting medical images enabling the integ ...
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 (2D/3D, RGBA), Analyze, RAW, PNG, JPG, BMP, and more.
* Tool frameworks: Modular class and module libraries for markers, curves,
histogram
A histogram is an approximate representation of the distribution of numerical data. The term was first introduced by Karl Pearson. To construct a histogram, the first step is to " bin" (or "bucket") the range of values—that is, divide the ent ...
s,
Winged-Edged Meshes (WEM) and Contour Segmentation Objects (CSO) 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
Python may refer to:
Snakes
* Pythonidae, a family of nonvenomous snakes found in Africa, Asia, and Australia
** ''Python'' (genus), a genus of Pythonidae found in Africa and Asia
* Python (mythology), a mythical serpent
Computing
* Python (pro ...
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
Open Inventor, originally IRIS Inventor, is a C++ object-oriented retained mode 3D graphics toolkit designed by SGI to provide a higher layer of programming for OpenGL. Its main goals are better programmer convenience and efficiency. Open Invent ...
, 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
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
In computing, a visual programming language (visual programming system, VPL, or, VPS) is any programming language that lets users create programs by manipulating program elements ''graphically'' rather than by specifying them ''textually''. A VP ...
. 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 (MDL), 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
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
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 (both general and medical) and visualization techniques.
MeVisLab is and has been used in many research projects, including:
VICORAVICORA Virtuelles Institut für Computerunterstützung in der klinischen Radiologie (2004–2006)
DOT-MOBIHAMAM
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
Universal 3D (U3D) is a compressed file format standard for 3D computer graphics data.
The format was defined by a special consortium called ''3D Industry Forum'' that brought together a diverse group of companies and organizations, including ...
format for embedding in
PDF
Portable Document Format (PDF), standardized as ISO 32000, is a file format developed by Adobe in 1992 to present documents, including text formatting and images, in a manner independent of application software, hardware, and operating systems. ...
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 (see below).
* 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:
*
Erasmus University Rotterdam, NL
Medical Imaging Research Center, Katholieke Universiteit Leuven, BEDivision of Image Processing (LKEB), Leiden University Medical Center, NL* Computer Vision Laboratory,
ETH Zurich, CH
Institut für Simulation und Graphik, Universität Magdeburg, DECenter for Medical Image Science and Visualization (CMIV), University of Linköping, SEFraunhofer MEVIS
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
The GNU Lesser General Public License (LGPL) is a free-software license published by the Free Software Foundation (FSF). The license allows developers and companies to use and integrate a software component released under the LGPL into their own ...
. An introduction of PythonQt was published in Qt Quarterly, which also includes a comparison to
Pyqt
PyQt is a Python binding of the cross-platform GUI toolkit Qt, implemented as a Python plug-in. PyQt is free software developed by the British firm Riverbank Computing. It is available under similar terms to Qt versions older than 4.5; this mea ...
.
PythonQt sources and documentation are available from SourceForge.
Similar software projects
*
Slicer (3DSlicer), an open source, multi-platform project for image analysis and scientific visualization; originally developed by the Surgical Planning Laboratory at the Brigham and Women's Hospital and the MIT Artificial Intelligence Laboratory
*
SCIRun is an open source, multi-platform scientific
problem solving environment A problem solving environment (PSE) is a completed, integrated and specialised computer software for solving one class of problems, combining automated problem-solving methods with human-oriented tools for guiding the problem resolution. A PSE may a ...
(PSE) for modeling, simulation and visualization of scientific problems, developed at the Center for Integrative Biomedical Computing at the
Scientific Computing and Imaging Institute at the
University of Utah
The University of Utah (U of U, UofU, or simply The U) is a public research university in Salt Lake City, Utah. It is the flagship institution of the Utah System of Higher Education. The university was established in 1850 as the University of De ...
*
MITK, the Medical Imaging Interaction Toolkit is an open source project for developing interactive medical image processing software, developed at th
Deutsche Krebsforschungszentrum, Heidelberg*
Voreen
Voreen (''vo''lume ''re''ndering ''en''gine) is an open-source volume visualization library and development platform. Through the use of GPU-based volume rendering techniques it allows high frame rates on standard graphics hardware to support int ...
, an open source, multi-platform volume rendering engine, maintained by the Visualization and Computer Graphics Research Group (VisCG) at the
University of Münster
The University of Münster (german: Westfälische Wilhelms-Universität Münster, WWU) is a public university, public research university located in the city of Münster, North Rhine-Westphalia in Germany.
With more than 43,000 students and over ...
DeVIDE an open source, multi-platform software for rapid prototyping, testing and deployment of visualisation and image processing algorithms, developed by the Visualisation group at the TU Delft.
*
Amira, a commercial multi-platform software for visualization, analysis and manipulation of bio-medical data
*
Studierfenster (StudierFenster), a free, non-commercial Open Science client/server-based Medical Imaging Processing (MIP) online framework
See also
*
Scientific visualization
Scientific visualization ( also spelled scientific visualisation) is an interdisciplinary branch of science concerned with the visualization of scientific phenomena.Michael Friendly (2008)"Milestones in the history of thematic cartography, stat ...
*
Graphical programming
In computing, a visual programming language (visual programming system, VPL, or, VPS) is any programming language that lets users create programs by manipulating program elements ''graphically'' rather than by specifying them ''textually''. A VP ...
*
Medical imaging
Medical imaging is the technique and process of imaging the interior of a body for clinical analysis and medical intervention, as well as visual representation of the function of some organs or tissues (physiology). Medical imaging seeks to rev ...
References
Further reading
MeVisLab PublicationsMedical Image Analysis: A Visual ApproachObject-oriented application development with MeVisLab and Python
External links
MeVisLab Home PageMeVisLab Community SourcesMeVisLab Support ForumMeVis Medical Solutions AGFraunhofer MEVIS
{{DEFAULTSORT:Mevislab
1993 software
3D graphics software
Computer vision software
Data visualization software
Freeware
Image processing software
Science software
Software that uses Qt