JFJochReceiver: Save information on crystal lattice and spot indexing status to HDF5 file

This commit is contained in:
2023-05-18 10:46:46 +02:00
parent e3998a7488
commit bb4cee9b2d
12 changed files with 68 additions and 37 deletions

View File

@@ -179,12 +179,13 @@ inline void CBOR_ENC(CborEncoder &encoder, const char* key, const std::vector<Sp
CborEncoder arrayEncoder;
cborErr(cbor_encode_text_stringz(&encoder, key));
cborErr(cbor_encoder_create_array(&encoder, &arrayEncoder, spots.size() * 3));
cborErr(cbor_encoder_create_array(&encoder, &arrayEncoder, spots.size() * 4));
for (auto spot : spots) {
cborErr(cbor_encode_float(&arrayEncoder, spot.x));
cborErr(cbor_encode_float(&arrayEncoder, spot.y));
cborErr(cbor_encode_float(&arrayEncoder, spot.intensity));
cborErr(cbor_encode_boolean(&arrayEncoder, spot.indexed));
}
cborErr(cbor_encoder_close_container(&encoder, &arrayEncoder));
}
@@ -428,11 +429,12 @@ void JFJochFrameSerializer::SerializeImage(const DataMessage& message) {
message.timestamp_base);
cborErr(cbor_encode_text_stringz(&mapEncoder, "user_data"));
cborErr(cbor_encoder_create_map(&mapEncoder, &userDataMapEncoder, 6));
cborErr(cbor_encoder_create_map(&mapEncoder, &userDataMapEncoder, 7));
CBOR_ENC(userDataMapEncoder, "spots", message.spots);
CBOR_ENC(userDataMapEncoder, "rad_int_profile", message.rad_int_profile);
CBOR_ENC(userDataMapEncoder, "indexing_result", message.indexing_result);
CBOR_ENC(userDataMapEncoder, "indexing_lattice", message.indexing_lattice);
CBOR_ENC(userDataMapEncoder, "bunch_id", message.bunch_id);
CBOR_ENC(userDataMapEncoder, "jf_info", (uint64_t) message.jf_info);
CBOR_ENC(userDataMapEncoder, "storage_cell", (uint64_t) message.storage_cell);