Save radial integration results in master file
This commit is contained in:
@@ -124,9 +124,9 @@ inline void CBOR_ENC_MULTIDIM_TYPED_ARRAY(CborEncoder &encoder, const char* key,
|
||||
cborErr(cbor_encoder_close_container(&encoder, &arrayEncoder));
|
||||
}
|
||||
|
||||
inline void CBOR_ENC(CborEncoder &encoder, const char* key,
|
||||
const std::map<std::string, std::vector<uint32_t>> &pixel_mask,
|
||||
size_t xpixel, size_t ypixel) {
|
||||
inline void CBOR_ENC_PIXEL_MASK(CborEncoder &encoder, const char* key,
|
||||
const std::map<std::string, std::vector<uint32_t>> &pixel_mask,
|
||||
size_t xpixel, size_t ypixel) {
|
||||
CborEncoder mapEncoder;
|
||||
cborErr(cbor_encode_text_stringz(&encoder, key));
|
||||
cborErr(cbor_encoder_create_map(&encoder, &mapEncoder, pixel_mask.size()));
|
||||
@@ -156,6 +156,16 @@ inline void CBOR_ENC(CborEncoder &encoder, const char* key, const std::vector<fl
|
||||
cborErr(cbor_encoder_close_container(&encoder, &arrayEncoder));
|
||||
}
|
||||
|
||||
inline void CBOR_ENC_RAD_INT_RESULT(CborEncoder &encoder, const char* key,
|
||||
const std::map<std::string, std::vector<float>> &rad_int_result) {
|
||||
CborEncoder mapEncoder;
|
||||
cborErr(cbor_encode_text_stringz(&encoder, key));
|
||||
cborErr(cbor_encoder_create_map(&encoder, &mapEncoder, rad_int_result.size()));
|
||||
for (auto &[map_key, map_val]: rad_int_result)
|
||||
CBOR_ENC(mapEncoder, map_key.c_str(), map_val);
|
||||
cborErr(cbor_encoder_close_container(&encoder, &mapEncoder));
|
||||
}
|
||||
|
||||
inline void CBOR_ENC(CborEncoder &encoder, const char* key, const std::vector<SpotToSave>& spots) {
|
||||
CborEncoder arrayEncoder;
|
||||
|
||||
@@ -367,7 +377,7 @@ void JFJochFrameSerializer::SerializeSequenceStart(const StartMessage& message)
|
||||
CBOR_ENC_GONIOMETER_MAP(mapEncoder, "goniometer", message.goniometer);
|
||||
|
||||
CBOR_ENC_USER_DATA(mapEncoder, message);
|
||||
CBOR_ENC(mapEncoder, "pixel_mask", message.pixel_mask, message.image_size_x, message.image_size_y);
|
||||
CBOR_ENC_PIXEL_MASK(mapEncoder, "pixel_mask", message.pixel_mask, message.image_size_x, message.image_size_y);
|
||||
CBOR_ENC_CHANNELS(mapEncoder, "channels", message.channels);
|
||||
|
||||
cborErr(cbor_encoder_close_container(&encoder, &mapEncoder));
|
||||
@@ -378,7 +388,7 @@ void JFJochFrameSerializer::SerializeSequenceEnd(const EndMessage& message) {
|
||||
CborEncoder encoder, mapEncoder;
|
||||
cbor_encoder_init(&encoder, buffer.data(), buffer.size(), 0);
|
||||
cborErr(cbor_encode_tag(&encoder,CborSignatureTag ));
|
||||
cborErr(cbor_encoder_create_map(&encoder, &mapEncoder, 8));
|
||||
cborErr(cbor_encoder_create_map(&encoder, &mapEncoder, 9));
|
||||
|
||||
CBOR_ENC(mapEncoder, "type", "end");
|
||||
CBOR_ENC(mapEncoder, "series_unique_id", message.series_unique_id);
|
||||
@@ -388,7 +398,7 @@ void JFJochFrameSerializer::SerializeSequenceEnd(const EndMessage& message) {
|
||||
CBOR_ENC(mapEncoder, "receiver_efficiency", message.efficiency);
|
||||
CBOR_ENC(mapEncoder, "write_master_file", message.write_master_file);
|
||||
CBOR_ENC(mapEncoder, "end_date", message.end_date);
|
||||
|
||||
CBOR_ENC_RAD_INT_RESULT(mapEncoder, "rad_int_result", message.rad_int_result);
|
||||
cborErr(cbor_encoder_close_container(&encoder, &mapEncoder));
|
||||
|
||||
curr_size = cbor_encoder_get_buffer_size(&encoder, buffer.data());
|
||||
|
||||
Reference in New Issue
Block a user