diff --git a/Modules/IGT/Documentation/doxygen/IGTModule.dox b/Modules/IGT/Documentation/doxygen/IGTModule.dox index 9c4dc25d6e..c4492b42c0 100644 --- a/Modules/IGT/Documentation/doxygen/IGTModule.dox +++ b/Modules/IGT/Documentation/doxygen/IGTModule.dox @@ -1,77 +1,77 @@ /** \page NavigationGeneralModulePage The Navigation Modules \section IGTGeneralModulePageOverview Overview Navigation modules consist of IGT (Tracking devices), US (Ultrasound) and TOF (3D range imaging) modules. Each module is separated into UI dependent and independent modules (e.g. IGT and IGTUI module). The navigation modules are based on the OpenCVVideoSupport modules and OpenIGTLink modules. In addition, there is the basic module IGTBase, which holds general functionality for all navigation modules. Most navigation modules support hardware devices. A current list of all supported devices can be found here: Hardware Support. \section IGTModules IGT modules The module IGT integrates image guided therapy (IGT) functionality to MITK. The main features of MITK-IGT are: MITK-IGT consists of two layers for hardware control (Tracking Layer) and processing of tracking data (Navigation Layer). Additionally it offers components for rapid development of graphicalt user interfaces (GUIs) of navigation applications. To separate UI functionality from the rest of the code UI classes are encapsulated in the separate module IGT-UI. The IGT documentation contains the following pages: \section USModules US modules \li The ultrasound user manual: \ref USModulePage \section TOFModules TOF modules \ref org_toftutorial An explanation on how to create a TOF Module can be found here: \li \subpage GeneratingDeviceModulesPage */ \ No newline at end of file diff --git a/Modules/IGT/Documentation/doxygen/IGTTutorialOverview.dox b/Modules/IGT/Documentation/doxygen/IGTTutorialOverview.dox index f23283b607..fefcffc36e 100644 --- a/Modules/IGT/Documentation/doxygen/IGTTutorialOverview.dox +++ b/Modules/IGT/Documentation/doxygen/IGTTutorialOverview.dox @@ -1,49 +1,49 @@ /** \page IGTTutorialOverview IGT Tutorial Overview The IGT tutorial consists of several steps which will introduce the you to the basic concepts and functions of IGT. The overview of all pages can be found here: \ref NavigationGeneralModulePage. \section TrackingPlugins Tracking Plugins Step 1 - Introduction to the Tracking Plugins \n During the introduction, you will get familiar with the usage of the tracking plugins. We will guide you step by step through the most important functions of our plugins. -\li \subpage IGTTutorialStepPluginIntroduction +\li \ref org_mitk_gui_qt_igttracking \section IGTCode The IGT code Step 2 - IGT filter pipeline \n We will now start with a look at simple code examples to construct a simple navigation pipeline. Via a virtual tracking device, tracking data is written to the console. Everything is organized in a classic c++ main method. \li \subpage IGTTutorialStepFilterPipeline Step 3 - Visualization Filter and MITK Concepts \n This step adds a broader view of basic MITK concepts. The objects are now added to an mitkDataStorage and rendered in an mitkRenderWindow. For visualization the NavigationDataObjectVisualizationFilter is used. Everything is organized in a classic c++ main method. \li \subpage IGTTutorialStepVisualization \section IGTWorkbench IGT within the MITK workbench Step 4 - Write your own simple Tracking Plugin \n This step shows how to seamlessly integrate an IGT plugin (the QmitkIGTTutorialView) into the mitkWorkbench. The plugin uses the virtual tracking device to generate data and renders the result in the mitkWorkbench. It is also possible to connect an NDI tracking device and use real hardware to track. The code is written in the QmitkView manner. \li \subpage IGTTutorialStepSimplePlugin Step 5 - Example for a tracking application: The IGT Tracking Lab Plugin \n \li \subpage IGTTutorialStepTrackingLab Step 6 - Advanced usage of IGT Modules \n In this step, we will have a deeper look into the plugins which we already saw within the first introduction step. Here, we point out some details in the code, which might be useful for you to reuse them within your own projects. \li \subpage IGTTutorialStepAdvanced Step 7 - OpenIGTLink Tutorial \n This step gives examples how to use OpenIGTLink in MITK. The first two simple examples include code to open a OpenIGTLink client and server for tracking data. The third, more advanced example shows you how to stream tracking and ultrasound data simultaneously from an external server. \li \subpage IGTTutorialStepOpenIGTLink \section FurtherFunctionality Further IGT functionality If you want to implement your own tracking device, this page might be helpful: \li \subpage IGTHowToImplementATrackingDevice */ \ No newline at end of file diff --git a/Modules/IGT/Documentation/doxygen/IGTTutorialStep0.dox b/Modules/IGT/Documentation/doxygen/IGTTutorialStep0.dox deleted file mode 100644 index c678b10f3f..0000000000 --- a/Modules/IGT/Documentation/doxygen/IGTTutorialStep0.dox +++ /dev/null @@ -1,21 +0,0 @@ -/** -\page IGTTutorialStepPluginIntroduction Introduction to the IGT Plugins - -The IGT module provides some nice views which might help you with your project. This first step leads you through the main functionality of the IGT plugin. - -To get familiar with these, please click on each of the views and follow the instructions: - -\li \ref org_mitk_views_igttrackingtoolbox - Connect your tracking device and start tracking - -\li \ref org_mitk_views_igtnavigationtoolmanager - Edit your tool storage - -\li \ref org_mitk_views_navigationdataplayer - Play your navigation data, e.g. recorded with the tracking toolbox - -\li \ref org_mitk_views_calibrationtoolmanager Calibration Tool Manager. Will follow soon. - -An overview of all tracking views can also be found here: -\li \ref org_mitk_gui_qt_igttracking - -\ref Return to the \ref TrackingPlugins "[IGT Tutorial Overview]" - -*/ \ No newline at end of file diff --git a/Modules/IGT/Documentation/doxygen/IGTTutorialStep5.dox b/Modules/IGT/Documentation/doxygen/IGTTutorialStep5.dox index cc6eaf3b66..f1eaecbfa4 100644 --- a/Modules/IGT/Documentation/doxygen/IGTTutorialStep5.dox +++ b/Modules/IGT/Documentation/doxygen/IGTTutorialStep5.dox @@ -1,68 +1,68 @@ /** \page IGTTutorialStepAdvanced A deeper look into the IGT Plugins -We already know the three views of the IGT tracking plugin from the first tutorial step (\ref IGTTutorialStepPluginIntroduction): \ref org_mitk_views_igttrackingtoolbox , \ref org_mitk_views_igtnavigationtoolmanager and \ref org_mitk_views_navigationdataplayer . While the first tutorial step only dealt with the usage of these views, we now want to have a deeper look at some parts of the code. +We already know the three views of the IGT tracking plugin from the first tutorial step (\ref org_mitk_gui_qt_igttracking): \ref org_mitk_views_igttrackingtoolbox , \ref org_mitk_views_igtnavigationtoolmanager and \ref org_mitk_views_navigationdataplayer . While the first tutorial step only dealt with the usage of these views, we now want to have a deeper look at some parts of the code. Please note, that a lot of the IGT functionality is available as a widget. So if you need some part of it for your own plugin, you might just want to include the widget. This is for example done for the QmitkNavigationToolCreationWidget, which is used in the \ref org_mitk_views_igttrackingtoolbox view as well as in the \ref org_mitk_views_igtnavigationtoolmanager view. \section DataAccess Data access The fist important question is, how to get the tools you want to use for your application. The most simple way is using the \ref org_mitk_views_igtnavigationtoolmanager to load, create or edit the tools and access it via the NavigationToolStorage. It's provided by a microservice and you can access it e.g. via the module context (make sure, your module depends on IGT): us::ModuleContext* context = us::GetModuleContext(); std::vector > refs = context->GetServiceReferences(); m_ToolStorage = context->GetService(refs.front()); Then, simply access the tools by m_ToolStorage->->GetTool(); There are also many different functions available, e.g. providing the number of available tools or the name of the current tracking device. Just have a look at the documentation of the mitk::NavigationToolStorage if you are interested in it. \section AutoLoad Autoload all parameters from last session To increase the usability of the application, the tracking toolbox restores all parameters from the last session. Therefore, we will use the following code to save all parameters. It is also used in the specific tracking device widgets, but we will just have a look at one example, restoring some parameters like the Show-Tracking-Volume-Checkbox, the filename of the autosave path of the tool storage or the index of the tracking volume. To store the settings, the following code is used: \snippet QmitkMITKIGTTrackingToolboxView.cpp StoreUISettings We will reload it with \snippet QmitkMITKIGTTrackingToolboxView.cpp LoadUISettings \section LoadToolStorage Load Tool Storage This code will load a previously stored or autosaved tool storage: \snippet QmitkMITKIGTTrackingToolboxView.cpp LoadToolStorage \section ThreadedTracking Threaded Tracking Usually, the tracking is done in a separate thread in order to still allow parallel usage of the workbench. If we track the devices in the same thread, the workbench might freeze. That's why we use thread workers \snippet QmitkMITKIGTTrackingToolboxView.cpp Thread 1 ...which are connected to functions \snippet QmitkMITKIGTTrackingToolboxView.cpp Thread 3 The thread will be startet, if we connect a tracking device by pushing the connect button or start tracking etc: \snippet QmitkMITKIGTTrackingToolboxView.cpp Thread 4 ...and finished afterwards: \snippet QmitkMITKIGTTrackingToolboxView.cpp Thread 5 You can access the data from the worker thread if needed: \snippet QmitkMITKIGTTrackingToolboxView.cpp Thread 6 Which of the functions is finally executed will be chosen in the ThreadFunc: \snippet QmitkMITKIGTTrackingToolboxView.cpp Thread 7 To deconstruct the workers, we first terminate the threads and then delete them \snippet QmitkMITKIGTTrackingToolboxView.cpp Thread 2 \ref Return to the \ref IGTTutorialOverview "[IGT Tutorial Overview]" */ \ No newline at end of file diff --git a/Plugins/org.mitk.gui.qt.igttracking/documentation/UserManual/QmitkIGTRegistration.dox b/Plugins/org.mitk.gui.qt.igttracking/documentation/UserManual/QmitkIGTRegistration.dox index 13a3509625..579c168e7c 100644 --- a/Plugins/org.mitk.gui.qt.igttracking/documentation/UserManual/QmitkIGTRegistration.dox +++ b/Plugins/org.mitk.gui.qt.igttracking/documentation/UserManual/QmitkIGTRegistration.dox @@ -1,6 +1,44 @@ /** \page org_mitk_views_igtregistrationview The IGT Registration view +\imageMacro{iconTrackingRegistration.png,"Icon of the MITK-IGT Fiducial Registration",2.00} -\imageMacro{QmitkIGTTracking_RegistrationView.png,"Icon of the MITK-IGT Tracking Toolbox",2.00} \ No newline at end of file +\tableofcontents + +\section QmitkMITKIGTTracking_RegistrationIntroduction Introduction + +The MITK-IGT Fiducial Registration is a view which allows you to record real world landmarks as well as the corresponding landmarks on a virtual object with a tracking pointer of your choice. + +\imageMacro{QmitkIGTTracking_RegistrationView.png,"Screenshot of the MITK-IGT Fiducial Registration View",2.00} + +\section QmitkMITKIGTTracking_RegistrationPreliminaries Preliminaries + +First connect your tracking device to your PC. Then start the MITK Workbench and configure your tracking device using the \ref org_mitk_views_igttrackingtoolbox. + +\section QmitkMITKIGTTracking_RegistrationConfiguration Configuration + +First of all you have to choose which tracking pointer should be used by clicking on one of the listed Available Navigation Data Sources and one of its related Tools. Confirm the tool to be used by clicking on Choose Selected. Above, the Polaris was chosen as navigation data source. In this case it has only one tool, the NDIPointer, which was selected as tracking pointer. + +In case you want to select landmarks on a virtual object, you have to load the image or surface and confirm by clicking Choose Selected. + +\section QmitkMITKIGTTracking_RegistrationPointRegistration Point Based Registration + +Now select the landmarks in the real world using the pointer: Press the plus button in the Tracker fiducials column and point to the landmarks in the real world. Press Add current instrument position to tell the MITK this is the desired landmark. + +To select landmarks on the virtual object or image, press the plus button in the Image/object fiducials column. Add landmarks by pressing Shift and clicking on the desired position of the virtual object or image. Make sure to select the landmarks on the virtual object or image in the same order as the real world landmarks. +Press Register to finalize the initial registration. + +Points can be added manually by clicking on the button with a plus and XYZ. + +A single point can be deleted by using the eraser button on a selected point. You can delete a pointset by right-click on the list of points and choosing Clear List. + +You can change the order of the points manually by using the corresponding arrow up and arrow down button. + +To save a pointset you have to click on the floppy disk button at the bottom of the relevant column. + +It's possible to load a pointset by clicking on the file button and choosing the desired pointset. This replaces the current list of points. + +Return to the overview of the IGT Tracking Plugin views: \ref org_mitk_gui_qt_igttracking + +*/ \ No newline at end of file diff --git a/Plugins/org.mitk.gui.qt.igttracking/documentation/UserManual/QmitkIGTTracking.dox b/Plugins/org.mitk.gui.qt.igttracking/documentation/UserManual/QmitkIGTTracking.dox index 7fcaa565d5..bf5a90db7c 100644 --- a/Plugins/org.mitk.gui.qt.igttracking/documentation/UserManual/QmitkIGTTracking.dox +++ b/Plugins/org.mitk.gui.qt.igttracking/documentation/UserManual/QmitkIGTTracking.dox @@ -1,17 +1,20 @@ /** \page org_mitk_gui_qt_igttracking The IGT Tracking Plugin This plugin offers basic tracking functionalities. This includes connecting to a tracking system, logging and recording of tracking data, managing tracking tools and playing recorded tracking data. -The plugin includes different views, which are described on different pages in detail: +The plugin includes different views, which are described on different pages in detail. + +As part of the tutorial, it is recommended to get familiar with each of the following views as they lead you through the main functionality of the IGT plugin. Please read the following pages to get familiar with them:
  • \subpage org_mitk_views_igttrackingtoolbox : Allows for connecting a tracking system and logging/recording the tracked data.
  • \subpage org_mitk_views_igtnavigationtoolmanager : This view offers functionality to manage tool storages. Each tool storage holds a preconfigured tool collection. Once saved you can load a tool storage in the Tracking Toolbox and don't need to add every tool seperately.
  • \subpage org_mitk_views_navigationdataplayer : Plays navigation data which was recorded with the Tracking Toolbox for example. -
  • \subpage org_mitk_views_calibrationtoolmanager Calibration Tool Manager. Will follow soon. +
  • \subpage org_mitk_views_calibrationtoolmanager Calibration Tool Manager. +
  • \subpage org_mitk_views_igtregistrationview : The IGTFiducialRegistration view allows the recording of real world landmarks and corresponding landmarks on a virtual object.
\ref Return to the \ref TrackingPlugins "[IGT Tutorial Overview]" */ \ No newline at end of file diff --git a/Plugins/org.mitk.gui.qt.igttracking/documentation/UserManual/QmitkIGTTracking_RegistrationView.png b/Plugins/org.mitk.gui.qt.igttracking/documentation/UserManual/QmitkIGTTracking_RegistrationView.png index 891a9f4d00..3edb85379d 100644 Binary files a/Plugins/org.mitk.gui.qt.igttracking/documentation/UserManual/QmitkIGTTracking_RegistrationView.png and b/Plugins/org.mitk.gui.qt.igttracking/documentation/UserManual/QmitkIGTTracking_RegistrationView.png differ diff --git a/Plugins/org.mitk.gui.qt.igttracking/documentation/UserManual/QmitkMITKIGTNavigationToolCalibration.dox b/Plugins/org.mitk.gui.qt.igttracking/documentation/UserManual/QmitkMITKIGTNavigationToolCalibration.dox index 325ae3ef7a..e27ddad54e 100644 --- a/Plugins/org.mitk.gui.qt.igttracking/documentation/UserManual/QmitkMITKIGTNavigationToolCalibration.dox +++ b/Plugins/org.mitk.gui.qt.igttracking/documentation/UserManual/QmitkMITKIGTNavigationToolCalibration.dox @@ -1,33 +1,33 @@ /** \page org_mitk_views_calibrationtoolmanager The MITK-IGT Navigation Tool Calibration \imageMacro{../resources/iconTrackingToolCalibration.svg,"Icon of the MITK-IGT Tracking Toolbox",2.00} \section QmitkMITKIGTNavigationToolCalibrationIntroduction Introduction This view allows the calibration of navigation tools. The calibrated tools can be saved permanently and later be used for any other IGT application. \section QmitkMITKIGTNavigationToolCalibrationPrerequisities Prerequisites In the IGT Tracking Toolbox configure your tracking device with at least two tools. The tool you wish to calibrate and one tool used as a pointer during the calibration process. For details on how to configure your tracking device and your tools have a look at \ref org_mitk_views_igttrackingtoolbox After you configured your device and your tools connect your device and start tracking. Now switch to the IGT Navigation Tool Calibration for the calibration process. \section QmitkMITKIGTNavigationToolCalibrationInitialization Initialization On the tab Initialization choose the tracking device you configured in the prevois step by clicking on it in the box "Available Navigation Data Sources". Then in the box "Tools" the tools you configured for this device should appear. Click on the tool that needs to be calibrated and then on the button "Use as Tool to Calibrate". On top of the view under the headline "Tool To calibrate" you now see the tool information for the chosen tool. For the tool used as a pointer do the same. Click on it, then click on the button "Use as Calibration Pointer" and on top of the view under the headline "Calibration pointer you should see the tool information for the pointer tool. \imageMacro{QmitkIGTTracking_ToolCalibration_Initialization.png,"MITK Screenshot with the initialized tools for calibration",16.00} \section QmitkMITKIGTNavigationToolCalibrationToolTipCalibration Tool Tip Calibration Onto the next step -Return to the Tutorial Step: \ref IGTTutorialStepPluginIntroduction +Return to the overview of the IGT Tracking Plugin views: \ref org_mitk_gui_qt_igttracking */ \ No newline at end of file diff --git a/Plugins/org.mitk.gui.qt.igttracking/documentation/UserManual/QmitkMITKIGTNavigationToolManager.dox b/Plugins/org.mitk.gui.qt.igttracking/documentation/UserManual/QmitkMITKIGTNavigationToolManager.dox index 5c84813a8f..2f3d166f44 100644 --- a/Plugins/org.mitk.gui.qt.igttracking/documentation/UserManual/QmitkMITKIGTNavigationToolManager.dox +++ b/Plugins/org.mitk.gui.qt.igttracking/documentation/UserManual/QmitkMITKIGTNavigationToolManager.dox @@ -1,53 +1,53 @@ /** \page org_mitk_views_igtnavigationtoolmanager The MITK-IGT Navigation Tool Manager \imageMacro{../resources/iconTrackingToolManager.png,"Icon of the Navigation Tool Manager",2.00} \section QmitkMITKIGTNavigationToolManager Introduction This view allows for creating and editing NavigationToolStorages. These storages contains naviagtion tools of a tracking device, can be saved permanently and used later for any other IGT application. \tableofcontents \section QmitkMITKIGTNavigationToolManagerToolOverview Navigation Tools Overview A navigation tool of MITK-IGT represents a tracking tool (e.g. an emt sensor or an optically tracked tool) and it's corresponding data, like it's name and it's surface. A navigation tool is a generalized container for any trackable object in combination with it's additional information. Every navigation tool has different properties which are:
  • Name
  • Unique identifier
  • Tool definition file
  • Serial number
  • Surface for visualization
  • Type of tracking device
  • Type of the tool
  • Tool landmarks
Note that not all properties are needed for all types of tools. A tool definition file, for example, is only needed by optical tracking tools (e.g. a .rom file for Polaris or a toolfile for the MicronTracker). A tool associated with the aurora system is alwalys identified by it's serial number. You can also detect Aurora tools automatically with the TrackingToolbox view and edit the automatically detected tool storage later with this view. \section QmitkMITKIGTNavigationToolManagerManagingNavigationToolStorage Managing Navigation Tool Storage In order to create edit a tool storage container, you can select one of the available tool storages listed in the upper part of the UI. The list shows all tool storages which are available throug the micro services concept of MITK. The list also shows the current tool storage of the IGT tracking toolbox view if it is active. In addition to the listed tool storages, you can load new storages from the hard disc which will then appear in the list and might be edited as all other storage by simply selecting it in the list. You may also save a selected tool storage to the hard disc or create a new one. In the lower part of the UI you always see the list of tools of the tool storage which is currently selected in the upper part. Use the buttons "add", "edit" and "delete" to manage the contained navigation tools. If you click "edit" or "delete" the operation is applied on the currently selected tool, as shown in the screenshot below. \imageMacro{QmitkIGTTracking_NavigationToolManagemantStartScreen.png,"Screenshot of the main view of NavigationToolManagent",10.90} \section QmitkMITKIGTNavigationToolManagerAddingEditingNavigationTools Adding / Editing Navigation Tools If you add or edit a navigation tool, an input mask, as shown in the screenshot below, appears. The tool identifier is filled automatically, if you change it, remember that it is unique in the current storage. Also, choose a valid surface for every tool, this is nessesary for correct tool visualization. By default, a cone is displayed. The other information depends on the tracking system type, e.g. choose a tool file for the Polaris or the MicronTracker system and type in a serial number for the Aurora system. Two identical tools with the same serial number are also possible, they are assigned by the order in which they are attached to the device. As long as they also have the same surface as representation, this should not be a problem for most of the use cases. The tool type is additional information which is not needed by the tracking device but might be needed by further IGT applications. The same applies to the tool landmarks which might be defined for a tool. There are two different types of landmarks which are designed as described here:
  • Tool Calibration Landmarks: These landmarks may be used clearly define the tools pose only by using landmarks in the tool coordinate system. E.g., two landmarks for a 5DoF tool and three landmarks for a 6DoF tool. These landmarks may be used, e.g., for a point based registration of a tool from image space to tracking space.
  • Tool Registration Landmarks: These landmarks are designed for representing defined landmarks on a tools surface. The number of these landmarks might exeed the number of tool calibration landmarks for reasons of redundancy and averaging. They are used for, e.g., manually registering the pose of a tool by visual markers in a CT scan. If you would use these landmarks to do a point based registration from image space to tracking space later, you might overweight the tool because of two many landmarks compared to other markers.
\imageMacro{QmitkIGTTracking_NavigationToolManagementAddTool.png,"Screenshot of add/edit navigation tool screen",9.19} -Return to the Tutorial Step: \ref IGTTutorialStepPluginIntroduction +Return to the overview of the IGT Tracking Plugin views: \ref org_mitk_gui_qt_igttracking */ \ No newline at end of file diff --git a/Plugins/org.mitk.gui.qt.igttracking/documentation/UserManual/QmitkMITKIGTTrackingToolbox.dox b/Plugins/org.mitk.gui.qt.igttracking/documentation/UserManual/QmitkMITKIGTTrackingToolbox.dox index 3607db9596..1c12deb934 100644 --- a/Plugins/org.mitk.gui.qt.igttracking/documentation/UserManual/QmitkMITKIGTTrackingToolbox.dox +++ b/Plugins/org.mitk.gui.qt.igttracking/documentation/UserManual/QmitkMITKIGTTrackingToolbox.dox @@ -1,93 +1,93 @@ /** \page org_mitk_views_igttrackingtoolbox The MITK-IGT Tracking Toolbox \imageMacro{../resources/iconTrackingToolbox.png,"Icon of the MITK-IGT Tracking Toolbox",2.00} \tableofcontents \section QmitkMITKIGTTrackingToolboxIntroduction Introduction The MITK-IGT Tracking Toolbox is a view which allows you to connect to a tracking device, track and visualize navigation tools and write the tracked data into a log file. -This page gives an overview of the view and is at the same time part of the IGT tutorial step \ref IGTTutorialStepPluginIntroduction. All parts containing instructions +This page gives an overview of the view and is at the same time part of the IGT tutorial step \ref org_mitk_gui_qt_igttracking. All parts containing instructions for the tutorial begin with the bold printed label Tutorial. \imageMacro{QmitkIGTTracking_ScreenshotMitk.png,"MITK Screenshot with the TrackingToolbox activated",16.00} \section QmitkMITKIGTTrackingToolboxWorkflow General workflow Introduction Currently the devices Polaris, Aurora (both Northern Digital Inc. (NDI); Waterloo, Ontario, Canada), MicronTracker (Claron Technology, Inc.; Toronto, Ontario, Canada) and Optitrack (NaturalPoint) are supported (see Hardware Tracking Device Support). Different tracking hardware can be used via OpenIGTLink connections (see \ref IGTTutorialStepOpenIGTLink "Open IGT Link tutorial" ). For this Tracking Toolbox tutorial, we will use a virtual tracking device, which allows you to use simulated tracking data. This is very helpful if you want to test or implement some tracking application and don't have the hardware always available. A general Workflow with the Tracking Toolbox may be:
  • Configuration of a tracking device
  • Adding or loading a toolfile which holds tool definitions
  • Start tracking
  • Logging tracked data
Tutorial: In the following sections, we will get familiar with each of these points using the Virtual Tracking Device. \section QmitkMITKIGTTrackingToolboxConnecting Tracking Device Configuration The tracking device can be specified in the tracking device configuration section located in the upper area of the tracking tab. As shown in the screenshot below, you choose your tracking device in the drop down menu. If you use a real tracking system, you might need to set some parameters like the serial port for Aurora or Polaris or the host name for your OpenIGTLink connection. Most implemented tracking device include an option to test your conection. Therefore you just need to press the button "test connection". The results are displayed in the small black box on the right. Tutorial: For a first introduction, please select the virtual tracking device in the drop-down-menu. You should see an option to add some jittering to the simulated data. \imageMacro{QmitkIGTTracking_ConfigurationWidget.png,"Tracking Device Configuration",8.55} \section Tracking Tools For tracking, you need information about your tools. You can either add single tools, load previously created tool storages or for some devices auto-detect all available tools. The best way to edit tools after creation/loading is \ref org_mitk_views_igtnavigationtoolmanager view. Creation of new tools or loading of existing tool storages can be done within the Tracking Tool Widget \imageMacro{QmitkIGTTracking_NavigationToolManagement_TrackingTools.png, "The tracking tool widget for adding or loading tools.",9.00} All added or loaded tools will then be displayed in grey as shown in the screenshot below. If you start tracking they will become green if the tools were found and red if they were not found inside the tracking volume. \imageMacro{QmitkIGTTracking_TrackingToolsWidget.png,"Added Tracking Tools",9.08} \subsection QmitkMITKIGTTrackingToolboxAddingTools Adding tools The most simple step to begin with is to add new tools with this widget. The same widget is also available within \ref org_mitk_views_igtnavigationtoolmanager view and the single parameters are explained there in more detail. \imageMacro{QmitkIGTTracking_NavigationToolManagementAddTool.png,"Adding a new tool", 9.00} Tutorial: Please click the "Add single tool" button and make sure, that the Virtual Tracker is selected in the drop-down-menu (the tracking device configured in the first step must always match your tools!). You might want to give your tool a new name in the "Basic Information" section and load a surface for visualization in the "Tool Visualization" section (a surface file can be found in your binary folder if you did compile MITK by yourself: MITK-superbuild\MITK-Data\IGT-Data\ClaronTool.stl). If you don't have any surface data, you can just select "use simple cone". Click on "Finished" and repeat this step to add a second tool. \subsection QmitkMITKIGTTrackingToolboxLoadingTools Loading tools To load tools which can be tracked you need a predefined tracking tool storage. You can use the MITK \ref org_mitk_views_igtnavigationtoolmanager view to define a navigation tool storage or to save the tools created within the last step in a toolstorage. Navigation tool storages can be loaded by pressing the button "Load Tools". Please ensure that the tracking device type of the tools matches the chosen tracking device, otherwise you will get an error message if you try to start tracking. \subsection QmitkMITKIGTTrackingToolboxAutoDetection Auto detection of tools (only Aurora) If you use the Aurora system you also have the possibility to automatically detect the connected tools. In this case a tracking tool storage is created by the software. In the Tracking Device Configuration widget, a button "Auto Detection" appears. If you press this button the software connects to the system and automatically detects all connected tools. You will then be asked whether you want to save the detected tools as a tool storage to the hard drive. You might want to do this if you want to use or modify this tool storage later. In the automatically detected tool storage the tools are named AutoDetectedTools1, AutoDetectedTools2, and so on. Small spheres are used as tool surfaces. After autodetection the detected tools are loaded automatically even if you did not save them. \section QmitkMITKIGTTrackingToolboxStartTracking Start/stop tracking To start tracking, you first need to connect to your tracking device ("connect" button). If your tools or tool storage don't match the tracking device or if no connection can be established, this might give an error message here. \imageMacro{QmitkIGTTracking_TrackingControl.png,"Tracking Control to start tracking.", 9.00} If connected succesfully, the start tracking button is enabled. As soon as you clicked this button, the tool information and tools will be highlighted red or green (un-/successful tracking) and in case of successful tracking, it's position will be updated and the tools are visualized in the 3D view of MITK. Note that options may not be changed after connecting the tracking device. You can start, freeze, unfreeze and stop the tracking as long as you are connected. If you want to finish your tracking, please stop an disconnect your tracking device. Tutorial: Please click "connect" and "start tracking". Both tools should move within the tracking volume, the position data should be updated in the tool widget and be highlighted green. You can freeze, unfreeze and stop/restart the tracking as often as you like. When finished, please stop and disconnect. \section QmitkMITKIGTTrackingOptions Options In the options tab you can enable or disable the visualization of the tracking volume and of the tool quaternions. If enabled, the tool quaternions are shown in the tool information. You can also define the update rate of the tracking data. The update rate should not be set higher than the update rate of the tracking system. Other options might be available here depending on the newest developement within MITK-IGT. \imageMacro{QmitkIGTTracking_Options.png,"Recorded logging data.", 9.00} \section QmitkMITKIGTTrackingToolboxLogging Logging features The logging feature of the Tracking Toolbox supports logging in XML or CSV format. If your device is tracking, you are able to log the tracking data by using the logging tab. You first must define a file name. You can then choose whether you want comma seperated (csv) or xml format. Press "Start Logging" to start logging. You can also limit the number of logged frames, which will cause the logging to stop automatically after the given number. \imageMacro{QmitkIGTTracking_LoggingWidget.png,"Tracking options.", 9.00} Tutorial: Please connect and start tracking as you already did in the last step, switch to the logging tab, specify a csv file and start logging for a view seconds. Stop the tracking after a short period of time. You should now find the specified file which should look similar to the following screenshot and contain position data for both tools: \imageMacro{QmitkIGTTracking_LogFile.png,"Recorded logging data.", 9.00} -Return to the Tutorial Step: \ref IGTTutorialStepPluginIntroduction +Return to the overview of the IGT Tracking Plugin views: \ref org_mitk_gui_qt_igttracking */ \ No newline at end of file diff --git a/Plugins/org.mitk.gui.qt.igttracking/documentation/UserManual/QmitkNavigationDataPlayer.dox b/Plugins/org.mitk.gui.qt.igttracking/documentation/UserManual/QmitkNavigationDataPlayer.dox index 2cad750c6d..24acaf66d1 100644 --- a/Plugins/org.mitk.gui.qt.igttracking/documentation/UserManual/QmitkNavigationDataPlayer.dox +++ b/Plugins/org.mitk.gui.qt.igttracking/documentation/UserManual/QmitkNavigationDataPlayer.dox @@ -1,29 +1,29 @@ /** \page org_mitk_views_navigationdataplayer The NavigationData Player \imageMacro{../resources/iconTrackingDataPlayer.png,"Icon of the NavigationData Player",2.00} \tableofcontents \section NavigationDataPlayerOverview The navigation data player plays recorded or artificial navigation data of one ore more tracking tools and visualizes their trajectory. It can also make the data available als a NavigationDataSource to Plugins that require a stream of tracking data, without having to create a tracking device. \imageMacro{QmitkIGTTracking_NavigationDataPlayer.png, "The Navigation Data Player", 7} To use it, select a set of recorded navigation data using the "Open File" button. The Player will show the number of tools and the number of frames in the file. Select the sequential player if you want to play the data with a specified tempo (set the update Interval accordingly). Use the Time-based player to play the data in the speed they were originally acquired in.
  • Check "Repeat" to repeat the data as a loop indefinitely.
  • Check "Register as Microservice" to make the data available as a microservice TrackingDataSource. Other Filters can then be connected to it from other plugins. This is useful for development purposes or to replay previously recorded Situations.
  • Check "Display" to render the data in the render Window.
Tutorial: As part of the IGT tutorial, you might try to replay your recorded data from step \ref org_mitk_views_igttrackingtoolbox. You should see two spheric tools moving within the tracking volume. Note that the tool storage is not included in the navigation data player at the moment, and hence all tools are represented as spheres. -Return to the Tutorial Step: \ref IGTTutorialStepPluginIntroduction +Return to the overview of the IGT Tracking Plugin views: \ref org_mitk_gui_qt_igttracking */ \ No newline at end of file