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 . 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.
We seek to achieve the following goals:
IGSIO was founded at the NAMIC 2016 Winter Project week in Cambridge, Massachusetts. Founding members include:
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.
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.
"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.
<Command Name="GetUSParameter"> <Parameter Name="Gain"/> </Command>
<CommandReply Name="GetUSParameter"> <ParameterName="Gain" Value="50" /> </CommandReply>
<Command Name="SetUsParameter"> <Parameter Name="Gain" Value="50"/> </Command>
<CommandReply Name="SetUSParameter"> <ParameterName="Gain" Success="TRUE" /> </CommandReply>