TubeTK/OpenIGTLink: Difference between revisions

From KitwarePublic
Jump to navigationJump to search
Line 1: Line 1:
=Introduction=
=Introduction=


OpenIGTLink is a communication protocol designed to work on the TCP/IP application layer to handle image, tracking data, transform, device control and monitoring command, and other user-defined data types. An example use case is a computer interfaced to a tracking device, gathers pose information of surgical instruments and packages the information in an OpenIGTLink protocol and sends the data over a network connection to a quantitative imaging workstation that runs
OpenIGTLink is a communication protocol designed to work on the TCP/IP application layer to handle image, tracking data, transform, device control and monitoring command, and other user-defined data types. Example usecases
 
# A computer running IGSTK based navigation application and a computer running Slicer are connected using a network cable.  The IGSTK application gathers pose information of surgical instruments and packages them in OpenIGTLink message format and then sends the data over network connection using OpenIGTLink protocol to the computer running Slicer for visualization and/or further processing
# A computer running tubetk based vessel segmentation application is connected to the BrainLab VectorVision machine. VectorVisison fetches Ultrasound images, packages them as OpenIGTLink image message and sends it to the computer running the tubetk application.


=Description=
=Description=

Revision as of 15:34, 4 June 2010

Introduction

OpenIGTLink is a communication protocol designed to work on the TCP/IP application layer to handle image, tracking data, transform, device control and monitoring command, and other user-defined data types. Example usecases

  1. A computer running IGSTK based navigation application and a computer running Slicer are connected using a network cable. The IGSTK application gathers pose information of surgical instruments and packages them in OpenIGTLink message format and then sends the data over network connection using OpenIGTLink protocol to the computer running Slicer for visualization and/or further processing
  2. A computer running tubetk based vessel segmentation application is connected to the BrainLab VectorVision machine. VectorVisison fetches Ultrasound images, packages them as OpenIGTLink image message and sends it to the computer running the tubetk application.

Description

Workflow

Client

  1. Establish connection with server side ( Example: igtl::ClientSocket )
  2. Generate OpenIGTLink message (data-to-be-sent ) and package in Open IGT Link format. (Example: igtl::TransformMessage )
  3. Send data through TCP/IP socket connection

Server side

Types of OpenIGTLink message

Version 1

  1. Transform ( igtlTransformMessage )
  2. Image ( igtlImageMessage )
  3. Position ( igtlPositionMessage )
  4. Status message ( igtlStatusMessage )

Version 2

OpenIGTLink CLI Application in TubeTK

Reference

  1. NAMIC OpenIGTLink wiki page