33 mitk::USVideoDevice::Pointer usDevice = mitk::USVideoDevice::New(
"IllegalPath",
"Manufacturer",
"Model");
34 mitk::VirtualTrackingDevice::Pointer tracker = mitk::VirtualTrackingDevice::New();
35 tracker->AddTool(
"tool1");
36 tracker->AddTool(
"tool2");
37 mitk::TrackingDeviceSource::Pointer source = mitk::TrackingDeviceSource::New();
38 source->SetTrackingDevice(tracker);
40 source->StartTracking();
41 return mitk::USCombinedModality::New(usDevice.GetPointer(), source.GetPointer(),
false);
54 mitk::AffineTransform3D::MatrixType matrix;
55 matrix[0][0] = 1.1234;
56 matrix[0][1] = 1.2234;
57 matrix[0][2] = 1.3234;
58 matrix[1][0] = 1.4234;
59 matrix[1][1] = 1.5234;
60 matrix[1][2] = 1.6234;
61 matrix[2][0] = 1.7234;
62 matrix[2][1] = 1.8234;
63 matrix[2][2] = 1.9234;
65 mitk::AffineTransform3D::OffsetType offset;
70 mitk::AffineTransform3D::Pointer transform = mitk::AffineTransform3D::New();
71 transform->SetMatrix(matrix);
72 transform->SetOffset(offset);
74 modality->SetCalibration(transform);
76 const auto xmlString = modality->SerializeCalibration();
78 otherModality->DeserializeCalibration(xmlString);
79 auto calibration = otherModality->GetCalibration();
80 const auto& otherMatrix = calibration->GetMatrix();
81 const auto& otherOffset = calibration->GetOffset();
83 bool identical =
true;
85 for (
size_t i = 0; i < 3; ++i)
87 for (
size_t j = 0; j < 3; ++j)
102 for (
size_t i = 0; i < 3; ++i)
112 MITK_TEST_CONDITION_REQUIRED(identical,
"Testing if deserialized calibration is identical to serialized one...");
115 MITK_TEST_FOR_EXCEPTION(mitk::Exception, modality->DeserializeCalibration(
"invalid-string"));
116 MITK_TEST_FOR_EXCEPTION(mitk::Exception, modality->DeserializeCalibration(
"<xml><test></xml>",
false));
126 mitk::USVideoDevice::Pointer usDevice = mitk::USVideoDevice::New(
"IllegalPath",
"Manufacturer",
"Model");
127 mitk::VirtualTrackingDevice::Pointer tracker = mitk::VirtualTrackingDevice::New();
128 tracker->AddTool(
"tool1");
129 tracker->AddTool(
"tool2");
130 mitk::TrackingDeviceSource::Pointer source = mitk::TrackingDeviceSource::New();
131 source->SetTrackingDevice(tracker);
133 source->StartTracking();
134 mitk::USCombinedModality::Pointer modality = mitk::USCombinedModality::New(usDevice.GetPointer(), source.GetPointer(),
false);
136 MITK_TEST_CONDITION(source->GetOutput(0) == modality->GetNavigationDataSource()->GetOutput(0),
137 "Navigation data output of the Combined Modality should be the same as the source output as no filters are active.")
139 modality->SetNumberOfSmoothingValues(2);
141 mitk::NavigationDataSource::Pointer smoothingFilter = modality->GetNavigationDataSource();
142 MITK_TEST_CONDITION(source->GetOutput(0) != smoothingFilter->GetOutput(0),
143 "Navigation data output of the Combined Modality should be different to the source output as smoothing filter is active.")
145 modality->SetNumberOfSmoothingValues(0);
146 MITK_TEST_CONDITION(source->GetOutput(0) == modality->GetNavigationDataSource()->GetOutput(0),
147 "Navigation data output of the Combined Modality should be the same as the source output again.")
149 modality->SetDelayCount(5);
150 MITK_TEST_CONDITION(source->GetOutput(0) != smoothingFilter->GetOutput(0),
151 "Navigation data output of the Combined Modality should be different to the source output as delay filter is active.")
153 modality->SetDelayCount(0);
154 MITK_TEST_CONDITION(source->GetOutput(0) == modality->GetNavigationDataSource()->GetOutput(0),
155 "Navigation data output of the Combined Modality should be the same as the source output again.")