Difference between revisions of "2012 Summer Project Week Breakout Session:Slicer in Networked Environment"

From NAMIC Wiki
Jump to: navigation, search
Line 1: Line 1:
 
=Agenda=
 
=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.  
+
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==
 +
*3D Slicer + PLUS integration (by Tamas Ungi)
 +
*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 [[2012_Summer_Project_Week:SlicerWeb| the project page]] for more information and demo video.
  
==OpenIGTLink==
+
==Future Directions==
We will discuss future directions of OpenIGTLink.
+
===Applications===
 
+
*Import tracking data
===OpenIGTLink Profiles===
+
*From tracking devices OpenIGTLink
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:
+
*Import real-time images from imaging scanners
*How we manage those profiles and keep compatibility.
+
*Import target information from external software
*Profiles for specific applications
+
*Import/exporting processed image to external software
**Medical robotics: http://www.na-mic.org/Wiki/index.php/OpenIGTLink/Protocol/JHUBRP
+
*Import/exporting commands
**Real-time imaging
+
*Display images in remote computer
 
+
*Control Slicer from remote computer
===Clock synchronization mechanism===
+
*Device monitoring
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.
+
===Wish lists===
 
+
*OpenIGTLink
==HTTP Web service API in 3D Slicer==
+
**Profiles
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. See [[2012_Summer_Project_Week:SlicerWeb| the project page]] for more information and demo video.
+
****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

Revision as of 04:27, 21 June 2012

Home < 2012 Summer Project Week Breakout Session:Slicer in Networked Environment

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

  • 3D Slicer + PLUS integration (by Tamas Ungi)
  • 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.

Future Directions

Applications

  • Import tracking data
  • From tracking devices OpenIGTLink
  • 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
  • Device monitoring

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