56 m_ToFImageRecorder = mitk::ToFImageRecorder::New();
57 m_DistanceImageName = mitk::IOUtil::CreateTemporaryFile();
58 m_AmplitudeImageName = mitk::IOUtil::CreateTemporaryFile();
59 m_IntensityImageName = mitk::IOUtil::CreateTemporaryFile();
64 m_DistanceImageName.append(
"Distance.nrrd");
65 m_AmplitudeImageName.append(
"Amplitude.nrrd");
66 m_IntensityImageName.append(
"Intensity.nrrd");
68 m_PlayerDevice = mitk::ToFCameraMITKPlayerDevice::New();
69 m_ToFImageRecorder->SetCameraDevice(m_PlayerDevice);
72 m_ToFImageRecorder->SetNumOfFrames(20);
75 std::string dirName = MITK_TOF_DATA_DIR;
76 std::string distanceFileName = dirName +
"/PMDCamCube2_MF0_IT0_20Images_DistanceImage.nrrd";
77 std::string amplitudeFileName = dirName +
"/PMDCamCube2_MF0_IT0_20Images_AmplitudeImage.nrrd";
78 std::string intensityFileName = dirName +
"/PMDCamCube2_MF0_IT0_20Images_IntensityImage.nrrd";
80 m_PlayerDevice->SetProperty(
"DistanceImageFileName",mitk::StringProperty::New(distanceFileName));
81 m_PlayerDevice->SetProperty(
"AmplitudeImageFileName",mitk::StringProperty::New(amplitudeFileName));
82 m_PlayerDevice->SetProperty(
"IntensityImageFileName",mitk::StringProperty::New(intensityFileName));
85 m_GroundTruthDepthImage = mitk::IOUtil::Load<mitk::Image>(distanceFileName);
86 m_GroundTruthAmplitudeImage = mitk::IOUtil::Load<mitk::Image>(amplitudeFileName);
87 m_GroundTruthIntensityImage = mitk::IOUtil::Load<mitk::Image>(intensityFileName);
89 m_PlayerDevice->ConnectCamera();
90 m_PlayerDevice->StartCamera();
101 m_ToFImageRecorder->SetDistanceImageFileName(m_DistanceImageName);
102 m_ToFImageRecorder->StartRecording();
103 m_ToFImageRecorder->WaitForThreadBeingTerminated();
104 m_ToFImageRecorder->StopRecording();
106 mitk::Image::Pointer recordedImage = mitk::IOUtil::Load<mitk::Image>(m_DistanceImageName);
107 MITK_ASSERT_EQUAL( m_GroundTruthDepthImage, recordedImage,
"Recorded image should be equal to the test data.");
110 if( remove( m_DistanceImageName.c_str() ) != 0 )
112 MITK_ERROR<<
"File: "<< m_DistanceImageName <<
" not successfully deleted!";
118 m_ToFImageRecorder->SetAmplitudeImageFileName(m_AmplitudeImageName);
119 m_ToFImageRecorder->SetAmplitudeImageSelected(
true);
120 m_ToFImageRecorder->SetDistanceImageSelected(
false);
121 m_ToFImageRecorder->StartRecording();
122 m_ToFImageRecorder->WaitForThreadBeingTerminated();
123 m_ToFImageRecorder->StopRecording();
125 mitk::Image::Pointer recordedImage = mitk::IOUtil::Load<mitk::Image>(m_AmplitudeImageName);
126 MITK_ASSERT_EQUAL( m_GroundTruthAmplitudeImage, recordedImage,
"Recorded image should be equal to the test data.");
129 if( remove( m_AmplitudeImageName.c_str() ) != 0 )
131 MITK_ERROR<<
"File: "<< m_AmplitudeImageName <<
" not successfully deleted!";
137 m_ToFImageRecorder->SetIntensityImageFileName(m_IntensityImageName);
138 m_ToFImageRecorder->SetIntensityImageSelected(
true);
139 m_ToFImageRecorder->SetDistanceImageSelected(
false);
140 m_ToFImageRecorder->StartRecording();
141 m_ToFImageRecorder->WaitForThreadBeingTerminated();
142 m_ToFImageRecorder->StopRecording();
144 mitk::Image::Pointer recordedImage = mitk::IOUtil::Load<mitk::Image>(m_IntensityImageName);
145 MITK_ASSERT_EQUAL( m_GroundTruthIntensityImage, recordedImage,
"Recorded image should be equal to the test data.");
148 if( remove( m_IntensityImageName.c_str() ) != 0 )
150 MITK_ERROR<<
"File: "<< m_IntensityImageName <<
" not successfully deleted!";