29 lines
1.1 KiB
C++
29 lines
1.1 KiB
C++
// 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<DiffractionSpot>& spots) {
|
|
message.spots.clear();
|
|
for (const auto & spot : spots)
|
|
message.spots.push_back(spot);
|
|
}
|
|
|
|
void ImagePusher::SendData(const std::vector<uint8_t> &serialized_image, int64_t image_number) {
|
|
SendDataInternal(serialized_image, image_number);
|
|
} |