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).