Page MenuHomePhabricator

OpenIGTLink support for IGT module
Closed, ResolvedPublic


Request for a general way to use OpenIGTLink in MITK.

The old branches, can serve as an example for the new implementation.

Event Timeline

User klemmm has pushed new remote branch:


User klemmm has pushed new remote branch:


User heime has pushed new remote branch:


[982c35]: Merge branch 'bug-18380-OpenIGTLink-integration'

Merged commits:

2015-02-04 15:25:32 Alfred Franz [c99e0f]
added missing file to files.cmake -> now compiles with windows

2015-02-03 19:07:45 Eric Heim [157884]
moved OpenIGTlink plugin activator to qt5

2015-02-03 17:02:03 Eric Heim [651bc0]
moved to third party repository

2015-02-03 15:41:13 Eric Heim [c66f62]
Merge branch 'bug-18380-OpenIGTLink-v2' into bug-18380-OpenIGTLink-integration


2014-12-18 18:31:35 Martin Klemm [a65377]
Added a test for the NavigationDataToIGTLMessageFilter (so far just half of the modes are tested)

2014-12-18 16:41:24 Martin Klemm [0947c9]
Merge branch 'bug-18380-OpenIGTLinkSupportForIGTModule' into bug-18380-OpenIGTLink-v2


2014-12-18 13:23:31 Martin Klemm [734841]
Added message and command receive event handling in DeviceSetupConnectionWidget

2014-12-17 17:11:21 Martin Klemm [7202c7]
Reverse the previous changes

2014-12-17 17:08:24 Martin Klemm [0bc221]
Bugfix: The IGTLDeviceSetupConnectionWidget disabled the ip edit box when it shouldnt

2014-12-11 15:36:07 Martin Klemm [063dd1]
Added icons to the three plugins

2014-12-11 14:22:45 Martin Klemm [f65f23]
Streaming can be started and stopped from the GUI directly

2014-12-03 19:13:01 Martin Klemm [b172b6]
Added new classes and extended the GUI to start streams manually

2014-11-25 21:03:33 Martin Klemm [c2d042]
Splitted IGTLDeviceSourceManagementWidget into three smaller ones

2014-11-24 19:04:40 Martin Klemm [0c0f76]
Added and extended doxygen documentation
MessageQueue's buffering mode can be set to infinite or no buffering

2014-11-24 15:41:41 Martin Klemm [382751]
Bugfix: replaced the export define in the igtlmessage to navigation data filter

2014-11-24 14:31:26 Martin Klemm [1cefc1]
Added a convenience function to send RTS messages

2014-11-21 20:16:12 Martin Klemm [cfdb28]
Adapted the GUI to fit the previous changes

2014-11-21 20:15:52 Martin Klemm [28bc30]
Adapted the DeviceSource and the MessageProvider so that message provider can connect to a message source
If a message provider receives a streaming command it connects with the fitting source and starts streaming

2014-11-21 12:17:05 Martin Klemm [8c3c1d]
Simplified the Examples

2014-11-21 11:51:19 Martin Klemm [a9b8d8]
Added a new checkbox to turn on/off the logging of send and receive message events

2014-11-21 11:50:50 Martin Klemm [bd6af7]
Removed debug output from the iGTL device

2014-11-21 11:50:31 Martin Klemm [8f2cd6]
The streaming connector checks if the message is valid before sending

2014-11-21 11:48:52 Martin Klemm [4653f7]
NavDataToIGTLMsgFilter checks if the input navigation data is valid and if not invalidates the whole messages (which cause it to be not send)
IGTLMsgTONavDataFilter checks if the input is a valid msg and if not does nothing

2014-11-21 10:30:41 Martin Klemm [2e545a]
Removed the logging window from the OpenIGTLinkManager

2014-11-20 19:21:08 Martin Klemm [17ed20]
Added a new class IGTLStreamingConnector which is used as a connector between the message source and the message provider
Number of outputs of IGTLMessageToNavigationDataFilter can be set manually
Number of outputs of NavigationDataToIGTLMessageFilter is always set to 1
Receiving and Sending IGTLMessages are returning status
Added convenience function to message factory to create instances directly
MessageProvider reads the FPS from the incoming command and starts the streaming
MessageSource has a new attribute FPS
Extended the GUI so that the FPS can be set
Several changes in the plugin to make it work

2014-11-18 12:19:20 Martin Klemm [e15bde]
Another application can ask for a specific data by sending a GET_ message. The message provider sends back an RTS_ signal if there is no fitting source available.

2014-11-17 19:03:18 Martin Klemm [24ac02]
Added a igtl server class. Extended the examples to use the server. Adapted several classes to handle clients and servers.

2014-11-17 19:01:50 Martin Klemm [c43089]
Setting an operation mode in the navdatatoigtlmessage filter also sets the type of the igtl message source

2014-11-14 18:41:43 Martin Klemm [682f14]
Added a new plugin to show the providing mechanism

2014-11-14 18:41:10 Martin Klemm [c3658b]
Added a new type IGTL Message Provider

2014-11-14 18:39:41 Martin Klemm [6548e3]
Added a new filter: navigation data to IGTL message

2014-11-14 11:28:22 Martin Klemm [f7f9dd]
The Send Command button is disabled until the device is connected

2014-11-14 11:12:58 Martin Klemm [3c24af]
Extended the send command functionality to streaming requests
Changed the way the output is shown

2014-11-13 19:25:42 Martin Klemm [b9d0ef]
Updated the OpenIGTLink version
Added all OpenIGTLink message types to the igtlmessagefactory
Added functionality to send command messages
Added a logging window

2014-11-13 11:00:20 Martin Klemm [ea5833]
Changed receiving from blocking to non-blocking
Made some changes in the GUI

2014-11-12 19:05:24 Martin Klemm [ec6c7d]
Added a name variable to the igtl device
This name is used in the device source for the us registration
Removed unnecessary code from the example plugin

2014-11-11 19:28:13 Martin Klemm [440de2]
Added easy send method and splitted the example plugin into two

2014-11-10 19:28:12 Martin Klemm [70a87d]
Added a dummy message to show how to add new custom messages
Added a message queue to the IGTL device

2014-11-10 17:35:19 Martin Klemm [fe6010]
forgot one file

2014-11-10 17:32:59 Martin Klemm [4743e5]
Added a message factory for igtl message instanciation and cloning

2014-11-10 11:26:27 Martin Klemm [8fcee6]
Remove IGTTimeStamp from IGTBase (this was a local change, on master it was never in IGTBase)
Moved the IGTLMessageToNavigationDataFilter to the IGT Module
Therefore, the IGT module depends on OpeniGTLink from now on
Adapted the necessary CMAKE scripts

2014-11-10 11:07:56 Martin Klemm [9a5bd7]
Bugfix: The igtlMessage was set as * and not as smartpointer which caused the deletion of the object. Now the pipeline is working. This version of the OpenIGTLInk plugin could be used as base for a tutorial

2014-11-06 14:41:57 Martin Klemm [525118]
Latest version, no new features. Not working.

2014-11-04 18:43:18 Martin Klemm [ea265a]
Added a igtl source and a conversion filter (igtl message to nav data)

2014-11-03 18:09:00 Martin Klemm [f91637]
Added new classes: IGTLMessage, IGTLMessageSource, IGTLDeviceSource

2014-11-03 13:16:22 Martin Klemm [dafc7b]
Transform messages can be received. It is implemented in a very simple way to check if the communication works.

2014-11-03 11:57:24 Martin Klemm [ad53be]
Added safety feature: when socket::Receive returns an error, the communication is stopped

2014-10-31 17:50:15 Martin Klemm [c5ceee]
MITKOIGTLClient can setup a connection with a OIGTLServer

2014-10-31 16:55:37 Martin Klemm [ffe51d]
Initial commit

Was merged and works, so closing this bug...

Unit tests are still missing, but there is a new bug for this: T18717

UI integration to the IGT module is handled in T18713

[eacdc1]: Merge branch 'bug-18380-OpenIGTLink-integration'

Merged commits:

2015-02-04 20:41:43 Sascha Zelzer [39bebd]
COMP: Add OpenIGTLink binary dir to PATH

[6601d1]: Merge branch 'bug-18380-OpenIGTLink-integration'

Merged commits:

2015-02-04 22:30:38 Sascha Zelzer [8220cd]
COMP: Added missing build config subdir

[8559d1]: Merge branch 'bug-18380-OpenIGTLink-integration'

Merged commits:

2015-02-11 14:17:46 Eric Heim [153c66]
moved the openIGTLink plugin documentation into plugin manuals

Is this finished? Can we close the bug?

From my point of view we can close it. I do not have anything to commit to this bug anymore.