2012 Summer Project Week Breakout Session:Slicer in Networked Environment
From NAMIC Wiki
Revision as of 13:25, 21 June 2012 by Lasso (talk | contribs) (→Introduction: Network Interfaces in 3D Slicer 4.1)
Home < 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.
Introduction: Network Interfaces in 3D Slicer 4.1
- Current status of OpenIGTLink IF (by Junichi Tokuda)
- HTTP Web service API in 3D Slicer (by Steve Pieper)
- HTTP Web service API allows users to getting/setting data and invoke module functionality remotely from web browser. See the project page for more information and demo video.
- 3D Slicer + PLUS integration (by Tamas Ungi, Andras Lasso)
- PlusServer test configuration:
- WLAN network: EECS-MTL-RLE
- Type: Client
- Hostname: 18.62.30.101
- Port: 18944
- PlusServer test configuration:
Future Directions
Applications
- Import tracking data
- OpenIGTLink for 3D tracking tools
- Import static images
- DICOM
- Import real-time images from imaging scanners
- Import target information from external software
- Import/exporting processed image to external software
- Import/exporting commands
- Display images in remote computer
- Control Slicer from remote computer
- Share images to discuss
- Device monitoring
- Event Recording
Wish lists
- 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.
- Example in 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
- TBD
- Profiles