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 input
mitk::NavigationDataDisplacementFilter - adds an offset vector to the positional part of its input
mitk::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
mitk::NavigationDataToPointSetFilter - transforms the positions of its
inputs into a mitk::PointSet
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
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/Modules/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/Modules/Bundles/org.mitk.gui.qt.igttutorial/ (See IGTTutorial).
Finally, a more advanced application module that we used as a playground during development is available here: /mitk/Modules/Bundles/org.mitk.gui.qt.igtexample/ (See IGTExample) Unit tests for most classes are located at /mitk/Modules/IGT/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).
