// Copyright (2019-2023) Paul Scherrer Institute #ifndef JUNGFRAUJOCH_FRAMETRANSFORMATION_H #define JUNGFRAUJOCH_FRAMETRANSFORMATION_H #include "DiffractionExperiment.h" #include "../compression/JFJochCompressor.h" class FrameTransformation { const DiffractionExperiment& experiment; JFJochBitShuffleCompressor compressor; std::vector precompression_buffer; const bool pixel_signed; const size_t pixel_depth; public: explicit FrameTransformation(const DiffractionExperiment &experiment); void ProcessModule(const void *input, uint16_t module_number, int data_stream); size_t SaveCompressedImage(void *output); const void *GetPreviewImage() const; }; #endif //JUNGFRAUJOCH_FRAMETRANSFORMATION_H