MITK-IGT
IGT Extension of MITK
Loading...
Searching...
No Matches
mitkToFCameraPMDRawDataCamCubeDeviceTest.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 <mitkTestingMacros.h>
15
16// vtk includes
17#include <vtkShortArray.h>
18#include <vtkSmartPointer.h>
19
23int mitkToFCameraPMDRawDataCamCubeDeviceTest(int /* argc */, char* /*argv*/[])
24{
25 MITK_TEST_BEGIN("ToFCameraPMDRawDataCamCubeDevice");
26
27 mitk::ToFCameraPMDRawDataCamCubeDevice::Pointer rawDataCamCubeDevice = mitk::ToFCameraPMDRawDataCamCubeDevice::New();
28 //try if hardware is connected
29 try
30 {
31 // No hardware attached for automatic testing -> test correct error handling
32 MITK_TEST_CONDITION_REQUIRED(rawDataCamCubeDevice->ConnectCamera(), "Test ConnectCamera()");
33 MITK_TEST_CONDITION_REQUIRED(!rawDataCamCubeDevice->IsCameraActive(), "Test IsCameraActive() before StartCamera()");
34 MITK_TEST_OUTPUT(<<"Call StartCamera()");
35 rawDataCamCubeDevice->StartCamera();
36 MITK_TEST_CONDITION_REQUIRED(rawDataCamCubeDevice->IsCameraActive(), "Test IsCameraActive() after StartCamera()");
37 MITK_TEST_OUTPUT(<<"Call UpdateCamera()");
38 rawDataCamCubeDevice->UpdateCamera();
39 int numberOfPixels = rawDataCamCubeDevice->GetCaptureWidth()*rawDataCamCubeDevice->GetCaptureHeight();
40 MITK_INFO<<numberOfPixels;
41 float* distances = new float[numberOfPixels];
42 float* amplitudes = new float[numberOfPixels];
43 float* intensities = new float[numberOfPixels];
44 char* sourceData = new char[numberOfPixels];
45 short* shortSource = new short[numberOfPixels];
46 int requiredImageSequence = 0;
47 int imageSequence = 0;
49 rawDataCamCubeDevice->GetChannelSourceData(shortSource, vtkArray);
50 MITK_TEST_CONDITION_REQUIRED(rawDataCamCubeDevice->GetChannelSize()!=0, "Test if channelsize is set!");
51 MITK_TEST_CONDITION_REQUIRED(vtkArray->GetNumberOfTuples()== 4, "Check channel data processing!");
52 vtkArray->Delete();
53
54 rawDataCamCubeDevice->GetDistances(distances,imageSequence);
55 rawDataCamCubeDevice->GetAmplitudes(amplitudes,imageSequence);
56 rawDataCamCubeDevice->GetIntensities(intensities,imageSequence);
57 rawDataCamCubeDevice->GetAllImages(distances,amplitudes,intensities,sourceData,requiredImageSequence,imageSequence);
58 MITK_TEST_CONDITION_REQUIRED(rawDataCamCubeDevice->IsCameraActive(), "Test IsCameraActive() before StopCamera()");
59 MITK_TEST_OUTPUT(<<"Call StopCamera()");
60 rawDataCamCubeDevice->StopCamera();
61 MITK_TEST_CONDITION_REQUIRED(!rawDataCamCubeDevice->IsCameraActive(), "Test IsCameraActive() after StopCamera()");
62
63 MITK_TEST_CONDITION_REQUIRED(rawDataCamCubeDevice->DisconnectCamera(), "Test DisonnectCamera()");
64 delete[] distances;
65 delete[] amplitudes;
66 delete[] intensities;
67 delete[] sourceData;
68 delete[] shortSource;
69 }
70 catch(std::exception &e)
71 {
72 MITK_INFO << e.what();
73 MITK_TEST_CONDITION_REQUIRED(rawDataCamCubeDevice->IsCameraActive()==false, "Testing that no connection could be established.");
74 }
75
76 MITK_TEST_END();
77}
int mitkToFCameraPMDRawDataCamCubeDeviceTest(int, char *[])