// SPDX-FileCopyrightText: 2024 Filip Leonarski, Paul Scherrer Institute // SPDX-License-Identifier: GPL-3.0-only #include #include #include "../preview/JFJochTIFF.h" #include "../preview/PreviewImage.h" #include "../writer/HDF5Objects.h" #include "../common/RawToConvertedGeometry.h" TEST_CASE("TIFFTest","[TIFF]") { std::vector values(512*1024); REQUIRE_NOTHROW(WriteTIFFToString(values.data(), 1024, 512, 2)); } #include TEST_CASE("TIFFTest_Write_Read","[TIFF]") { std::vector values(512*1024), values_out; for (int i = 0; i < values.size(); i++) { values[i] = (i * 17 + 2); } std::string s; REQUIRE_NOTHROW(s = WriteTIFFToString(values.data(), 1024, 512, 4)); uint32_t lines, cols; REQUIRE_NOTHROW(values_out = ReadTIFFFromString32(s, cols, lines)); REQUIRE(lines == 512); REQUIRE(cols == 1024); REQUIRE(values.size() == values_out.size()); REQUIRE(memcmp(values.data(), values_out.data(), cols * lines * sizeof(uint32_t)) == 0); } TEST_CASE("TIFFTest_File","[TIFF]") { std::vector values(512*1024); for (auto &i: values) i = 345; REQUIRE_NOTHROW(WriteTIFFToFile("test_image.tiff", values.data(), 1024, 512, 2)); } TEST_CASE("TIFFTest_File_signed","[TIFF]") { std::vector values(512 * 1024); for (int i = 0; i < values.size(); i++) values[i] = static_cast(((i % 2 == 0) ? 1 : -1) * i); REQUIRE_NOTHROW(WriteTIFFToFile("test_image_signed.tiff", values.data(), 1024, 512, 2, true)); }