Complete support for OpenIGTLink 3.0 message types
So far, pyigtl supports IMAGE, TRANSFORM, STRING, POINT and POLYDATA message types. From my experience, this is perfectly sufficient for most applications. However, the OpenIGTLink specification (version 3.0) provides more message types, including composite messages. It would be great to have the additional message types available in pyigtl as well to achieve better interoperability among Python and C++ based OpenIGTLink services.
All message types and their specification can be found in the OpenIGTLink github repo: https://github.com/openigtlink/OpenIGTLink/blob/master/Documents/Protocol/index.md
The following message types are yet to be implemented:
Protocol Version 1 (header version 1):
- [ ] CAPABILITY
- [ ] QTRANS (formerly POSITION)
- [ ] STATUS
Protocol Version 2 (header version 1):
- [ ] BIND (composite message)
- [ ] COLORT
- [ ] IMGMETA
- [ ] LBMETA
- [ ] NDARRAY
- [ ] QTDATA
- [ ] SENSOR
- [ ] TDATA (PR exists: https://github.com/lassoan/pyigtl/pull/17)
- [ ] TRAJ
Protocol Version 3 (header version 2): Please note that for version 3 commands, the message header code would need to be adjusted.
- [ ] COMMAND
- [ ] VIDEO
- [ ] VIDEOMETA
New message types can easily be tested using the test bench: https://github.com/lassoan/pyigtl/blob/master/pyigtl/tests/test_basic_comm.py