MITK-IGT
IGT Extension of MITK
Loading...
Searching...
No Matches
mitkTrackingDeviceTest.cpp
Go to the documentation of this file.
1/*============================================================================
2
3The Medical Imaging Interaction Toolkit (MITK)
4
5Copyright (c) German Cancer Research Center (DKFZ)
6All rights reserved.
7
8Use of this source code is governed by a 3-clause BSD license that can be
9found in the LICENSE file.
10
11============================================================================*/
12
13#include "mitkTrackingDevice.h"
14#include "mitkTestingMacros.h"
15#include "mitkTrackingTool.h"
16#include "mitkTrackingTypes.h"
17
18#include "mitkCommon.h"
19
20#include <itkObject.h>
21#include <itkObjectFactory.h>
22
23#include <usModuleContext.h>
24#include <usGetModuleContext.h>
25#include <usModule.h>
26#include <usModuleResource.h>
27#include <usModuleResourceStream.h>
28
31
32//All Tracking devices, which should be avaiable by default
43{
44public:
45
48 itkCloneMacro(Self)
49
50 bool OpenConnection() override{return true;};
51 bool CloseConnection() override{return true;};
52 bool StartTracking() override{this->SetState(Tracking); return true;};
53 mitk::TrackingTool* GetTool(unsigned int /*toolNumber*/) const override {return nullptr;};
54 unsigned int GetToolCount() const override {return 1;};
55};
56
62int mitkTrackingDeviceTest(int /* argc */, char* /*argv*/[])
63{
64 MITK_TEST_BEGIN("TrackingDevice");
65
66 mitk::TrackingDeviceTypeCollection deviceTypeCollection;
68 deviceTypeCollection.RegisterAsMicroservice();
69
73
74 // Test instantiation of TrackingDevice
75 TrackingDeviceTestClass::Pointer trackingDeviceTestClass = TrackingDeviceTestClass::New();
76 MITK_TEST_CONDITION(trackingDeviceTestClass.IsNotNull(),"Test instatiation");
77
78 // Test method GetState()
79 MITK_TEST_CONDITION(trackingDeviceTestClass->GetState()==mitk::TrackingDevice::Setup,"Mode should be initialized to SETUP");
80
81 // Test method SetType()
82 MITK_TEST_CONDITION(trackingDeviceTestClass->GetType()==mitk::UnspecifiedTrackingTypeInformation::GetTrackingDeviceName(),"Type should be initialized to 'not specified'");
83 trackingDeviceTestClass->SetType(mitk::NDIAuroraTypeInformation::GetTrackingDeviceName());
84 MITK_TEST_CONDITION(trackingDeviceTestClass->GetType() == mitk::NDIAuroraTypeInformation::GetTrackingDeviceName(), "Type should be NDIAurora, as it has just been set");
85 trackingDeviceTestClass->SetType(mitk::NDIPolarisTypeInformation::GetTrackingDeviceName());
86 MITK_TEST_CONDITION(trackingDeviceTestClass->GetType() == mitk::NDIPolarisTypeInformation::GetTrackingDeviceName(), "Type should be NDIPolaris, as it has just been set");
87 trackingDeviceTestClass->SetType(mitk::MicronTrackerTypeInformation::GetTrackingDeviceName());
88 MITK_TEST_CONDITION(trackingDeviceTestClass->GetType() == mitk::MicronTrackerTypeInformation::GetTrackingDeviceName(), "Type should be ClaronMicron, as it has just been set");
89 trackingDeviceTestClass->SetType(mitk::VirtualTrackerTypeInformation::GetTrackingDeviceName());
90 MITK_TEST_CONDITION(trackingDeviceTestClass->GetType() == mitk::VirtualTrackerTypeInformation::GetTrackingDeviceName(), "Type should be VirtualTracker, as it has just been set");
91
92 // Test method StopTracking()
93 trackingDeviceTestClass->StartTracking();
94 trackingDeviceTestClass->StopTracking();
95 MITK_TEST_CONDITION(trackingDeviceTestClass->GetState()== mitk::TrackingDevice::Ready,"Type should be NDIAurora, as it has just been set");
96
98 == mitk::VirtualTrackerTypeInformation::GetTrackingDeviceName(), "Test GetTrackingDeviceTypeInformation");
99
101 == "Virtual Tracker", "Test GetTrackingDeviceTypeInformation");
102
103 std::vector<std::string> names = deviceTypeCollection.GetTrackingDeviceTypeNames();
104 MITK_TEST_CONDITION(names[0] == mitk::NDIAuroraTypeInformation::GetTrackingDeviceName(), "Test collection name list");
105 MITK_TEST_CONDITION(names[1] == mitk::VirtualTrackerTypeInformation::GetTrackingDeviceName(), "Test collection name list");
106 MITK_TEST_CONDITION(names[2] == mitk::NDIPolarisTypeInformation::GetTrackingDeviceName(), "Test collection name list");
107 MITK_TEST_CONDITION(names[3] == mitk::MicronTrackerTypeInformation::GetTrackingDeviceName(), "Test collection name list");
108
109
110
111 MITK_TEST_END();
112}
unsigned int GetToolCount() const override
Returns number of tracking tools.
mitkClassMacro(TrackingDeviceTestClass, mitk::TrackingDevice)
bool CloseConnection() override
Closes the connection to the device.
bool StartTracking() override
start retrieving tracking data from the device.
itkFactorylessNewMacro(Self) itkCloneMacro(Self) bool OpenConnection() override
mitk::TrackingTool * GetTool(unsigned int) const override
Return tool with index toolNumber.
Type information for Micron Tracking Devices.
Type information for NDI Aurora.
Type information for NDI Polaris.
This class is a collection for information of all Tracking Device Types (derived from abstract Tracki...
void RegisterTrackingDeviceType(TrackingDeviceTypeInformation *typeInformation)
TrackingDeviceTypeInformation * GetTrackingDeviceTypeInformation(TrackingDeviceType type)
virtual void RegisterAsMicroservice()
Registers this object as a Microservice, making it available to every module and/or plugin....
std::vector< TrackingDeviceData > m_TrackingDeviceData
Interface for all Tracking Devices.
void SetState(TrackingDeviceState state)
change object state
virtual bool OpenConnection()=0
Opens a connection to the device.
Interface for all Tracking Tools.
Type information for a virtual tracker.
int mitkTrackingDeviceTest(int, char *[])