v1.0.0-rc.81

This commit is contained in:
2025-09-21 19:27:51 +02:00
parent 3ded4cd3ce
commit 5d9d2de4a4
243 changed files with 3401 additions and 935 deletions

View File

@@ -216,6 +216,18 @@ inline void CBOR_ENC(CborEncoder &encoder, const SpotToSave& spot) {
cborErr(cbor_encoder_close_container(&encoder, &mapEncoder));
}
inline void CBOR_ENC(CborEncoder &encoder, const char* key, const XrayFluorescenceSpectrum& f) {
if (f.empty())
return;
CborEncoder mapEncoder;
cborErr(cbor_encode_text_stringz(&encoder, key));
cborErr(cbor_encoder_create_map(&encoder, &mapEncoder, CborIndefiniteLength));
CBOR_ENC(mapEncoder, "data", f.GetData());
CBOR_ENC(mapEncoder, "energy", f.GetEnergy_eV());
cborErr(cbor_encoder_close_container(&encoder, &mapEncoder));
}
inline void CBOR_ENC(CborEncoder &encoder, const Reflection& r) {
CborEncoder mapEncoder;
cborErr(cbor_encoder_create_map(&encoder, &mapEncoder, CborIndefiniteLength));
@@ -486,6 +498,9 @@ inline void CBOR_ENC_START_USER_DATA(CborEncoder& encoder, const char* key,
if (message.poni_rot3.has_value())
j["poni_rot3"] = message.poni_rot3.value();
if (message.detect_ice_rings.has_value())
j["detect_ice_rings"] = message.detect_ice_rings.value();
switch(message.indexing_algorithm) {
case IndexingAlgorithmEnum::FFBIDX:
j["indexing_algorithm"] = "ffbidx";
@@ -493,6 +508,9 @@ inline void CBOR_ENC_START_USER_DATA(CborEncoder& encoder, const char* key,
case IndexingAlgorithmEnum::FFT:
j["indexing_algorithm"] = "fft";
break;
case IndexingAlgorithmEnum::FFTW:
j["indexing_algorithm"] = "fftw";
break;
default:
j["indexing_algorithm"] = "none";
break;
@@ -561,6 +579,7 @@ void CBORStream2Serializer::SerializeSequenceStart(const StartMessage& message)
CBOR_ENC(mapEncoder, "detector_serial_number", message.detector_serial_number);
CBOR_ENC(mapEncoder, "series_unique_id", message.run_name);
CBOR_ENC(mapEncoder, "series_id", message.run_number);
CBOR_ENC(mapEncoder, "fluorescence", message.fluorescence_spectrum);
if (message.goniometer)
CBOR_ENC_GONIOMETER_MAP(mapEncoder, "goniometer", message);
@@ -647,7 +666,7 @@ void CBORStream2Serializer::SerializeImageInternal(CborEncoder &mapEncoder, cons
CBOR_ENC(mapEncoder, "spot_count", message.spot_count);
CBOR_ENC(mapEncoder, "spot_count_ice_rings", message.spot_count_ice_rings);
CBOR_ENC(mapEncoder, "spot_count_low_res", message.spot_count_low_res);
CBOR_ENC(mapEncoder, "spot_count_indexed", message.indexing_spot_count);
CBOR_ENC(mapEncoder, "spot_count_indexed", message.spot_count_indexed);
CBOR_ENC(mapEncoder, "az_int_profile", message.az_int_profile);
CBOR_ENC(mapEncoder, "indexing_result", message.indexing_result);
if (message.indexing_lattice)