28 MITK_TEST_BEGIN(
"mitkPlayerLoadAndRenderDepthDataTest");
32 mitk::ToFCameraMITKPlayerDevice::Pointer playerDevice = mitk::ToFCameraMITKPlayerDevice::New();
34 MITK_TEST_CONDITION_REQUIRED(argc >=2,
"Testing if enough input parameters are set. Usage: Testname, ImageName (must be in MITK_TOF_DATA_DIR), -V /path/to/reference/screenshot");
35 std::string dirname = MITK_TOF_DATA_DIR;
36 std::string distanceFileName = dirname +
"/" + argv[1];
37 playerDevice->SetProperty(
"DistanceImageFileName",mitk::StringProperty::New(distanceFileName));
39 for (
int i = 0; i < argc; ++i)
42 MITK_TEST_CONDITION_REQUIRED(playerDevice->IsCameraActive()==
false,
"The device (player) should not be active before starting.");
43 MITK_TEST_CONDITION_REQUIRED(playerDevice->ConnectCamera()==
true,
"ConnectCamera() should return true in case of success.");
44 MITK_TEST_OUTPUT(<<
"Device connected");
45 playerDevice->StartCamera();
46 MITK_TEST_OUTPUT(<<
"Device started");
47 MITK_TEST_CONDITION_REQUIRED(playerDevice->IsCameraActive()==
true,
"After starting the device, the device should be active.");
50 unsigned int captureWidth = playerDevice->GetCaptureWidth();
51 unsigned int captureHeight = playerDevice->GetCaptureHeight();
52 unsigned int numberOfPixels = captureWidth*captureHeight;
53 float* distances =
new float[numberOfPixels];
54 int imageSequence = 0;
57 playerDevice->GetDistances(distances,imageSequence);
60 unsigned int dimension[2];
61 dimension[0] = captureWidth;
62 dimension[1] = captureHeight;
63 mitk::Image::Pointer mitkDepthImage = mitk::Image::New();
64 mitkDepthImage->Initialize(mitk::PixelType(mitk::MakeScalarPixelType<float>()), 2, dimension,1);
65 mitkDepthImage->SetSlice(distances);
68 mitk::DataNode::Pointer node = mitk::DataNode::New();
69 node->SetData(mitkDepthImage);
75 mitk::RenderingTestHelper renderingHelper(640, 480, argc, argv);
76 renderingHelper.AddNodeToStorage(node);
79 bool generateReferenceScreenshot =
false;
80 if(generateReferenceScreenshot)
82 renderingHelper.SaveReferenceScreenShot(
"/home/kilgus/Pictures/output.png");
86 MITK_TEST_CONDITION( renderingHelper.CompareRenderWindowAgainstReference(argc, argv) ==
true,
"CompareRenderWindowAgainstReference test result positive?" );
89 itksys::SystemTools::Delay(1000);
90 playerDevice->StopCamera();
91 MITK_TEST_OUTPUT(<<
"Device stopped");
92 MITK_TEST_CONDITION_REQUIRED(playerDevice->IsCameraActive()==
false,
"After stopping the device, the device should be inactive.");
93 MITK_TEST_CONDITION_REQUIRED(playerDevice->DisconnectCamera()==
true,
"DisconnectCamera() should return true in case of success.");
94 MITK_TEST_OUTPUT(<<
"Device disconnected");
97 catch(std::exception &e)
99 MITK_ERROR <<
"Unknown exception occured: " << e.what();