DiffractionExperiment: Clean-up Compression and UnitCell

This commit is contained in:
2023-11-13 16:56:33 +01:00
parent 2f87b4c1b1
commit e85988dfa2
15 changed files with 172 additions and 164 deletions
+8 -8
View File
@@ -227,14 +227,14 @@ TEST_CASE("JFjochZstdCompressor_Frame_ones","[ZSTD]") {
TEST_CASE("JFJochCompressor_JFJochDecompressor_ZSTD","[ZSTD]") {
DiffractionExperiment x(DetectorGeometry(8, 2, 8, 36));
x.Compression(JFJochProtoBuf::BSHUF_ZSTD).FPGAOutputMode(JFJochProtoBuf::INT32);
x.Compression(CompressionAlgorithm::BSHUF_ZSTD).FPGAOutputMode(JFJochProtoBuf::INT32);
std::vector<int32_t> image(x.GetPixelsNum());
for (auto &i: image)
i = 345;
JFJochBitShuffleCompressor compressor(x.GetCompressionAlgorithmEnum());
JFJochBitShuffleCompressor compressor(x.GetCompressionAlgorithm());
std::vector<char> tmp(x.GetPixelsNum() * sizeof(int32_t) * 4 + 12);
@@ -242,21 +242,21 @@ TEST_CASE("JFJochCompressor_JFJochDecompressor_ZSTD","[ZSTD]") {
tmp.resize(tmp_size);
std::vector<int32_t> output;
REQUIRE_NOTHROW(JFJochDecompress(output, x.GetCompressionAlgorithmEnum(), tmp, x.GetPixelsNum()));
REQUIRE_NOTHROW(JFJochDecompress(output, x.GetCompressionAlgorithm(), tmp, x.GetPixelsNum()));
REQUIRE(output.size() == x.GetPixelsNum() * x.GetPixelDepth());
REQUIRE(memcmp(image.data(), output.data(), x.GetPixelsNum() * sizeof(int32_t)) == 0);
}
TEST_CASE("JFJochCompressor_JFJochDecompressor_LZ4","[ZSTD]") {
DiffractionExperiment x(DetectorGeometry(8, 2, 8, 36));
x.Compression(JFJochProtoBuf::BSHUF_LZ4).FPGAOutputMode(JFJochProtoBuf::INT32);
x.Compression(CompressionAlgorithm::BSHUF_LZ4).FPGAOutputMode(JFJochProtoBuf::INT32);
std::vector<int32_t> image(x.GetPixelsNum());
for (auto &i: image)
i = 5678;
JFJochBitShuffleCompressor compressor(x.GetCompressionAlgorithmEnum());
JFJochBitShuffleCompressor compressor(x.GetCompressionAlgorithm());
std::vector<char> tmp(x.GetPixelsNum() * sizeof(int32_t) * 4 + 12);
@@ -264,21 +264,21 @@ TEST_CASE("JFJochCompressor_JFJochDecompressor_LZ4","[ZSTD]") {
tmp.resize(tmp_size);
std::vector<int32_t> output;
REQUIRE_NOTHROW(JFJochDecompress(output, x.GetCompressionAlgorithmEnum(), tmp, x.GetPixelsNum()));
REQUIRE_NOTHROW(JFJochDecompress(output, x.GetCompressionAlgorithm(), tmp, x.GetPixelsNum()));
REQUIRE(output.size() == x.GetPixelsNum() * x.GetPixelDepth());
REQUIRE(memcmp(image.data(), output.data(), x.GetPixelsNum() * sizeof(int32_t)) == 0);
}
TEST_CASE("JFJochDecompressor_None","[ZSTD]") {
DiffractionExperiment x(DetectorGeometry(8, 2, 8, 36));
x.Compression(JFJochProtoBuf::NO_COMPRESSION).FPGAOutputMode(JFJochProtoBuf::INT32);
x.Compression(CompressionAlgorithm::NO_COMPRESSION).FPGAOutputMode(JFJochProtoBuf::INT32);
std::vector<int32_t> image(x.GetPixelsNum());
for (auto &i: image)
i = 578;
std::vector<int32_t> output;
REQUIRE_NOTHROW(JFJochDecompress(output, x.GetCompressionAlgorithmEnum(), image, x.GetPixelsNum()));
REQUIRE_NOTHROW(JFJochDecompress(output, x.GetCompressionAlgorithm(), image, x.GetPixelsNum()));
REQUIRE(output.size() == x.GetPixelsNum() * x.GetPixelDepth());
REQUIRE(memcmp(image.data(), output.data(), x.GetPixelsNum() * sizeof(int32_t)) == 0);
}