33 CPPUNIT_TEST_SUITE(mitkPAFilterServiceTestSuite);
35 CPPUNIT_TEST_SUITE_END();
39 mitk::PhotoacousticFilterService::Pointer m_PhotoacousticFilterService;
40 mitk::BeamformingSettings::Pointer m_BeamformingSettings;
41 unsigned int* inputDimensions;
44 const int length = yDim * xDim;
51 m_BeamformingSettings = CreateBeamformingSettings();
54 mitk::BeamformingSettings::Pointer CreateBeamformingSettings()
56 inputDimensions =
new unsigned int[length];
57 inputDimensions[0] = yDim;
58 inputDimensions[1] = xDim;
62 (
float)(0.0125 / 1000000),
68 yDim * (0.0125 / 1000000) * (1500),
71 mitk::BeamformingSettings::Apodization::Box,
73 mitk::BeamformingSettings::BeamformingAlgorithm::DAS,
77 return outputSettings;
82 float* testArray =
new float[length];
83 for (
int i = 0; i < length; ++i)
90 testImage->Initialize(pixelType, 2, inputDimensions);
91 testImage->SetImportSlice(testArray, 0, 0, 0, mitk::Image::ImportMemoryManagementType::CopyMemory);
95 const float* inputArray = (
const float*)readAccessInput.GetData();
97 for (
int i = 0; i < length; ++i)
99 CPPUNIT_ASSERT_MESSAGE(std::string(
"Input array already not correct: " + std::to_string(inputArray[i])), std::abs(inputArray[i]) < 1e-5f);
102 auto output = m_PhotoacousticFilterService->ApplyBeamforming(testImage, m_BeamformingSettings);
105 const float* outputArray = (
const float*)readAccess.GetData();
107 for (
int i = 0; i < length; ++i)
109 CPPUNIT_ASSERT_MESSAGE(std::string(
"Output array not correct: " + std::to_string(std::abs(outputArray[i]))), std::abs(outputArray[i]) < 1e-5f);
113 void tearDown()
override 115 m_PhotoacousticFilterService =
nullptr;
116 delete[] inputDimensions;
MITK_TEST_SUITE_REGISTRATION(mitkImageToItk)
#define MITK_TEST(TESTMETHOD)
Adds a test to the current test suite.
Test fixture for parameterized tests.
ImageReadAccessor class to get locked read access for a particular image part.
Class for defining the data type of pixels.