MeVisLab
Developer(s) | MeVis Medical Solutions AG, Fraunhofer MEVIS |
---|---|
Stable release | 2.5 / June 13, 2013 |
Operating system | Cross-platform: [Windows, Mac OS X, Linux] |
Type | Image processing, Scientific visualization, Medical imaging, Volume rendering |
License | Proprietary |
Website | www.mevislab.de |
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 (see Licensing). 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 scripting was integrated but both programs were still running on SGI only. [1]
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 (ML). In 2002, the code was adapted to work on the application framework Qt.[1]
In 2004, the software was released under the name MeVisLab. It contained an improved IDE and was available on Windows and Linux.[2] 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:[3][4][5]
- Image processing with the MeVis Image Processing Library (ML): The ML is a request-driven, page-based, modular, expandable C++ image processing 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/Open Inventor is available.[6] It supports large image volumes (e.g., 512x512x2000 CT volumes, 12bit), time-varying data (e.g. dynamic MRI volumes), lookup tables, interactive region of interest, sub-volume selection, modular, multi-purpose GLSL shader framework.[7]
- 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 (2D/3D, RGBA), 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 (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 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.[8] JavaScript based on QSA is available as legacy support (QSA has been discontinued by Trolltech in 2008 in favor of QtScript).
- 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;[9] Insight Toolkit (ITK), made available as MeVisLab modules;[10][11][12] Visualization Toolkit (VTK): made available as MeVisLab modules.[13][14]
- 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. 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.[15]
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.
Release history
The table below lists all main releases, without release candidates and maintenance releases. Various larger changes were made from version 1.6 to version 2.0. For detailed changes in the ML, see the ML Release Notes. For release news, see Release News on the MeVisLab Homepage.
Release | Year | Platform | Comment | Company |
---|---|---|---|---|
ILAB1 | 1993 | Silicon Graphics (SGI) | Image Vision Library (IL) | CeVis Institute, University Bremen |
ILAB2 | 1995 | MeVis Research GmbH (now Fraunhofer MEVIS) | ||
ILAB3 | 1995 | |||
ILAB4 | 2000 | Windows | Core in Objective-C. In 2002, move to Qt framework (Windows, Linux; internal release) | |
MeVisLab 1.0[16] | 2004 | Windows, Linux | Improved IDE, module wizards | |
MeVisLab 1.1[17] | 2005 | Large volumes support; full Python script support in addition to JavaScript; Unicode | ||
MeVisLab 1.2[18] | 2005 | Core refactored; improved OpenGL support; JPG and PNG support | ||
MeVisLab 1.3[19] | 2006 | Release of MeVisLab Public Sources;[20] release of first ITK and VTK integration (as AddOn)[21] | ||
MeVisLab 1.4[22] | 2006 | Output inspectors; improved GVR; improved WEM library | ||
MeVisLab 1.5[23] | 2007 | Windows, Linux, Mac OS X (PPC & Intel 32 bit) | Support for Microsoft Visual Studio 2003 and 2005; CSO library; Shader Framework; update to Qt4; first version for Mac OS X | |
MeVisLab 1.6[24] | 2008 | Windows, Linux, Mac OS X (Intel 32 bit) | Integrated text editor Mate; scripting console; improved volume rendering; demo networks | |
MeVisLab 2.0[25] | 2009 | Windows (32/64 bit), Linux (32/64 bit), Mac OS X (Intel 32 bit) | MeVisLab Public Sources are integral part; ships with third party headers and libraries; improved package structure for module management; ToolRunner application | MeVis Medical Solutions AG |
MeVisLab 2.1[26] | 2010 | Windows (32/64 bit), Linux (32/64 bit), Mac OS X (Intel 64 bit) | Integration of NumPy; integration of PythonQt; Python image processing modules possible; MDL extendable with Qt widgets; update to Qt 4.6.2 under LGPL license; GVR user extensions; improved ML; MLBackgroundTasks API; 64-bit Mac OS X version | |
MeVisLab 2.2[27] | 2011 | Windows (32/64 bit), Linux (32/64 bit), Mac OS X (Intel 64 bit) | MATE can be a separate process; Integrated Python debugger; Integrated Help editor; Support for Microsoft Visual Studio 2010 | |
MeVisLab 2.3[28] | 2012 | Windows (32/64 bit), Linux (32/64 bit), Mac OS X (Intel 64 bit) | New volume rendering and visualization techniques; Qt GraphicsView support; User scripts in main IDE and MATE | |
MeVisLab 2.4[29] | 2013 | Windows (32/64 bit), Linux (64 bit), Mac OS X (Intel 64 bit) | IDE and module improvements; Third party library updates | |
MeVisLab 2.5[30] | 2013 | Windows (32/64 bit), Linux (64 bit), Mac OS X (Intel 64 bit) | New ML host (better multi threading); IDE (debugging, profiling) and module improvements |
Fields of application, research projects
MeVisLab has been used in a wide range of medical and clinical applications, including surgery planning[31] for liver,[32][33][34][35] lung,[36][37] head[38][39] and neck and other body regions, analysis of dynamic, contrast enhanced breast[40][41] and Prostate MRI, quantitative analysis of neurologic[42] and cardiovascular image series,[43][44] orthopedic quantification and visualization, tumor lesion volumetry[45] and therapy monitoring,[46] 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[47][48] for image processing (both general and medical[49]) and visualization techniques.
MeVisLab is and has been used in many research projects, including:
- VICORA VICORA Virtuelles Institut für Computerunterstützung in der klinischen Radiologie (2004–2006)
- DOT-MOBI
- HAMAM
- List of research projects at Fraunhofer MEVIS
Based on MeVisLab, the MedicalExplorationToolkit was developed to improve application development.[50] It is available as AddOn package for MeVisLab 1.5.2. and 1.6 on Windows.
Licensing
The MeVisLab SDK can be downloaded at no cost and without prior registration. The software can be used under three different license models:[51]
- 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.[51]
Related open source projects
MeVisLab public sources
As of MeVisLab 1.3, selected MeVisLab Standard modules are open source and available as MeVisLab Public Sources.[52] As of MeVisLab 2.0, these public sources are fully integrated in the MeVisLab SDK.
The source code is released under BSD license.
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, BE
- Division of Image Processing (LKEB), Leiden University Medical Center, NL
- Computer Vision Laboratory, ETH Zurich, CH
- Institut für Simulation und Graphik, Universität Magdeburg, DE
- Center for Medical Image Science and Visualization (CMIV), University of Linköping, SE
- MeVis Medical Solutions AG
- Fraunhofer 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. 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
- 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 (PSE) for modeling, simulation and visualization of scientific problems, developed at the Center for Integrative Biomedical Computing at the SCI, University of Utah
- XIP, the eXtensible Imaging Platform is an open source, multi-platform project for rapidly developing medical imaging applications from an extensible set of modular elements; originally developed at Siemens Corporate Research in Princeton
- MITK, the Medical Imaging Interaction Toolkit is an open source project for developing interactive medical image processing software, developed at the Deutsche Krebsforschungszentrum, Heidelberg
- Voreen, an open source, multi-platform volume rendering engine, maintained by the Visualization and Computer Graphics Research Group (VisCG) at the University of Muenster
- 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
See also
- Scientific visualization
- Graphical programming
- Medical imaging
References
- ↑ 1.0 1.1 "MeVisLab History". Mevislab.de. Retrieved January 21, 2012.
- ↑ "MeVisLab 1.0 Release News". Mevislab.de. Retrieved January 21, 2012.
- ↑ "MeVisLab Features". Mevislab.de. Retrieved January 21, 2012.
- ↑ "MeVisLab Documentation". Mevislab.de. Retrieved January 21, 2012.
- ↑ "Ritter F, Boskamp T, Homeyer A, Laue H, Schwier M, Link F, Peitgen H-O. Medical Image Analysis: A Visual Approach. IEEE Pulse. 2011; 2(6):60–70". Ieeexplore.ieee.org. December 1, 2011. doi:10.1109/MPUL.2011.942929. Retrieved January 21, 2012.
- ↑ Link F, König M, Peitgen H-O; Multi-Resolution Volume Rendering with per Object Shading. In: Kobbelt L, Kuhlen T, Westermann R, eds. Vision Modelling and Visualization. Berlin, Aachen: Aka; 2006:185–191
- ↑ SoGVR Renderer Module Documentation
- ↑ "Heckel F, Schwier M, Peitgen H-O; Object-oriented application development with MeVisLab and Python; Lecture Notes in Informatics (Informatik 2009: Im Focus das Leben), 2009, 154, pp. 1338–1351" (PDF). Retrieved January 21, 2012.
- ↑ "Open Inventor Reference". Mevislab.de. Retrieved January 21, 2012.
- ↑ Rexilius J, Jomier J, Spindler W, Link F, König M, Peitgen H-O; Combining a Visual Programming and Rapid Prototyping Platform with ITK. In: Bildverarbeitung für die Medizin. Berlin: Springer, 2005: 460–464
- ↑ "Rexilius J, Spindler W, Jomier J, Koenig M, Hahn H-K, Link F, Peitgen H-O; A Framework for Algorithm Evaluation and Clinical Application Prototyping using ITK. The Insight Journal 2005; ISC/NA-MIC/MICCAI Workshop on Open-Source Software". Insight-journal.org. Retrieved January 21, 2012.
- ↑ "Bitter I, van Uitert R, Wolf I, Ibanez L, Kuhnigk J-M; Comparison of Four Freely Available Frameworks for Image Processing and Visualization That Use ITK; IEEE Trans Visual Comput Graphics,13(3): 483–493, 2007 May/June". Ieeexplore.ieee.org. March 19, 2007. doi:10.1109/TVCG.2007.1001. Retrieved January 21, 2012.
- ↑ Koenig M, Spindler W, Rexilius J, Jomier J, Link F, Peitgen H-O; Embedding VTK and ITK into a Visual Programming and Rapid Prototyping Platform. In: Proceedings of SPIE – Volume 6141 Medical Imaging 2006 Image Processing. Bellingham: SPIE, 2006: in press
- ↑ VTK Module Reference
- ↑ "MeVisLab Reference Manual". Mevislab.de. September 3, 2011. Retrieved January 21, 2012.
- ↑ Release Notes MeVisLab 1.0
- ↑ Release Notes MeVisLab 1.1
- ↑ Release Notes MeVisLab 1.2
- ↑ Release Notes MeVisLab 1.3
- ↑ "Release Notes MeVisLab Public Sources". Mevislab.de. Retrieved January 21, 2012.
- ↑ "Release Notes MeVisLab ITK/VTK Integration". Mevislab.de. Retrieved January 21, 2012.
- ↑ Release Notes MeVisLab 1.4
- ↑ Release Notes MeVisLab 1.5
- ↑ Release Notes MeVisLab 1.6
- ↑ Release Notes MeVisLab 2.0
- ↑ Release Notes MeVisLab 2.1
- ↑ "Release Notes MeVisLab 2.2". Mevislab.de. Retrieved January 21, 2012.
- ↑ "Release Notes MeVisLab 2.3". Mevislab.de. Retrieved July 26, 2012.
- ↑ "Release Notes MeVisLab 2.4". Mevislab.de. Retrieved February 12, 2013.
- ↑ "Release Notes MeVisLab 2.5". Mevislab.de. Retrieved October 17, 2013.
- ↑ http://isgwww.cs.uni-magdeburg.de/visualisierung/wiki/lib/exe/fetch.php?media=files:animation_exploration:muehler_2010_eurovis.pdf
- ↑ "Rieder C, Schwier M, Weihusen A, Zidowitz S, Peitgen, H-O; Visualization of Risk Structures for Interactive Planning of Image Guided Radiofrequency Ablation of Liver Tumors; SPIE Medical Imaging: Visualization, Image-Guided Procedures, and Modeling, Orlando, 2009" (PDF). Retrieved January 21, 2012.
- ↑ "Zidowitz S, Hansen C, Schlichting S, Kleemann M, Peitgen, H-O; Software assistance for intra-operative guidance in liver surgery; World Congress on Medical Physics and Biomedical Engineering 2009. Vol.6: Surgery, minimal invasive interventions, edoscopy and image guided therapy, pages 205–208, 2009". Springerlink.com. Retrieved January 21, 2012.
- ↑ "Hansen C, Lindow B, Zidowitz S, Schenk A, Peitgen H-O; Towards Automatic Generation of Resection Surfaces for Liver Surgery Planning; Proceedings of Computer Assisted Radiology and Surgery (CARS) 2010, 5 (Suppl. 1), pp. 119–120" (PDF). Retrieved January 21, 2012.
- ↑ "Liver projects at Fraunhofer MEVIS". Mevis.de. Retrieved January 21, 2012.
- ↑ "Dicken V, Kuhnigk J-M, Bornemann L, Zidowitz S, Krass S, Peitgen H-O; Novel CT data analysis and visualization techniques for risk assessment and planning of thoracic surgery in oncology patients; in H.U. Lemke, K. Inamura, K. Doi, M.W. Vannier, and A.G. Farman, editors, Proc CARS: Computer Assisted Radiology and Surgery, volume 1281 of Computer Assisted Radiology and Surgery, pages 783–787, Amsterdam, 2005". Dx.doi.org. June 22, 2005. Retrieved January 21, 2012.
- ↑ "Lung projects at Fraunhofer MEVIS". Mevis.de. Retrieved January 21, 2012.
- ↑ "Rieder C, Görge H-H, Ritter F, Hahn H-K, Peitgen H-O; Efficient Visualization of Risk Structures along Virtual Access Paths for Neurosurgical Planning; 59th Annual Meeting of the German Society of Neurosurgery (DGNC), Würzburg, 2008" (PDF). Retrieved January 21, 2012.
- ↑ "Neuro projects at Fraunhofer MEVIS". Mevis.de. Retrieved January 21, 2012.
- ↑ "Breast projects at Fraunhofer MEVIS". Mevis.de. Retrieved January 21, 2012.
- ↑ Hahn H-K, Harz M-T, Seyffarth H, Zöhrer F, Böhler T, Filippatos K, Wang L, Homeyer A, Ritter F, Laue H, Günther M, Twellmann T, Tabár L, Bick U, Schilling K; Concepts for Efficient and Reliable Multi-Modal Breast Image Reading; International Workshop on Digital Mammography (IWDM 2010, June 16–18, Girona, Spain), pp.
- ↑ "Visual computing for medical diagnosis and treatment" (PDF). Retrieved January 21, 2012.
- ↑ "Standardized evaluation methodology and reference database for evaluating coronary artery centerline extraction algorithms" (PDF). Retrieved January 21, 2012.
- ↑ "Cardio projects at Fraunhofer MEVIS". Mevis.de. Retrieved January 21, 2012.
- ↑ USA (October 3, 2011). "Bolte H, Jahnke T, Schafer F-K, Wenke R, Hoffmann B, Freitag-Wolf S, Dicken V, Kuhnigk J-M, Lohmann J, Voss S, Knoss N, Heller M, Biederer J; Interobserver-variability of lung nodule volumetry considering different segmentation algorithms and observer training levels; Eur J Radiol, 64(2): 285–295, 2007 April". Ncbi.nlm.nih.gov. Retrieved January 21, 2012.
- ↑ "Rieder C, Weihusen A, Schumann C, Zidowitz S, Peitgen H-O; Visual Support for Interactive Post-Interventional Assessment of Radiofrequency Ablation Therapy; Computer Graphics Forum (Special Issue on Eurographics Symposium on Visualization) 29, 3 (1093–1102), 2010" (PDF). Retrieved January 21, 2012.
- ↑ "Klein J, Bartz D, Friman O, Hadwiger M, Preim B, Ritter F, Vilanova A, Zachmann G; Advanced Algorithms in Medical Computer Graphics; Eurographics 2008, Crete, April 14–18. State-of-the-Art Report (EG-STAR‘08)" (PDF). Retrieved January 21, 2012.
- ↑ Felix Ritter. "Ritter F; Visual Programming for Prototyping of Medical Applications; IEEE Visualization 2007, Sacramento, October 28 – November 1. Tutorial: "Introduction to Visual Medicine: Techniques, Applications and Software" by Dirk Bartz, Klaus Mueller, Felix Ritter, Bernhard Preim, and Karel Zuiderveld". Mevis-research.de. Retrieved January 21, 2012.
- ↑ Bornemann L, Dicken V, Kuhnigk J-M, Beyer F, Shin H, Bauknecht C, Diehl V, Fabel-Schulte M, Meier S, Kress O, Krass S, Peitgen H-O; Software Assistance for Quantitative Therapy Monitoring in Oncology; Proc Workshop on Medical Image Processing: Challenges in Clinical Oncology: 40–46, 2006 ]
- ↑ "Mühler K, Tietjen C, Ritter F, Preim B; The Medical Exploration Toolkit: An Efficient Support for Visual Computing in Surgical Planning and Training; IEEE Transactions on Visualization and Computer Graphics (133–146), Los Alamitos, CA, USA, 2010" (PDF). Retrieved January 21, 2012.
- ↑ 51.0 51.1 "MeVisLab Versions and Licensing". Mevislab.de. Retrieved January 21, 2012.
- ↑ "MeVisLab Public Sources". Mevislab.de. Retrieved January 21, 2012.
Further reading
- MeVisLab Publications
- Medical Image Analysis: A Visual Approach
- Using VTK in MeVisLab (PDF)
- Object-oriented application development with MeVisLab and Python
- Entwicklung eines Werkzeugs zur Koordinaten- und Grauwertinterpolation von MRI- und PET-Daten in der objektorientierten Umgebung MeVisLab (Diplomarbeit)
External links
- MeVisLab Home Page
- MeVisLab Community Sources
- MeVisLab Support Forum
- MeVis Medical Solutions AG
- Fraunhofer MEVIS
- MeVisLab for Mac OS X, Intro and Demos