58 std::string dirName = MITK_TOF_DATA_DIR;
60 std::string depthImagePath = dirName +
"/" +
"Kinect_Lego_Phantom_DistanceImage.nrrd";
61 std::string colorImagePath = dirName +
"/" +
"Kinect_Lego_Phantom_RGBImage.nrrd";
62 std::string distanceImageP = dirName +
"/" +
"PMDCamCube2_MF0_IT0_1Images_DistanceImage.nrrd";
63 std::string amplitudeImage = dirName +
"/" +
"PMDCamCube2_MF0_IT0_1Images_AmplitudeImage.nrrd";
64 std::string intensityImage = dirName +
"/" +
"PMDCamCube2_MF0_IT0_1Images_IntensityImage.nrrd";
66 m_KinectDepthImagePath = GetTestDataFilePath(depthImagePath);
67 m_KinectColorImagePath = GetTestDataFilePath(colorImagePath);
68 m_CamCubeDepthImagePath = GetTestDataFilePath(distanceImageP);
69 m_CamCubeIntensityImagePath = GetTestDataFilePath(amplitudeImage);
70 m_CamCubeAmplitudeImagePath = GetTestDataFilePath(intensityImage);
72 m_ToFImageGrabber = mitk::ToFImageGrabber::New();
75 mitk::ToFCameraMITKPlayerDevice::Pointer tofCameraMITKPlayerDevice = mitk::ToFCameraMITKPlayerDevice::New();
76 m_ToFImageGrabber->SetCameraDevice(tofCameraMITKPlayerDevice);
95 int modulationFrequency = 20;
96 m_ToFImageGrabber->SetModulationFrequency(modulationFrequency);
97 CPPUNIT_ASSERT(modulationFrequency==m_ToFImageGrabber->GetModulationFrequency());
99 int integrationTime = 500;
100 m_ToFImageGrabber->SetIntegrationTime(integrationTime);
101 CPPUNIT_ASSERT(integrationTime==m_ToFImageGrabber->GetIntegrationTime());
114 m_ToFImageGrabber->SetProperty(
"DistanceImageFileName",mitk::StringProperty::New(m_KinectDepthImagePath));
115 m_ToFImageGrabber->SetProperty(
"RGBImageFileName",mitk::StringProperty::New(m_KinectColorImagePath));
118 CPPUNIT_ASSERT(m_ToFImageGrabber->ConnectCamera() ==
true);
125 m_ToFImageGrabber->SetProperty(
"DistanceImageFileName",mitk::StringProperty::New(m_KinectDepthImagePath));
127 m_ToFImageGrabber->ConnectCamera();
128 m_ToFImageGrabber->StartCamera();
129 mitk::Image::Pointer expectedResultImage = mitk::IOUtil::Load<mitk::Image>(m_KinectDepthImagePath);
131 m_ToFImageGrabber->Update();
134 mitk::ImageSliceSelector::Pointer selector = mitk::ImageSliceSelector::New();
135 selector->SetSliceNr(0);
136 selector->SetTimeNr(0);
137 selector->SetInput( m_ToFImageGrabber->GetOutput(0) );
139 mitk::Image::Pointer distanceImage = selector->GetOutput(0);
141 MITK_ASSERT_EQUAL( expectedResultImage, distanceImage,
"Test data is 2D. Results should be equal.");
143 catch(std::exception &e)
145 MITK_ERROR << e.what();
151 m_ToFImageGrabber->SetProperty(
"DistanceImageFileName",mitk::StringProperty::New(m_KinectDepthImagePath));
152 m_ToFImageGrabber->SetProperty(
"RGBImageFileName",mitk::StringProperty::New(m_KinectColorImagePath));
154 m_ToFImageGrabber->ConnectCamera();
155 CPPUNIT_ASSERT(m_ToFImageGrabber->IsCameraActive() ==
false);
156 m_ToFImageGrabber->StartCamera();
157 CPPUNIT_ASSERT(m_ToFImageGrabber->IsCameraActive() ==
true);
158 m_ToFImageGrabber->StopCamera();
159 CPPUNIT_ASSERT(m_ToFImageGrabber->IsCameraActive() ==
false);
160 m_ToFImageGrabber->StartCamera();
161 CPPUNIT_ASSERT(m_ToFImageGrabber->IsCameraActive() ==
true);
162 m_ToFImageGrabber->StopCamera();
163 CPPUNIT_ASSERT(m_ToFImageGrabber->IsCameraActive() ==
false);
165 m_ToFImageGrabber->DisconnectCamera();
166 CPPUNIT_ASSERT(m_ToFImageGrabber->IsCameraActive() ==
false);
171 m_ToFImageGrabber->SetProperty(
"DistanceImageFileName",mitk::StringProperty::New(m_CamCubeDepthImagePath));
172 m_ToFImageGrabber->SetProperty(
"AmplitudeImageFileName",mitk::StringProperty::New(m_CamCubeAmplitudeImagePath));
173 m_ToFImageGrabber->SetProperty(
"IntensityImageFileName",mitk::StringProperty::New(m_CamCubeIntensityImagePath));
175 m_ToFImageGrabber->ConnectCamera();
176 m_ToFImageGrabber->StartCamera();
177 m_ToFImageGrabber->Update();
179 CPPUNIT_ASSERT( m_ToFImageGrabber->GetBoolProperty(
"HasAmplitudeImage") ==
true);
180 CPPUNIT_ASSERT( m_ToFImageGrabber->GetBoolProperty(
"HasIntensityImage") ==
true);
181 CPPUNIT_ASSERT( m_ToFImageGrabber->GetOutput(1) !=
nullptr );
182 CPPUNIT_ASSERT( m_ToFImageGrabber->GetOutput(2) !=
nullptr );