2016 Summer Project Week/Integrating PLUS in applications using OpenIGTLink
From NAMIC Wiki
(Redirected from 2016 Summer Project Week/PLUS integration in CustusX via OpenIGTLink)
Home < 2016 Summer Project Week < PLUS integration in CustusX via OpenIGTLink
Key Investigators
- Christian Askeland
- Janne Beate Bakeng
- Ole Vegard Solberg
- Jon Eiesland
- Longquan Chen
- Simon Drouin
Project Description
Objective
- Provide support for Tracking and Ultrasound streaming in various IGT Navigation Systems, using PLUS and the OpenIGTLink.v3 protocol as a backend.
- The systems considered so far are
- CustusX (http://custusx.org/)
- IBIS (http://ibisneuronav.org/).
- Slicer
- MITK (in spirit only)
- CustusX: Phase out IGSTK (tracking) and in-house solutions (streaming).
Approach, Plan
- Base work on results from Tracked Ultrasound Standardization II: The Implementering, and the existing PLUS/OpenIGTLink support in CustusX.
- Coordinate efforts between systems doing the same job using a client side IGTL library: https://github.com/IGSIO/OpenIGTLinkIO, forked from 3DSlicer/OpenIGTLinkIF
- CustusX items:
- Replace IGSTK-based tracking. Evaluate if PLUS has the required features.
- Semi-automatic gui-based configuration on the CX side.
- Modify PLUS if necessary.
- Wrap PLUS in CustusX. End users should not need to tweak PLUS-specific xml.
- Replace in-house US-streaming solutions by the new standards.
- Try to use PLUS as backend for the Ultrasonix scanner.
- Write a lightweight OpenIGTLink server for proprietary scanners.
- Framegrabber/OpenCV-based streaming based on PLUS (?).
- Replace IGSTK-based tracking. Evaluate if PLUS has the required features.
Progress
- CustusX now receives ultrasound over OpenIGTLink/IO from PLUS: Media:CustusX_with_openigtlink3.mov.
- IBIS now received tracking data and images over OpenIGTLink/IO from PLUS: Media:Namic-result-ibis.mov.
- The OpenIGTLinkIO library is integrated into CustusX, IBIS and Slicer as a common layer.
- See [1] for a diagram relating the various applications and libraries.
- Command protocol is implemented in IO, yet to be used for controlling PLUS remotely.