MSVTK: the Multiscalar Visualisation Toolkit
There is a pervasive trend in biomedical research towards the consideration of systemic processes; that is, phenomena observed in living organisms that cannot be explained within a single sub-system, but only as a systemic outcome resulting from the interaction of multiple sub-systems, e.g., using electro-chemical, cellular, blood perfusion, and anatomic information to understand cardiac diseases. Traditionally, the complexity of the problems being investigated has forced concentration on individual sub-systems, and the most common boundary separating these individual studies has been the differing spatiotemporal scales at which they are observed / modeled. Multiscale data collection and multiscale modeling have become synonymous with integrative research. Large efforts are being made toward the development of methods for multiscale data collection and analysis; however, such work must be accompanied with tools that allow investigators to visually explore those data collections or simulation results, defined across a broad range of spatial and/or temporal scales.
MSVTK is an open-source software library based on VTK and CTK for interactive visualisation of multi-scale and multi-temporal data. The library provides software components that are general enough to be potentially used in any biomedical software project with multiscale visualization issues. MSVTK extends VTK by adding new tools such as new VTK readers or widgets. The library also contains custom Qt/VTK widgets. Each tool is designed with the VTK paradigm in mind, so it can easily fit into any application already using VTK.
Here is a list of some of the MSVTK features:
- Qt time player widget: a QSlider with play/pause/repeat buttons to control time in any VTK pipeline.
- Advanced VTK button: a vtkWidget that controls the renderer camera, supports advanced tooltip, and offers a convenient Qt interface.
- Widget clustering manager: automatically show/hide a hierarchy of VTK buttons, based on camera viewpoint and/or spatial distribution, to reduce screen clutter.
- Picking manager (already integrated into VTK 6.0): controls priorities for VTK widget user picks.
- Level Of Detail (LOD) composite data reader: an on-demand caching mechanism to load/unload data at different LOD.
- Fluid flow simulation: a VTK wrapper around IBAMR, an open source, parallel memory implementation of the immersed boundary (IB) method, with support for Cartesian grid adaptive mesh refinement (AMR).
- and many more…
Extended level of detail rendering capabilties to support massive models and on-demand rendering.
The MSVTK library is tested and provides best-practice examples via multiple prototypes, which demonstrate the efficacy of the proposed solution in different biomedical contexts. You can find a list of demos along with step-by-step user manuals here.
On March 1, 2013, Kitware and the MSVTK partners announced the release 1.1 of the MSVTK library. You can find the packages for the library and demos for Windows, Mac OSX and Linux at packages.kitware.com. The source code is available under the MSVTK github repository.
Kitware has also announced the first MSVTK release webinar! Join us on March 7 at 10:00 EST for a 20 minute webinar highlighting the Multiscale Visualization Toolkit (MSVTK)! The webinar will provide an overview of the functionalities offered by the MSVTK library. The webinar presents the primary features of the library and gives advice on how to integrate MSVTK within a project.
For a full list of our upcoming webinars, detailed course descriptions, and registration information, please visit the Kitware webinars page.
This work has been funded, in part, by the European Commission within the MSV project (FP7-IST-248032) and the NIH National Alliance for Medical Image Computing (NA-MIC, 2U54EB005149-06) roadmap initiative.
The MSV partners presently consists of an international team:
- SCS, SuperComputingSolutions, Italy
- University of Bedfordshire, United Kingdom
- Universitat Pompeu Fabra, Spain
- Kitware Inc, USA
- University of Auckland, New Zealand