Image
Guided
Systems
Inter
Operability

Advancing open-source image guided systems through cooperation and collaboration.

Mission

The IGSIO was founded after lengthy discussions regarding the standardization of tracked ultrasound communication to work towards improving the interoperability between industrial products and research software platforms [1]. Prior to these discussions, the commonly accepted solution was to pass specially constructed messages over the OpenIGTLink protocol. This workaround solution indicated that a more formal definition was needed to enable the research community to move towards a vision held by the founding members.

The mission of the IGSIO is to develop a written standard defining the communication of tracked ultrasound systems between software platforms and to produce an open-source reference implementation of an OpenIGTLink client and server for use by any adhering software platform.

Goals

We seek to achieve the following goals:

Founding Members

IGSIO was founded at the NAMIC 2016 Winter Project week in Cambridge, Massachusetts. Founding members include:

The Standard: Tracked Ultrasound over OpenIGTLink (TUO)

Extensions to the OpenIGTLink protocol was proposed here and these extensions were implemented in OpenIGTLinkIO.

Ultrasound sector information


Ultrasound sector information is added to the ultrasound image packages as meta information: OpenIGTLink specification. See the implementation in the Plus Toolkit vtkPlusBkProFocusOemVideoSource.cxx

Needed meta information fields to recreate ultrasound image sector:

Other ultrasound parameters may be added as well as meta information fields. The vtkPlusBkProFocusOemVideoSource.cxx example adds depth and gain as well.

The communication protocol


A client and a server connects over OpenIGTLink. Messages can be then be sent both ways. To request information a query is sent.

Queries and their response are handled by the COMMAND message, introduced in the OpenIGTLink v3 standard. The information requested is passed using the other types of messages. Every query (COMMAND) should result in a respons (RTS_COMMAND) and optionally one or more other message types. All message types are specified in the OpenIGTLink standard v3.

The COMMAND message has a command name. There are 4 command names defined: Get, Set, Subscribe and Unsubscribe. The command name is specified in the COMMAND messages command_name field. The body of the COMMAND message contains a content field which will specify what kind of information is requested. The content is structured using xml tags.

Command names

"Get" requests information one time, like the depth setting of the scanner. "Set" requests setting for example a parameter on a scanner. "Subscribe" and "Unsubscribe" requests to start or stop getting continuous updates, for example getting updates when the depth setting is changed.

Examples


Command:
<Command Name="GetUSParameter">
  <Parameter Name="Gain"/>
</Command>
Reply:
<CommandReply Name="GetUSParameter">
  <ParameterName="Gain" Value="50" />
</CommandReply>
Command:
<Command Name="SetUsParameter">
  <Parameter Name="Gain" Value="50"/>
</Command>
Reply:
<CommandReply Name="SetUSParameter">
  <ParameterName="Gain" Success="TRUE" />
</CommandReply>

Links

  1. 2016_Winter_Project_Week/Projects/TrackedUltrasoundStandardization
  2. 2016_Summer_Project_Week/Projects/TrackedUltrasoundStandardization
  3. 2017_Winter_Project_Week/Tracked_Ultrasound_Standardization
  4. http://openigtlink.org/protocols/v3_proposal.html
  5. https://github.com/IGSIO/OpenIGTLinkIF