Difference between revisions of "Slicer3:BrainLabModule"

From Slicer Wiki
Jump to: navigation, search
 
Line 1: Line 1:
 
[[Slicer3:Developers#Quick_Links_to_Slicer3_Projects|Back to '''Slicer Projects Page''']]
 
[[Slicer3:Developers#Quick_Links_to_Slicer3_Projects|Back to '''Slicer Projects Page''']]
 
= Aim =
 
= Aim =
BrainLab (http://www.brainlab.com) has recently introduced a customized client/server architecture called '''VectorVision Link (VV Link)''' to communicate with external IGT environment. This software API, open but not free, allows other programs to acquire tracking information and images from the BrainLab system. We propose to create a comprehensive workflow to interface 3D Slicer to BrainLab system and to use it for research. Specifically, we create simplified steps for neurosurgeons to use Slicer to perform some research in DTI visualization in OR while BrainLab is used as the primary navigation tool. Here is the scenario:
+
Brainlab (http://www.brainlab.com) has recently introduced a customized client/server architecture called '''VectorVision Link (VV Link)''' to communicate with external IGT environment. This software API, open but not free, allows other programs to acquire tracking information and images from the BrainLab system. We propose to create a comprehensive workflow to interface 3D Slicer to Brainlab system and to use it for research. Specifically, we create simplified steps for neurosurgeons to use Slicer to perform some research in DTI visualization in OR while Brainlab is used as the primary navigation tool. Here is the scenario:
  
BrainLab system will still run as usual; we won't install any software and hardware on the BrainLab computer and won't affect its FDA status either. Slicer runs on a different computer. These two computers will be connected to each other using a network or router. During surgical procedures, the BrainLab sends real-time tracking data and/or images to Slicer. The tracking information may be used to seed dynamic DTI visualization in Slicer.
+
Brainlab system will still run as usual; we won't install any software and hardware on the Brainlab computer and won't affect its FDA status either. Slicer runs on a different computer. These two computers will be connected to each other using a network or router. During surgical procedures, the BrainLab sends real-time tracking data and/or images to Slicer. The tracking information may be used to seed dynamic DTI visualization in Slicer.
  
 
= Research Plan =
 
= Research Plan =
 
Our workflow will include the following steps:
 
Our workflow will include the following steps:
#Set up connection between BrainLab and Slicer
+
#Set up connection between Brainlab and Slicer
 
#Load a scene (default or user specific) into Slicer
 
#Load a scene (default or user specific) into Slicer
#Navigate with DTI visualization in Slicer as the surgeon performs tracking with BrainLab
+
#Navigate with DTI visualization in Slicer as the surgeon performs tracking with Brainlab
  
This will hopefully help the surgeon efficiently integrate Slicer with BrainLab. We will implement the workflow by developing a Slicer module called '''BrainLabModule'''. This interactive module uses OpenIGTLink (http://www.na-mic.org/Wiki/index.php/OpenIGTLink) for data communication between BrainLab and Slicer, and uses Fiducial, DTMRI and FiducialSeeding modules for DTI visualization. Also, it uses existing Slicer functions to load MRML scenes.
+
This will hopefully help the surgeon efficiently integrate Slicer with Brainlab. We will implement the workflow by developing a Slicer module called '''BrainlabModule'''. This interactive module uses OpenIGTLink (http://www.na-mic.org/Wiki/index.php/OpenIGTLink) for data communication between BrainLab and Slicer, and uses Fiducial, DTMRI and FiducialSeeding modules for DTI visualization. Also, it uses existing Slicer functions to load MRML scenes.
  
The development of BrainLabModule will be completed in two phases. In the first phase, a BrainLab simulator will be created. That is, a sequence of synthetic tracking points (not from BrainLab system) will be streamed to Slicer where fiducial-driven DTI visualization will be performed. In the second phase, a real BrainLab system will be needed to test the entire workflow. Upon completion, both modes (Simulator and BrainLab) will co-exist in the module; the user may choose which mode to execute.  
+
The development of BrainlabModule will be completed in two phases. In the first phase, a Brainlab simulator will be created. That is, a sequence of synthetic tracking points (not from BrainLab system) will be streamed to Slicer where fiducial-driven DTI visualization will be performed. In the second phase, a real BrainLab system will be needed to test the entire workflow. Upon completion, both modes (Simulator and Brainlab) will co-exist in the module; the user may choose which mode to execute.  
  
 
Both modes are accompanied by training materials and documentation to ensure usability.
 
Both modes are accompanied by training materials and documentation to ensure usability.
Line 29: Line 29:
 
* Week of 04/05/2010
 
* Week of 04/05/2010
 
** Work '''DONE''':
 
** Work '''DONE''':
*** The user interface (GUI) has been enhanced and implemented for the Connect Step where the network communication between BrainLabModule and a tracking source is going to be set up. Now we have a working version of Connect Step for tracking simulation. After few configurations, simulated tracking data will be streamed to OpenIGTLink module in Slicer once the Connect button is clicked. The data streaming process may be stopped by clicking the Close button.  
+
*** The user interface (GUI) has been enhanced and implemented for the Connect Step where the network communication between BrainlabModule and a tracking source is going to be set up. Now we have a working version of Connect Step for tracking simulation. After few configurations, simulated tracking data will be streamed to OpenIGTLink module in Slicer once the Connect button is clicked. The data streaming process may be stopped by clicking the Close button.  
*** Since the connection between BrainLabModule and the tracking source is always on, it's a good idea to have a separate thread to handle the network communication. This will improve the Slicer response to the user interaction. The thread will be stopped by clicking the Close button in the interface.
+
*** Since the connection between BrainlabModule and the tracking source is always on, it's a good idea to have a separate thread to handle the network communication. This will improve the Slicer response to the user interaction. The thread will be stopped by clicking the Close button in the interface.
 
*** A stream of simulated tracking data points may be generated inside memory or read from a file. The file IO is chosen since in the future tracking data sets of real surgical cases, which are usually saved in a file, may be used for post-surgical re-examination or just demonstration only.
 
*** A stream of simulated tracking data points may be generated inside memory or read from a file. The file IO is chosen since in the future tracking data sets of real surgical cases, which are usually saved in a file, may be used for post-surgical re-examination or just demonstration only.
 
** To do list:
 
** To do list:
*** OpenIGTLink module is now configured through its interface. This configuration will be required to be implemented programmatically in the C++ code of BrainLabModule.
+
*** OpenIGTLink module is now configured through its interface. This configuration will be required to be implemented programmatically in the C++ code of BrainlabModule.
 
*** Implementation of Load Step and Navigate Step will be executed next week.
 
*** Implementation of Load Step and Navigate Step will be executed next week.
  
Line 41: Line 41:
  
 
= Dependency =
 
= Dependency =
The following modules are required for BrainLab module to work properly:<br>
+
The following modules are required for Brainlab module to work properly:<br>
 
Fiducial<br>
 
Fiducial<br>
 
OpenIGTLink<br>
 
OpenIGTLink<br>

Latest revision as of 03:17, 27 April 2010

Home < Slicer3:BrainLabModule

Back to Slicer Projects Page

Aim

Brainlab (http://www.brainlab.com) has recently introduced a customized client/server architecture called VectorVision Link (VV Link) to communicate with external IGT environment. This software API, open but not free, allows other programs to acquire tracking information and images from the BrainLab system. We propose to create a comprehensive workflow to interface 3D Slicer to Brainlab system and to use it for research. Specifically, we create simplified steps for neurosurgeons to use Slicer to perform some research in DTI visualization in OR while Brainlab is used as the primary navigation tool. Here is the scenario:

Brainlab system will still run as usual; we won't install any software and hardware on the Brainlab computer and won't affect its FDA status either. Slicer runs on a different computer. These two computers will be connected to each other using a network or router. During surgical procedures, the BrainLab sends real-time tracking data and/or images to Slicer. The tracking information may be used to seed dynamic DTI visualization in Slicer.

Research Plan

Our workflow will include the following steps:

  1. Set up connection between Brainlab and Slicer
  2. Load a scene (default or user specific) into Slicer
  3. Navigate with DTI visualization in Slicer as the surgeon performs tracking with Brainlab

This will hopefully help the surgeon efficiently integrate Slicer with Brainlab. We will implement the workflow by developing a Slicer module called BrainlabModule. This interactive module uses OpenIGTLink (http://www.na-mic.org/Wiki/index.php/OpenIGTLink) for data communication between BrainLab and Slicer, and uses Fiducial, DTMRI and FiducialSeeding modules for DTI visualization. Also, it uses existing Slicer functions to load MRML scenes.

The development of BrainlabModule will be completed in two phases. In the first phase, a Brainlab simulator will be created. That is, a sequence of synthetic tracking points (not from BrainLab system) will be streamed to Slicer where fiducial-driven DTI visualization will be performed. In the second phase, a real BrainLab system will be needed to test the entire workflow. Upon completion, both modes (Simulator and Brainlab) will co-exist in the module; the user may choose which mode to execute.

Both modes are accompanied by training materials and documentation to ensure usability.

Design of Module

Key Personnel

Haiying Liu
Noby Hata
Ron Kikinis

Progress

  • Week of 04/05/2010
    • Work DONE:
      • The user interface (GUI) has been enhanced and implemented for the Connect Step where the network communication between BrainlabModule and a tracking source is going to be set up. Now we have a working version of Connect Step for tracking simulation. After few configurations, simulated tracking data will be streamed to OpenIGTLink module in Slicer once the Connect button is clicked. The data streaming process may be stopped by clicking the Close button.
      • Since the connection between BrainlabModule and the tracking source is always on, it's a good idea to have a separate thread to handle the network communication. This will improve the Slicer response to the user interaction. The thread will be stopped by clicking the Close button in the interface.
      • A stream of simulated tracking data points may be generated inside memory or read from a file. The file IO is chosen since in the future tracking data sets of real surgical cases, which are usually saved in a file, may be used for post-surgical re-examination or just demonstration only.
    • To do list:
      • OpenIGTLink module is now configured through its interface. This configuration will be required to be implemented programmatically in the C++ code of BrainlabModule.
      • Implementation of Load Step and Navigate Step will be executed next week.
  • Week of 03/29/2010
    • Ron, Noby and Haiying met at Ron's office to discuss the specs of the module and time frame for implementation.
    • Haiying completed the workflow.

Dependency

The following modules are required for Brainlab module to work properly:
Fiducial
OpenIGTLink
DTMRI
FiducialSeeding

Tutorials

Feature Request