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

View File

@@ -76,7 +76,7 @@ std::string CheckDecompression(const DiffractionExperiment &x, size_t nimages, c
std::vector<uint16_t> decompress_v;
auto start_time = std::chrono::system_clock::now();
for (int i = 0; i < nimages; i++) {
JFJochDecompress(decompress_v, x.GetCompressionAlgorithmEnum(), output[i], x.GetPixelsNum());
JFJochDecompress(decompress_v, x.GetCompressionAlgorithm(), output[i], x.GetPixelsNum());
}
auto end_time = std::chrono::system_clock::now();
@@ -165,36 +165,36 @@ int main(int argc, char **argv) {
x.MaskChipEdges(false);
x.Compression(JFJochProtoBuf::NO_COMPRESSION);
x.Compression(CompressionAlgorithm::NO_COMPRESSION);
for (int i = 0; i < 3; i++)
CheckCompression(x, nimages, image, nthreads);
for (int i = 0; i <3; i++) {
x.Compression(JFJochProtoBuf::NO_COMPRESSION).Mode(DetectorMode::Raw);
x.Compression(CompressionAlgorithm::NO_COMPRESSION).Mode(DetectorMode::Raw);
std::cout << "None (memcpy) " << CheckCompression(x, nimages, image, nthreads);
x.Compression(JFJochProtoBuf::NO_COMPRESSION).Mode(DetectorMode::Conversion);
x.Compression(CompressionAlgorithm::NO_COMPRESSION).Mode(DetectorMode::Conversion);
std::cout << "None (geom transform) " << CheckCompression(x, nimages, image, nthreads);
x.Compression(JFJochProtoBuf::BSHUF_LZ4);
x.Compression(CompressionAlgorithm::BSHUF_LZ4);
std::cout << "BSHUF/LZ4 " << CheckCompression(x, nimages, image, nthreads);
x.Compression(JFJochProtoBuf::BSHUF_ZSTD);
x.Compression(CompressionAlgorithm::BSHUF_ZSTD);
std::cout << "BSHUF/ZSTD (0) " << CheckCompression(x, nimages, image, nthreads);
x.Compression(JFJochProtoBuf::BSHUF_ZSTD_RLE);
x.Compression(CompressionAlgorithm::BSHUF_ZSTD_RLE);
std::cout << "BSHUF/ZSTD (RLE) " << CheckCompression(x, nimages, image, nthreads);
std::cout << std::endl;
}
std::cout << std::endl << std::endl << "Decompression" << std::endl << std::endl;
x.Compression(JFJochProtoBuf::BSHUF_LZ4);
x.Compression(CompressionAlgorithm::BSHUF_LZ4);
std::cout << "BSHUF/LZ4 " << CheckDecompression(x, nimages, image);
x.Compression(JFJochProtoBuf::BSHUF_ZSTD);
x.Compression(CompressionAlgorithm::BSHUF_ZSTD);
std::cout << "BSHUF/ZSTD " << CheckDecompression(x, nimages, image);
x.Compression(JFJochProtoBuf::BSHUF_ZSTD_RLE);
x.Compression(CompressionAlgorithm::BSHUF_ZSTD_RLE);
std::cout << "BSHUF/ZSTD (RLE) " << CheckDecompression(x, nimages, image);
}