IGT

From mitk.org
Revision as of 02:00, 1 January 1970 by (username removed)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

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

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