IGT
MITK IGT
MITK-IGT is a new component of the Medical Imaging Interaction Toolkit (MITK) that provides support to develop image guided therapy applications. MITK-IGT can be enabled by setting "MITK_BUILD_IGT" to ON in CMake. The classes of MITK-IGT can be found in /mitk/Core/IGT (See svn repository) .
MITK-IGT is split into two parts:
1) Communication with tracking devices
- MITK-IGT Release 1 supports the following tracking devices:
- Polaris (Northern Digital Inc.)
- Aurora (Northern Digital Inc.)
- MicronTracker (Claron Technologies) (Tested on Windows plattform only)
- Microbird (Ascension Technology Corporation) (Tested on Windows plattform
- only)
All tracking device interface classes (and some support classes) are in /mitk/Core/IGT/IGTTrackingDevices/
2) Processing of tracking data
The ITK filter pipeline approach is used to process the data from the tracking devices. mitk::[[NavigationData]] is the data object that is passed through the filter pipeline. MITK-IGT Release 1 provides the following filters:
mitk::[[CameraVisualization]]- controls the camera of a renderer according to the spatial information of its inputmitk::[[NavigationDataDisplacementFilter]]- adds an offset vector to the positional part of its inputmitk::[[NavigationDataLandmarkTransformFilter]]- calculates a transform from- two pointsets and applies the transform to its input
mitk::[[NavigationDataPlayer]]- loads stored logfiles with tracking data and- uses them as output. This is a source for filter pipelines
mitk::[[NavigationDataRecorder]]- stores its input in a logfile that can be- played back with
mitk::[[NavigationDataPlayer]]
- played back with
mitk::[[NavigationDataToPointSetFilter]]- transforms the positions of its- inputs into a
mitk::[[PointSet]]
- inputs into a
mitk::[[NavigationDataTransformFilter]]- applies a user definable- transformation to its input
mitk::[[NavigationDataObjectVisualizationFilter]]- sets the pose- data from its input as geometry information for
mitk:[[BaseData]]objects - this will move the BaseData objects according to the tracking data
- data from its input as geometry information for
mitk::[[TrackingDeviceSource]]- interfaces with a tracking device and uses the- tracking data as output. This is a source for filter pipelines
All filter classes and some support classes are in /mitk/Core/IGT/IGTFilters/
A tutorial that shows the usage of MITK-IGT is available in /mitk/Core/IGT/IGTTutorial/IGTTutorialStep1.cpp (See IGTTutorialStep1.cpp).
A second tutorial shows how to build a graphical application that visualizes tracking sensor movements. It is available at /mitk/QFunctionalities/QmitkIGTTutorial/ (See QmitkIGTTutorial).
Finally, a more advanced application module that we used as a playground during development is available here: /mitk/QFunctionalities/QmitkIGTExample/ (See QmitkIGTExample) Unit tests for most classes are located at mitk/Testing/.
MITK-IGT is still under strong development. We suggest to use the subversion repository to get the latest source code (and to perform regular updates).