Merge: Apply systematic absences to merging/merging statistics
Build Packages / Unit tests (push) Failing after 8m2s
Build Packages / build:rpm (rocky8_nocuda) (push) Failing after 8m51s
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Failing after 9m29s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Failing after 9m49s
Build Packages / build:rpm (rocky9_nocuda) (push) Failing after 10m22s
Build Packages / build:rpm (rocky9_sls9) (push) Failing after 11m32s
Build Packages / build:rpm (rocky8_sls9) (push) Failing after 11m41s
Build Packages / build:rpm (rocky8) (push) Failing after 11m43s
Build Packages / Generate python client (push) Successful in 1m11s
Build Packages / Build documentation (push) Successful in 2m42s
Build Packages / Create release (push) Skipped
Build Packages / build:rpm (rocky9) (push) Failing after 8m5s
Build Packages / build:rpm (ubuntu2204) (push) Failing after 8m42s
Build Packages / XDS test (durin plugin) (push) Successful in 9m39s
Build Packages / XDS test (JFJoch plugin) (push) Failing after 9m50s
Build Packages / build:rpm (ubuntu2404) (push) Failing after 12m30s
Build Packages / XDS test (neggia plugin) (push) Successful in 12m20s
Build Packages / DIALS test (push) Successful in 17m44s

This commit is contained in:
2026-05-17 20:56:20 +02:00
parent 1d3ccdaa00
commit be341e4cce
3 changed files with 17 additions and 0 deletions
+8
View File
@@ -68,6 +68,14 @@ HKLKey HKLKeyGenerator::operator()(int32_t h, int32_t k, int32_t l) const {
return key;
}
bool HKLKeyGenerator::IsSystematicallyAbsent(int32_t h, int32_t k, int32_t l) const {
return ops.is_systematically_absent(gemmi::Op::Miller{h, k, l});
}
bool HKLKeyGenerator::IsSystematicallyAbsent(const Reflection &r) const {
return IsSystematicallyAbsent(r.h, r.k, r.l);
}
bool AcceptReflection(const Reflection &r, std::optional<double> d_min_limit) {
if (!std::isfinite(r.I))
return false;
+3
View File
@@ -39,6 +39,9 @@ public:
HKLKey operator()(const Reflection &r) const;
HKLKey operator()(const MergedReflection &r) const;
HKLKey operator()(int32_t h, int32_t k, int32_t l) const;
bool IsSystematicallyAbsent(int32_t h, int32_t k, int32_t l) const;
bool IsSystematicallyAbsent(const Reflection &r) const;
};
HKLKey CanonicalHKL(const Reflection &r, bool merge_friedel, const std::optional<gemmi::SpaceGroup> &sg);
+6
View File
@@ -99,6 +99,9 @@ std::vector<MergedReflection> MergeAll(const DiffractionExperiment &x,
if (reflections[i].empty())
continue;
for (const auto &r: reflections[i]) {
if (key_generator.IsSystematicallyAbsent(r))
continue;
if (r.image_scale_corr <= 0.0 || !std::isfinite(r.image_scale_corr))
continue;
if (!AcceptReflection(r, high_resolution_limit))
@@ -286,6 +289,9 @@ MergeStatistics MergeStats(const DiffractionExperiment &x,
continue;
for (const auto &r: reflections[i]) {
if (key_generator.IsSystematicallyAbsent(r))
continue;
if (r.image_scale_corr <= 0.0 || !std::isfinite(r.image_scale_corr))
continue;