RadialIntegrationTest: Add test for corrections

This commit is contained in:
2023-06-19 20:08:51 +02:00
parent 4c28d2d976
commit dd20ac2acd

View File

@@ -190,6 +190,30 @@ TEST_CASE("RadialIntegrationGPU_Process","[RadialIntegration]") {
REQUIRE(image_analysis.GetRadialIntegrationSum()[1] == 6+2);
}
TEST_CASE("RadialIntegrationGPU_Process_Corr","[RadialIntegration]") {
std::vector<uint16_t> pixel_to_bin = {0,1,2,4,3,1,2,3};
std::vector<int16_t> test_image = {7,6,5,4,3,2,1,0};
std::vector<uint8_t> one_byte_mask = {1,1,1,1,1,1,1,1};
std::vector<float> corr = {0.5f, 0.3f, 0.5f, 0.2f, 0.8f, 0.9f, 1.0f, 0.5f};
GPUImageAnalysis image_analysis(8, 1, one_byte_mask, pixel_to_bin, 4);
image_analysis.SetInputBuffer(test_image.data());
image_analysis.LoadRadialIntegrationCorr(corr);
image_analysis.LoadDataToGPU();
image_analysis.RunRadialIntegration();
REQUIRE(image_analysis.GetRadialIntegrationCount().size() == 4);
REQUIRE(image_analysis.GetRadialIntegrationSum().size() == 4);
REQUIRE(image_analysis.GetRadialIntegrationCount()[0] == 1);
REQUIRE(image_analysis.GetRadialIntegrationCount()[1] == 2);
REQUIRE(image_analysis.GetRadialIntegrationSum()[0] == Approx(7 * 0.5f));
REQUIRE(image_analysis.GetRadialIntegrationSum()[1] == Approx(6*0.3f + 2*0.9f));
REQUIRE(image_analysis.GetRadialIntegrationSum()[2] == Approx(5*0.5f + 1*1.0f));
REQUIRE(image_analysis.GetRadialIntegrationSum()[3] == Approx(3*0.8f));
}
TEST_CASE("RadialIntegrationGPU_Process_Mask","[RadialIntegration]") {
std::vector<uint16_t> pixel_to_bin = {0,1,2,4,3,1,2,3};
std::vector<int16_t> test_image = {7,6,5,4,3,2,1,0};