2012 Summer Project Week Breakout Session:Slicer in Networked Environment
Contents
Agenda
In this breakout session, we will discuss applications of 3D Slicer in networked environments. Specifically we will discuss network communications between 3D Slicer and external software/devices using OpenIGTLink and HTTP web service API.
OpenIGTLink
We will discuss future directions of OpenIGTLink.
OpenIGTLink Profiles
In many OpenIGTLink applications, multiple types of messages are streamed or the same type of messages are used in multiple purpose in a single connection. For example, needle insertion robot and guidance software exchanges TRANSFORM message for image-robot registration information, target position and orientation, current position etc. Another example is imaging scanner and visualization software that exchanges TRANSFORM messages and IMAGE messages through a single OpenIGTLink connection (see bellow). In such case, it is important to define high-level OpenIGTLink communication scheme (Profile) in the system design process and share it among the OpenIGTLink node. We will discuss:
- How we manage those profiles and keep compatibility.
- Profiles for specific applications
- Medical robotics: http://www.na-mic.org/Wiki/index.php/OpenIGTLink/Protocol/JHUBRP
- Real-time imaging
Clock synchronization mechanism
Data exchanged among OpenIGTLink nodes have timestamps that record the times when they are generated. It is important to keep timestamps consistent among the OpenIGTLink nodes that share the same data. While there are several mechanism to synchronize system clocks among multiple computers such as Network Time Protocol (NTP) and Precision Time Protocol (PTP), it would also make sense to have a mechanism to detect time difference among the nodes and manage the time difference.
HTTP Web service API in 3D Slicer
HTTP Web service API allows users to getting/setting data and invoke module functionality remotely from web browser. In this section Steve will present the current status of the interface.