OpenIGTLink/ProtocolV2/Summary

From NAMIC Wiki
Jump to: navigation, search
Home < OpenIGTLink < ProtocolV2 < Summary

Overview

The OpenIGTLink Protocol is ideal for building a research prototype system, because of its simple and standardized specification that requires less effort of developers on design and development of communication mechanism for systems integration. By using OpenIGTLink, developers can save their time for more essential part of research. The OpenIGTLink's simple specification has been well accepted by the community, resulting a number of applications in the IGT research community, since it's initial release in early 2008.

While we keep the protocol as simple as possible, there have also been a number of feature requests that would benefit many IGT research projects, such as connectivity with commercial products, and connectivity with other major research tools, such as MATLAB. To respond to those request, and to increase the number of potential applications, we decided review the requests and release version 2 protocol during NA-MIC Summer Project Week 2010. The new protocol defines a set of new message types with new querying scheme, while maintaining a backward compatibility with version 1. This page summarizes the features in version 2.

Simple Query Scheme

OpenIGTLink V.2 defines a simple querying scheme on top of the existing message format, by introducing a few prefix to the device type field.

Request a single message (defined since version 1)

A client can request to send data contained in a single message, by issuing a query message with a device type string starting with "GET_". For example, when a client requests an IMAGE message to a server, it sends GET_IMAGE message to the server as a query.

Request a stream of messages (introduced in version 2)

A client can start and stop data streaming (sent as a series of messages) from a server, by issuing a query message with a device type starting with "STT_" and "STP_" respectively. This is useful to start and stop position tracking or real-time imaging remotely from the client. For example, once the server receives "STT_TDATA" message from the client, it start sending "TDATA" messages to the client. The server keep sending "TDATA" messages until it receives "STP_TDATA" from the client.

New Commands

Commands from Version 1