Documentation/4.3/Modules/OpenIGTLinkIF

From Slicer Wiki
Revision as of 15:08, 2 August 2014 by Tokuda (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
Home < Documentation < 4.3 < Modules < OpenIGTLinkIF


For the latest Slicer documentation, visit the read-the-docs.



Introduction and Acknowledgements

This work is supported by NA-MIC, NCIGT, and the Slicer Community. This work is partially supported by NIH 1R01CA111288-01A1 "Enabling Technologies for MRI-Guided Prostate Interventions" (PI: Clare Tempany), P01-CA67165 "Image Guided Therapy" (PI: Ferenc Joelsz) and AIST Intelligent Surgical Instrument Project (PI: Makoto Hashizume, Site-PI: Nobuhiko Hata).
Author: Junichi Tokuda, Jean-Christophe Fillion-Robin, Nobuhiko Hata
Contact: Junichi Tokuda <email> tokuda@bwh.harvard.edu</email>

NA-MIC  
NCIGT  

Module Description

The OpenIGTLink Interface Module is a program module for network communication with external software / hardware using OpenIGTLink protocol. The module provides following features:

  • Data import: The module can import position, linear transform and image data from OpenIGTLink-compliant software to the MRML scene.
  • Data export: The module can export linear transform and image data from the MRML scene to external software.
  • Multi-connection: The module can manage multiple OpenIGTLink connections at the same time.
  • Locator visualization: The user can choose one of linear transforms in the MRML scene to visualize its position and orientation in the 3D space.
  • Slice driving: The module can control volume re-slicing plane based on linear transform in the MRML scene.
The figure shows an example schematic diagram where multiple devices are communicating with 3D Slicer through the OpenIGTLink Interface. Each connector is assigned to one of the external devices for TCP/IP connection. The connectors serve as interfaces between the external devices and the MRML scene to convert an OpenIGTLink message to a MRML node or vice versa.

Supported Devices

See here for a list of supported devices.

Use Cases

  • MRI-compatible Robotic Systems (BRP Project between BWH, Johns Hopkins University and Acoustic MedSystems Inc., "Enabling Technologies for MRI-Guided Prostate Interventions")
    • The 3D Slicer was connected to an MRI-compatible Robot, using OpenIGTLinkIF to send target position from Slicer to the robot and to send the actual robot position (based on sensor information) from the robot back to Slicer. Slicer was also connected to the MRI scanner. Scan plane position and orientation were prescribed in Slicer and transmitted to the scanner for controlling real-time image acquisition and for transferring the acquired images from the MR scanner back into Slicer for display.
  • Neurosurgical Robot Project(Nagoya Institute of Technology, Japan)
    • The 3D Slicer was connected to the optical tracking system (Optotrak, Northern Digital Inc.) to acquire current position of the end-effector of the robot.

Tutorials

Please follow the OpenIGTLink IF Tutorial presentation file


Panels and their use

OpenIGTLinkIF
  • Connectors panel: The list of connectors and their properties.
    • Add ("+") / Remove ("-") buttons: Add / remove connector nodes.
    • Properties
      • Name: The name of the connector node selected in the list.
      • Type: The type of connector node. If "Server" is specified, the connector waits for a connection from OpenIGTLink client.
      • Status: Checkbox to turn on/off the server.
      • Hostname: The TCP/IP host name of the remote OpenIGTLink server (only available if the connector is client)
      • Port: The TCP/IP port number of the remote OpenIGTLink (if the connector is configured as a client) or the port number of this OpenIGTLink connector (if the connector is configured as a server).
Connector Properties
  • I/O Configuration panel: The list of nodes that are used to receive/send data through OpenIGTLink connectors.
    • IN: The list of incoming data (node names) received through the connector node.
    • OUT: The list of outgoing data (node names) sent through the connector node.
I/O Configuration Tree interface



Similar Modules

N/A

References

  1. Tokuda J, Fischer GS, Papademetris X, Yaniv Z, Ibanez L, Cheng P, Liu H, Blevins J, Arata J, Golby A, Kapur T, Pieper S, Burdette EC, Fichtinger G, Tempany CM, Hata N, OpenIGTLink: An Open Network Protocol for Image-Guided Therapy Environment, Int J Med Robot Comput Assist Surg, 2009 (In print)

Information for Developers

OpenIGTLinkIF Developers Information