A tool that provides basic functionalities for IGT. Tracker can be connected using OpenIGTLink, and the reported information can be used for conveniently implementing some functionality.
This tool started as a student project and is currently actively maintained by various students of Ulm University of Applied Sciences (THU).
Currently, at least Java 17 or Java 21 are supported.
For building, you can import this project as a Gradle project into your IDE, or you
can run in a terminal:
# For windows
./gradle.bat build # builds the project
./gradle.bat run # runs the main program
# For linux
./gradlew build
./gradlew runThis project uses Checkstyle to enforce some basic style checks:
- Use spaces for indentation, not tabs
- Don't use Umlaut characters
- End files with a new line
- Don't leave trailing spaces at the end of a line Run the checkstyle gradle task to check your code:
# Windows
./gradle.bat checkstyleMain
# Linux
./gradlew checkstyleMainTo ensure compatibility with older Java versions, please set the language level of this project to the lowest supported language version, currently Java 11.
With the basic version of the IGTPrototypingTool, you can connect to tracking systems and video sources and display 3D objects in relation to them. Based on this, you can implement your own projects. To get started, see also the example view.
To connect a tracker, you can either play back recorded CSV data (see repository under src\test\resources) or connect to a real tracker using OpenIGTLink. MITK-IGT or PLUS are suitable OpenIGTLink sources. The current version has been tested with MITK-IGT-2025.02, for which Windows binaries are available. To connect, start the MITK Workbench, connect to a tracker using the “TrackingToolbox” view, and activate OpenIGTLink using the ‘OpenIGTLinkManager’ view (click “go online”). You can now connect to an instance of the IGTPrototypingTool. Once tracking is running, you can load STL files in the “Visualization” tab, which will then be displayed in relation to the tracking data.
The connection to a video source (e.g., ultrasound device via frame grabber) is established via OpenCV. Alternatively, ultrasound data can also be transmitted via PLUS using OpenIGTLink. For a function test, you can use a webcam and connect to it with the IGTPrototypingTool (tab “Video Input”). If there are problems with multiple video sources, a workaround is to disable all unnecessary ones in the device manager of the operating system. The connection to PLUS was tested, for example, with a Telemed ultrasound system running PlusApp version 2.9.0.
JavaDoc is automatically compiled and published to GitHub Pages. Please make sure to document all public methods and classes to help lowering the barrier for new students.
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
The icon is taken from MITK, which is licensed under the BSD 3-Clause License. Check the respective attribution for more information.