// Copyright (2019-2022) Paul Scherrer Institute // SPDX-License-Identifier: GPL-3.0-or-later #include "ImagePusher.h" void PrepareCBORImage(DataMessage& message, const DiffractionExperiment &experiment, void *image, size_t image_size) { message.image.data = (uint8_t *) image; message.image.size = image_size; message.image.xpixel = experiment.GetXPixelsNum(); message.image.ypixel = experiment.GetYPixelsNum(); message.image.pixel_depth_bytes = experiment.GetPixelDepth(); message.image.pixel_is_signed = experiment.IsPixelSigned(); message.image.algorithm = experiment.GetCompressionAlgorithmEnum(); message.image.channel = "default"; } void PrepareDataMessageSpots(DataMessage& message, const std::vector& spots) { message.spots.clear(); for (const auto & spot : spots) message.spots.push_back(spot); } void ImagePusher::SendData(const std::vector &serialized_image, int64_t image_number) { SendDataInternal(serialized_image, image_number); }