The VVLink Tool

Introduction

Figure 1. The BrainLAB VectorVision Cranial Image-Guided Surgery Application.

In collaboration with BrainLAB AG we have performed work to integrate research image analysis methods and software with a commercial image guided surgery navigation system (the BrainLAB VectorVision Cranial System.) This work was described in in a recent conference paper. The integration was achieved using a custom designed client/server architecture termed VectorVision Link (VV Link) which extends functionality from the Visualization Toolkit. VV Link enables bi-directional data transfer such as image data sets, visualizations and tool positions in real time. This page describes the VVLink Tool of BioImage Suite which is the module that handles the communication with the VectorVision Cranial (VVC) system.

Note: The snapshots in this document were taken from a prototype version of VVC that was made available us during the design phase of VVLink. The released version of BioImage Suite (Windows and Linux platforms only) is, however, designed to communicate with the commercially available newly released VVC 7.8 -- the actual user interface for VVC 7.8 is slightly different.

The BioImage Suite VVLink Interface

Figure 2. Accessing the BioImage Suite VVLink Tool (left) and defining VVC Servers (right)

If available, and enabled (using the Preferences Editor under Advanced/Miscellaneous) the VVLink tool is accessible under the Features menu as shown in Figure 2.

The first step in using the VVLink tool is to connect to a VVC host machine (typically in Image-Guided surgery system). Each host is defined by three values, namely a description, the hostname (or IP address) and its password. Server configurations are saved in a filed called ".vvlinkservers" in the user's home directory, and are displayed in the drop-menu titled "server" in the "Server"-tab of the VVLink Tool. This is highlighted using a dotted ellipse in Figure 2 (left,bottom).

If no servers have been defined then click on the Add New Server button. This brings up the dialog box shown in Figure 2 (right, bottom). The server password is obtained from the VVC system under Tools->VVLink as shown in the snapshot in Figure 2 (right, top). The Server configuration may be loaded and saved using the Re-Load Setup and Save Setup buttons respectively.

Connecting and Transferring Images

Figure 3. Transferring Images from the VVC system to the BioImage Suite VVLink Tool

Once the server is defined, the next step is to connect to it. This is accomplished using the Connect button, next to the "Server" drop-menu. If the connection is successful, the VVLink Tool will download a list of available images in the VVC System as shown in Figure 3. Also the VVLink Tool will be redrawn with a red frame as opposed to a black frame. (Compare Figures 2 and 3).

Note: VV Cranial needs to (a) be configured to allow connections from the specific machine as it uses IP address filtering (change the variable AllowedSubnets in the confuration file vvcranial.ini, and (b) to enable the VVLink Interface. Consult the VV Cranial documentation for more details.

In this particular example (Figure 3), there is only one image in the system, although more may appear. To enable proper communication between VVCranial and BioImage Suite, the user must next transfer an image. This establishes the coordinate transformations between the two systems. To transfer an image, first select it in the list titled "Current VectorVision Image List" and then transfer it using the Transfer button. Most images transfer successfully using the "Auto-detect" settings. If, either the orientation (axial, coronal, sagital) is wrong, this may be manually set. Should the image need flipping of any coordinate axis (use this with care!) use the Advanced button to bring up the advanced controls (Figure 3 right) and set parameters appropriately.

The Data "Tab", Saving Images and Transformations

Figure 3. Saving Images and Transformations obtained from the VVC system.


If the image transfer operation was successful, the information transfered (the image and its associated transformation to the world coordinate system) are placed in two controls on the "Data"-tab shown in Figure 3. The image is also displayed in the viewer associated with the VVLink Tool.

Both the image and the transformation can be manipulated (Load/Save etc.) using the options in their respective controls.

The transformation is used to map points in the world coordinate system (i.e. the operating room coordinate system) defined by the BrainLAB VVC system following patient to image registration to the image coordinate system, so that tools tracked in the VVC system can be appropriately displayed in BioImage Suite.

Real Time Communication

Figure 5. The "Link"-tab in VVLink Tool, which facilitates both streaming visualizations and linking the BioImage Suite viewer cursor (cross-hairs) to the surgical navigation pointer.

There are two aspects to the real-time communication functionality made available in the "Link"-tab (see Figure 5.), (i) streaming visualizations and (ii) linking the viewer cursor with the surgical navigation pointer.

Streaming Visualizations

VV Cranial has the ability to take as an input a stream of bitmaps and display them within the VVC interface. See the paper for some examples. We have implemented functionality in BioImage Suite to capture the current viewer display and make it available to VV Cranial as such a bitmap stream. The user interface for this is located in the top half of the "Link"-tab.

The connection can be tested using the Test button and then, if desired, enabled using the Enable button. Once enabled BioImage Suite will send a stream of snapshots from the attached viewer at a rate determined by the setting of the Input Update Time drop-menu. This can be stopped using the Disable button. Please note, that streaming visualizations requires that the client machine (i.e. the computer running BioImage Suite) is computationally powerful enough to handle this operation.

The streaming visualizations are accessible in VV Cranial under the "Info View" tab of the each VV Cranial Viewer.

Obtaining and Transferring the position of Tools and Landmark points

Figure 5. The "Points"-tab in VVLink Tool, which has functions for saving the current positions of tracked tools, the locations of labeled landmarks, and for acquiring landmark points in the Landmark Control using the surgical navigation pointer.

The VVLink Tool can extract "labeled point" positions and tracked tool positions from the VVC System using VVLink. These can be acquired and stored using one of three methods:

In addition the Add Landmark button (or pressing Ctrl–L) can be used to capture a landmark from the current position of the surgical navigation pointer and place it in the Landmark Control, in a similar manner to clicking the mouse (shift&ndashclick) in the BioImage Suite viewer.

The Z-touch and Strip tabs which appear in the screenshots are Beta Features and may not be present in your version of BioImage Suite. They are not supported as they stand.

References

X Papademetris, K. Vives, M. DiStasio, L. H. Staib, M, Neff, S. Flossman, N. Frielinghaus, H. Zaveri, E. Novotny Jr, H. Blumenfeld, R.T. Constable, H. Hetherington, R. Duckrow, S. Spencer, D. Spencer and J. Duncan.
Development of a research interface for image guided intervention: initial application to epilepsy neurosurgery.
In the proceedings of ISBI 2006.
About this manual.