v1.0.0-rc.146 (#56)
Build Packages / Unit tests (push) Skipped
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Successful in 8m34s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Successful in 10m0s
Build Packages / build:rpm (rocky8_nocuda) (push) Successful in 10m23s
Build Packages / build:rpm (rocky8_sls9) (push) Successful in 10m23s
Build Packages / build:rpm (rocky9_nocuda) (push) Successful in 11m16s
Build Packages / build:rpm (rocky9_sls9) (push) Successful in 11m49s
Build Packages / build:rpm (ubuntu2404) (push) Successful in 8m32s
Build Packages / build:rpm (ubuntu2204) (push) Successful in 9m15s
Build Packages / XDS test (durin plugin) (push) Successful in 7m16s
Build Packages / Generate python client (push) Successful in 16s
Build Packages / build:rpm (rocky9) (push) Successful in 10m12s
Build Packages / Create release (push) Skipped
Build Packages / Build documentation (push) Successful in 47s
Build Packages / DIALS test (push) Successful in 10m18s
Build Packages / XDS test (JFJoch plugin) (push) Successful in 5m46s
Build Packages / build:rpm (rocky8) (push) Successful in 1h41m2s
Build Packages / XDS test (neggia plugin) (push) Successful in 1h59m18s
Build Packages / Unit tests (push) Skipped
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Successful in 8m34s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Successful in 10m0s
Build Packages / build:rpm (rocky8_nocuda) (push) Successful in 10m23s
Build Packages / build:rpm (rocky8_sls9) (push) Successful in 10m23s
Build Packages / build:rpm (rocky9_nocuda) (push) Successful in 11m16s
Build Packages / build:rpm (rocky9_sls9) (push) Successful in 11m49s
Build Packages / build:rpm (ubuntu2404) (push) Successful in 8m32s
Build Packages / build:rpm (ubuntu2204) (push) Successful in 9m15s
Build Packages / XDS test (durin plugin) (push) Successful in 7m16s
Build Packages / Generate python client (push) Successful in 16s
Build Packages / build:rpm (rocky9) (push) Successful in 10m12s
Build Packages / Create release (push) Skipped
Build Packages / Build documentation (push) Successful in 47s
Build Packages / DIALS test (push) Successful in 10m18s
Build Packages / XDS test (JFJoch plugin) (push) Successful in 5m46s
Build Packages / build:rpm (rocky8) (push) Successful in 1h41m2s
Build Packages / XDS test (neggia plugin) (push) Successful in 1h59m18s
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_process: Generate a dedicated file (_process.h5), which can be used as a replacement for the _master.h5 file for a reanalyzed dataset. jfjoch_process: Improve the performance of scaling and merging, implement on the fly scaling. jfjoch_writer: All final data analysis results are repopulated in the _master.h5 file. jfjoch_scale: Dedicated tool for rescaling/merging existing data. jfjoch_viewer: Fix bugs where pixel labels where displayed on a wrong pixel. WARNING! Scaling and merging are experimental at the moment, and may not provide reasonable results for the time being. Reviewed-on: #56
This commit was merged in pull request #56.
This commit is contained in:
@@ -228,6 +228,42 @@ namespace {
|
||||
return {ptr, len};
|
||||
}
|
||||
|
||||
void GetCBORUInt8Array(CborValue &value, std::vector<uint8_t> &v) {
|
||||
if (GetCBORTag(value) != TagUnsignedInt8Bit)
|
||||
throw JFJochException(JFJochExceptionCategory::CBORError, "Incorrect array type tag");
|
||||
|
||||
auto [ptr, len] = GetCBORByteString(value);
|
||||
|
||||
v.resize(len);
|
||||
memcpy(v.data(), ptr, len);
|
||||
}
|
||||
|
||||
void GetCBORInt32Array(CborValue &value, std::vector<int32_t> &v) {
|
||||
if (GetCBORTag(value) != TagSignedInt32BitLE)
|
||||
throw JFJochException(JFJochExceptionCategory::CBORError, "Incorrect array type tag");
|
||||
|
||||
auto [ptr, len] = GetCBORByteString(value);
|
||||
|
||||
if (len % sizeof(int32_t))
|
||||
throw JFJochException(JFJochExceptionCategory::CBORError, "Size mismatch");
|
||||
|
||||
v.resize(len / sizeof(int32_t));
|
||||
memcpy(v.data(), ptr, len);
|
||||
}
|
||||
|
||||
void GetCBORInt64Array(CborValue &value, std::vector<int64_t> &v) {
|
||||
if (GetCBORTag(value) != TagSignedInt64BitLE)
|
||||
throw JFJochException(JFJochExceptionCategory::CBORError, "Incorrect array type tag");
|
||||
|
||||
auto [ptr, len] = GetCBORByteString(value);
|
||||
|
||||
if (len % sizeof(int64_t))
|
||||
throw JFJochException(JFJochExceptionCategory::CBORError, "Size mismatch");
|
||||
|
||||
v.resize(len / sizeof(int64_t));
|
||||
memcpy(v.data(), ptr, len);
|
||||
}
|
||||
|
||||
void GetCBORFloatArray(CborValue &value, std::vector<float> &v) {
|
||||
if (GetCBORTag(value) != TagFloatLE)
|
||||
throw JFJochException(JFJochExceptionCategory::CBORError, "Incorrect array type tag");
|
||||
@@ -455,6 +491,10 @@ namespace {
|
||||
r.predicted_x = GetCBORFloat(map_value);
|
||||
else if (key == "y")
|
||||
r.predicted_y = GetCBORFloat(map_value);
|
||||
else if (key == "obs_x")
|
||||
r.observed_x = GetCBORFloat(map_value);
|
||||
else if (key == "obs_y")
|
||||
r.observed_y = GetCBORFloat(map_value);
|
||||
else if (key == "d")
|
||||
r.d = GetCBORFloat(map_value);
|
||||
else if (key == "I")
|
||||
@@ -473,6 +513,8 @@ namespace {
|
||||
r.partiality = GetCBORFloat(map_value);
|
||||
else if (key == "zeta")
|
||||
r.zeta = GetCBORFloat(map_value);
|
||||
else if (key == "image_scale_corr")
|
||||
r.image_scale_corr = GetCBORFloat(map_value);
|
||||
else
|
||||
cbor_value_advance(&map_value);
|
||||
}
|
||||
@@ -691,6 +733,10 @@ namespace {
|
||||
message.processing_time_s = GetCBORFloat(value);
|
||||
else if (key == "preprocessing_time")
|
||||
message.preprocessing_time_s = GetCBORFloat(value);
|
||||
else if (key == "compression_time")
|
||||
message.compression_time_s = GetCBORFloat(value);
|
||||
else if (key == "image_scale_time")
|
||||
message.image_scale_time_s = GetCBORFloat(value);
|
||||
else if (key == "azint_time")
|
||||
message.azint_time_s = GetCBORFloat(value);
|
||||
else if (key == "profile_radius")
|
||||
@@ -749,6 +795,14 @@ namespace {
|
||||
message.beam_corr_x = GetCBORFloat(value);
|
||||
else if (key == "beam_corr_y")
|
||||
message.beam_corr_y = GetCBORFloat(value);
|
||||
else if (key == "image_scale_factor")
|
||||
message.image_scale_factor = GetCBORFloat(value);
|
||||
else if (key == "image_scale_cc")
|
||||
message.image_scale_cc = GetCBORFloat(value);
|
||||
else if (key == "image_scale_mosaicity")
|
||||
message.image_scale_mosaicity = GetCBORFloat(value);
|
||||
else if (key == "image_scale_b_factor")
|
||||
message.image_scale_b_factor = GetCBORFloat(value);
|
||||
else if (key == "roi_integrals")
|
||||
ProcessROIElementMap(message, value);
|
||||
else {
|
||||
@@ -1012,6 +1066,8 @@ namespace {
|
||||
ProcessROIConfig(message, j["roi"]);
|
||||
if (j.contains("gain_file_names"))
|
||||
message.gain_file_names = j["gain_file_names"];
|
||||
if (j.contains("write_images"))
|
||||
message.write_images = j["write_images"];
|
||||
if (j.contains("write_master_file"))
|
||||
message.write_master_file = j["write_master_file"];
|
||||
if (j.contains("data_reduction_factor_serialmx"))
|
||||
@@ -1282,8 +1338,52 @@ namespace {
|
||||
message.bkg_estimate = GetCBORFloat(value);
|
||||
else if (key == "indexing_rate")
|
||||
message.indexing_rate = GetCBORFloat(value);
|
||||
else if (key == "data_collection_efficiency_image")
|
||||
GetCBORFloatArray(value, message.data_collection_efficiency);
|
||||
else if (key == "spot_count")
|
||||
GetCBORInt32Array(value, message.spot_count);
|
||||
else if (key == "spot_count_ice_ring")
|
||||
GetCBORInt32Array(value, message.spot_count_ice_ring);
|
||||
else if (key == "spot_count_low_res")
|
||||
GetCBORInt32Array(value, message.spot_count_low_res);
|
||||
else if (key == "spot_count_indexed")
|
||||
GetCBORInt32Array(value, message.spot_count_indexed);
|
||||
else if (key == "image_indexed")
|
||||
GetCBORUInt8Array(value, message.image_indexed);
|
||||
else if (key == "v_bkg_estimate")
|
||||
GetCBORFloatArray(value, message.v_bkg_estimate);
|
||||
else if (key == "profile_radius")
|
||||
GetCBORFloatArray(value, message.profile_radius);
|
||||
else if (key == "mosaicity")
|
||||
GetCBORFloatArray(value, message.mosaicity);
|
||||
else if (key == "bFactor")
|
||||
GetCBORFloatArray(value, message.bFactor);
|
||||
else if (key == "resolution_estimate")
|
||||
GetCBORFloatArray(value, message.resolution_estimate);
|
||||
else if (key == "min_viable_pixel_value")
|
||||
GetCBORInt64Array(value, message.min_viable_pixel_value);
|
||||
else if (key == "max_viable_pixel_value")
|
||||
GetCBORInt64Array(value, message.max_viable_pixel_value);
|
||||
else if (key == "saturated_pixel_count")
|
||||
GetCBORInt32Array(value, message.saturated_pixel_count);
|
||||
else if (key == "error_pixel_count")
|
||||
GetCBORInt32Array(value, message.error_pixel_count);
|
||||
else if (key == "image_scale_factor")
|
||||
GetCBORFloatArray(value, message.scale_factor);
|
||||
GetCBORFloatArray(value, message.image_scale_factor);
|
||||
else if (key == "image_scale_cc")
|
||||
GetCBORFloatArray(value, message.image_scale_cc);
|
||||
else if (key == "image_scale_mosaicity")
|
||||
GetCBORFloatArray(value, message.image_scale_mosaicity);
|
||||
else if (key == "image_scale_b_factor")
|
||||
GetCBORFloatArray(value, message.image_scale_b_factor);
|
||||
else if (key == "integrated_reflections")
|
||||
GetCBORInt32Array(value, message.integrated_reflections);
|
||||
else if (key == "niggli_class")
|
||||
GetCBORUInt8Array(value, message.niggli_class);
|
||||
else if (key == "unit_cell")
|
||||
message.unit_cell = ProcessUnitCellElement(value);
|
||||
else if (key == "pixel_sum")
|
||||
GetCBORInt64Array(value, message.pixel_sum);
|
||||
else if (key == "rotation_lattice") {
|
||||
std::vector<float> tmp;
|
||||
GetCBORFloatArray(value, tmp);
|
||||
|
||||
Reference in New Issue
Block a user