4. Vinci
4.1 Introduction
Vinci (“Volume Imaging in Neurological Research, Co-Registration and ROIs included”) was designed for the visualization and analysis of volume data generated by medical tomography systems with special emphasis on the needs for brain imaging with Positron Emission Tomography (PET).
We have tried to develop a software package that is suitable for both routine clinical usage and research purposes. CPS Innovations, Inc. has recently acquired a license to ship Vinci with their machines.
This CD-ROM contains a “Lite” version of Vinci, which has some limitations; see Limitations of the Lite version, see Online Resources/Updates for more information on Vinci, Usage and Disclaimer for legal issues.
Vinci’s online help can be opened with the <F1> key.
4.2 Guided Tour
We have prepared an interactive demo version: Vinci is remotely driven by another program, highlighting some of the more important features and concepts.
We suggest you take a look at this brief tutorial before looking at the volume data provided on this CD-ROM:
VINCI/Vinci_GuidedTour.cmd
MS Windows XP/2000/NT only
4.3 Requirements
Vinci currently requires Microsoft Windows (NT/2000/XP) to run. It does not need to be installed and should run directly from CD-ROM. Vinci was designed to run on a range of modern hardware, including laptops. For best results we recommend:
Please bear in mind that the speed of your CD-ROM drive is the limiting factor when you load the example data.
4.4 Limitations of the Lite version
Vinci Lite has the following limitations:
- saving of project files is disabled
- saving and exporting of image buffers is disabled
- the number of OrthoDisplays per OrthoView is limited to 5
(the full version can run with 50 and more)- clipboard export of OrthoDisplays and PlaneViews is limited to proof-of-principle (marked with additional text objects)
4.5 Graphics
Vinci is entirely true color based and the true color engine is built around a small number of comparatively low-level blitting functions, which are supported by all graphics boards for the MS Windows platform.
We support live (immediate feedback) fusion overlay for several images for each orthogonal display. Similar to image buffers, a large number of these scrollable OrthoDisplays can be in use at the same time (only limited by the host’s memory). Associated objects of image buffers (VOIs, ROIs, profiles, annotation: mostly vector objects), their reslicing and color settings are kept in sync automatically throughout one Vinci Project (the document part of a document-view approach). By means of link channels, synchronized reslicing of several image buffers is possible in real time.
Color Palettes can be modified on the fly (stretch, window, gamma); new palettes can be created with the builtin Palette Editor (resulting in efficient XML-based descriptions of palettes using several interpolation schemes). Furthermore, Vinci generally can export graphics through the clipboard, retaining vector properties or, as bitmaps rendered at a higher resolution to minimize aliasing.
Vinci’s reslicing engine supports several interpolation schemes: depending on the dimensions of the original image volume and the display size, a 3D-interpolation (trilinear, next neighbour) can be followed by a 2D-interpolation (linear, bicubic and high resolution cubic spline). For viewing and analysis of scanner raw data (e.g. sinograms), we also support a “pixel native” mode which guarantees to reslice parallel to the image volume’s native axes only (no interpolation); 2D rendering, if necessary, is limited to pixel reduplication.
4.6 Co-registration
Vinci has a module for fully and semi-automatic co-registration of image buffers. Usually, an appropriate registration scheme is chosen automatically and the registration can be started with a single mouse click; advanced users can change all parameters and create custom profiles. The registration progress can be traced online, as the current reslicing settings will be updated in configurable intervals. Manipulation of fusion and color settings is possible during a registration running in its own thread. Vinci also has a powerful tool for creating multi-level contours, which can be superimposed on reference and reslice images to evaluate a registration result.
The general principle of the registration algorithm (for intra-subject registrations) is an iterative search for a transformation that optimizes a similarity measure of alignment of two image volumes. We consider rigid-body transformations in 3D space. The similarity measure of choice for co-registration of images from different modalities (MRI-CT or MR-PET) is Mutual Information (MI) which has proved to be a very reliable and precise criterion.
For optimization of the similarity measure we use the downhill simplex optimization method. We have implemented this in a multi-scale approach (coarse-to-fine optimization), which reduces the computational demand significantly without loss of accuracy. To further improve robustness and speed of the registration process, we evaluate several techniques for automatic masking of non-brain voxels (intensity thresholding, thresholding using a quantile, morphological operations: erosion and dilation).
For inter-subject spatial normalizations, non-linear deformations allow to transform image data of one patient into a standardized image space for statistical analysis.
4.7 Framework and plugins
Vinci’s C++ framework can be extended by plugin modules: data import (several native scanner formats) and export and several tools for visualization and analyis (e.g. Time Activity Curves, 3D Gauss filter) have been realized, most notably our plugin for co-registration. Functionality is added dynamically at runtime.
4.8 Remote control/batch mode
Remote control of Vinci using XML-based VinciScript and named pipes is possible with interfaces to C/C++, Perl, and IDL programs. The same technique is also used for communication between different Vinci modules and was a prerequisite for our suite of automated tests. These can be assembled with Vinci’s built-in macro recorder, resulting in multi-stage undo-redo support as a by-product.
4.9 Footprint, installer
Although the source code including documentation is approaching 200,000 lines, Vinci has a rather small footprint; it has no other dependencies than MFC and ANSI STL. The installer for a full version is about 3 MB in size. Vinci has a “one-click-online-update” function interfacing with our Linux-based update service.
4.10 Usage
For non-commercial scientific research usage only. Please see Online Resources/Updates for more information.
4.11 Disclaimer
This software is provided as-is, without any expressed or implied warranty. Specifically, neither the MPI für neurologische Forschung nor the authors warrant that the functions contained in the software will meet your requirements, or that the operation of the software will be uninterrupted or error-free, or that defects in the software will be corrected. To the extent permitted by law, neither the MPI für neurologische Forschung nor the authors shall be liable for any damages arising out of or relating to the use of the software, including but not limited to incidental, special, indirect or consequential damages or any lost profits, business interruption, loss of programs or other data on your information handling system.