v1.0.0-rc.148 (#58)
Build Packages / Unit tests (push) Skipped
Build Packages / build:rpm (rocky8_nocuda) (push) Successful in 9m28s
Build Packages / build:rpm (rocky9_nocuda) (push) Successful in 10m9s
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Successful in 9m47s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Successful in 10m58s
Build Packages / build:rpm (rocky8_sls9) (push) Successful in 11m39s
Build Packages / build:rpm (rocky8) (push) Successful in 11m43s
Build Packages / build:rpm (rocky9_sls9) (push) Successful in 12m59s
Build Packages / Generate python client (push) Successful in 35s
Build Packages / Build documentation (push) Successful in 59s
Build Packages / Create release (push) Skipped
Build Packages / build:rpm (ubuntu2204) (push) Successful in 11m48s
Build Packages / build:rpm (rocky9) (push) Successful in 12m32s
Build Packages / build:rpm (ubuntu2404) (push) Successful in 10m24s
Build Packages / XDS test (durin plugin) (push) Successful in 7m35s
Build Packages / XDS test (neggia plugin) (push) Successful in 6m50s
Build Packages / XDS test (JFJoch plugin) (push) Successful in 7m40s
Build Packages / DIALS test (push) Successful in 11m19s
Build Packages / Unit tests (push) Skipped
Build Packages / build:rpm (rocky8_nocuda) (push) Successful in 9m28s
Build Packages / build:rpm (rocky9_nocuda) (push) Successful in 10m9s
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Successful in 9m47s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Successful in 10m58s
Build Packages / build:rpm (rocky8_sls9) (push) Successful in 11m39s
Build Packages / build:rpm (rocky8) (push) Successful in 11m43s
Build Packages / build:rpm (rocky9_sls9) (push) Successful in 12m59s
Build Packages / Generate python client (push) Successful in 35s
Build Packages / Build documentation (push) Successful in 59s
Build Packages / Create release (push) Skipped
Build Packages / build:rpm (ubuntu2204) (push) Successful in 11m48s
Build Packages / build:rpm (rocky9) (push) Successful in 12m32s
Build Packages / build:rpm (ubuntu2404) (push) Successful in 10m24s
Build Packages / XDS test (durin plugin) (push) Successful in 7m35s
Build Packages / XDS test (neggia plugin) (push) Successful in 6m50s
Build Packages / XDS test (JFJoch plugin) (push) Successful in 7m40s
Build Packages / DIALS test (push) Successful in 11m19s
This is an UNSTABLE release. The release has significant modifications for data processing - in case of troubles go back to 1.0.0-rc.144. * jfjoch_broker: Improve azimuthal integration (add <I^2> calculation) * jfjoch_broker: Fixes around indexing, aiming to handle multi-lattice crystals (work in progress, it is not fully integrated) * jfjoch_writer: Save mean(I), stddev(I), and count(I) for each azimuthal bin Reviewed-on: #58
This commit was merged in pull request #58.
This commit is contained in:
@@ -446,6 +446,8 @@ namespace {
|
||||
s.ice_ring = GetCBORBool(map_value);
|
||||
else if (key == "indexed")
|
||||
s.indexed = GetCBORBool(map_value);
|
||||
else if (key == "latt")
|
||||
s.lattice = GetCBORInt(map_value);
|
||||
else if (key == "h")
|
||||
s.h = GetCBORInt(map_value);
|
||||
else if (key == "k")
|
||||
@@ -711,12 +713,29 @@ namespace {
|
||||
message.spot_count_ice_rings = GetCBORUInt(value);
|
||||
else if (key == "az_int_profile")
|
||||
GetCBORFloatArray(value, message.az_int_profile);
|
||||
else if (key == "az_int_profile_std")
|
||||
GetCBORFloatArray(value, message.az_int_profile_std);
|
||||
else if (key == "az_int_profile_count")
|
||||
GetCBORUInt64Array(value, message.az_int_profile_count);
|
||||
else if (key == "indexing_result")
|
||||
message.indexing_result = GetCBORBool(value);
|
||||
else if (key == "indexing_lattice_count")
|
||||
message.indexing_lattice_count = GetCBORInt(value);
|
||||
else if (key == "indexing_lattice") {
|
||||
std::vector<float> tmp;
|
||||
GetCBORFloatArray(value, tmp);
|
||||
message.indexing_lattice = CrystalLattice(tmp);
|
||||
} else if (key == "indexing_extra_lattices") {
|
||||
size_t array_len = GetCBORArrayLen(value);
|
||||
CborValue array_value;
|
||||
cborErr(cbor_value_enter_container(&value, &array_value));
|
||||
for (size_t i = 0; i < array_len; i++) {
|
||||
std::vector<float> tmp;
|
||||
GetCBORFloatArray(array_value, tmp);
|
||||
if (tmp.size() == 9)
|
||||
message.indexing_extra_lattices.emplace_back(tmp);
|
||||
}
|
||||
cborErr(cbor_value_leave_container(&value, &array_value));
|
||||
} else if (key == "indexing_time")
|
||||
message.indexing_time_s = GetCBORFloat(value);
|
||||
else if (key == "spot_finding_time")
|
||||
@@ -1020,6 +1039,14 @@ namespace {
|
||||
cborErr(cbor_value_leave_container(&value, &map_value));
|
||||
}
|
||||
|
||||
void ProcessAzintMapElement(StartMessage &message, CborValue &value) {
|
||||
CompressedImage image = GetCBORMultidimTypedArray(value);
|
||||
if (image.GetMode() == CompressedImageMode::Uint16)
|
||||
JFJochDecompress(message.az_int_map, image.GetCompressionAlgorithm(),
|
||||
image.GetCompressed(), image.GetCompressedSize(),
|
||||
image.GetWidth() * image.GetHeight());
|
||||
}
|
||||
|
||||
std::optional<FileWriterFormat> ProcessHDF5Format(int input) {
|
||||
auto tmp = static_cast<FileWriterFormat>(input);
|
||||
switch (tmp) {
|
||||
@@ -1181,6 +1208,8 @@ namespace {
|
||||
message.run_number = GetCBORUInt(value);
|
||||
else if (key == "pixel_mask")
|
||||
ProcessPixelMaskElement(message, value);
|
||||
else if (key == "az_int_map")
|
||||
ProcessAzintMapElement(message, value);
|
||||
else if (key == "channels")
|
||||
GetCBORStringArray(value, message.channels);
|
||||
else if (key == "detector_translation")
|
||||
@@ -1207,6 +1236,8 @@ namespace {
|
||||
message.unit_cell = ProcessUnitCellElement(value);
|
||||
else if (key == "max_spot_count")
|
||||
message.max_spot_count = GetCBORUInt(value);
|
||||
else if (key == "max_extra_lattices")
|
||||
message.max_extra_lattices = GetCBORUInt(value);
|
||||
else if (key == "threshold_energy")
|
||||
message.threshold_energy = ProcessThresholdEnergy(value);
|
||||
else if (key == "image_dtype") {
|
||||
@@ -1338,6 +1369,8 @@ namespace {
|
||||
message.bkg_estimate = GetCBORFloat(value);
|
||||
else if (key == "indexing_rate")
|
||||
message.indexing_rate = GetCBORFloat(value);
|
||||
else if (key == "indexed_lattice_count")
|
||||
GetCBORInt32Array(value, message.indexed_lattice_count);
|
||||
else if (key == "data_collection_efficiency_image")
|
||||
GetCBORFloatArray(value, message.data_collection_efficiency);
|
||||
else if (key == "spot_count")
|
||||
@@ -1390,7 +1423,18 @@ namespace {
|
||||
message.rotation_lattice = CrystalLattice(tmp);
|
||||
} else if (key == "rotation_lattice_type")
|
||||
message.rotation_lattice_type = GetCBORLatticeMessage(value);
|
||||
else
|
||||
else if (key == "rotation_extra_lattices") {
|
||||
size_t array_len = GetCBORArrayLen(value);
|
||||
CborValue array_value;
|
||||
cborErr(cbor_value_enter_container(&value, &array_value));
|
||||
for (size_t i = 0; i < array_len; i++) {
|
||||
std::vector<float> tmp;
|
||||
GetCBORFloatArray(array_value, tmp);
|
||||
if (tmp.size() == 9)
|
||||
message.rotation_extra_lattices.emplace_back(tmp);
|
||||
}
|
||||
cborErr(cbor_value_leave_container(&value, &array_value));
|
||||
} else
|
||||
cbor_value_advance(&value);
|
||||
return true;
|
||||
} catch (const JFJochException &e) {
|
||||
|
||||
Reference in New Issue
Block a user