From 43a12c23c465daa056cd3aaaea29971fad8b0fd4 Mon Sep 17 00:00:00 2001 From: James Beilsten-Edmands <30625594+jbeilstenedmands@users.noreply.github.com> Date: Mon, 20 May 2024 16:27:41 +0100 Subject: [PATCH 1/3] Consistent return type for uncalculable ccs --- src/dials/algorithms/scaling/scaling_library.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/dials/algorithms/scaling/scaling_library.py b/src/dials/algorithms/scaling/scaling_library.py index d8cdd59b8fe..a3929a97dd0 100644 --- a/src/dials/algorithms/scaling/scaling_library.py +++ b/src/dials/algorithms/scaling/scaling_library.py @@ -494,7 +494,7 @@ def weighted_cchalf( if not use_binning: assert other.indices().size() == this.indices().size() if this.data().size() == 0: - return None, None + return [(None, 0)] if assume_index_matching: (o, c) = (this, other) @@ -507,7 +507,7 @@ def weighted_cchalf( assert len(c.sigmas()) n = len(o.data()) if n == 1: - return None, 1 + return [(None, 1)] v_o = flex.pow2(o.sigmas()) v_c = flex.pow2(c.sigmas()) joint_w = 1.0 / (v_o + v_c) @@ -522,7 +522,7 @@ def weighted_cchalf( sx = flex.sum(flex.pow2(dx) * norm_jw) sy = flex.sum(flex.pow2(dy) * norm_jw) if sx == 0.0 or sy == 0.0: - return None, 0 + return [(None, 0)] # effective sample size of weighted sample # Kish, Leslie. 1965. Survey Sampling New York: Wiley. (R documentation) # neff = sum(w)^2 / sum(w^2). But sum(w) == 1 as normalised already From 310747be9dc1e6f1941780aa55bf64606a8e1817 Mon Sep 17 00:00:00 2001 From: James Beilsten-Edmands <30625594+jbeilstenedmands@users.noreply.github.com> Date: Tue, 21 May 2024 13:40:55 +0100 Subject: [PATCH 2/3] Add news --- newsfragments/XXX.bugfix | 1 + src/dials/algorithms/scaling/scaling_library.py | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 newsfragments/XXX.bugfix diff --git a/newsfragments/XXX.bugfix b/newsfragments/XXX.bugfix new file mode 100644 index 00000000000..00980f672f7 --- /dev/null +++ b/newsfragments/XXX.bugfix @@ -0,0 +1 @@ +``dials.cosym``: Make function return structure correct in recently added cc_weights option diff --git a/src/dials/algorithms/scaling/scaling_library.py b/src/dials/algorithms/scaling/scaling_library.py index a3929a97dd0..193887297e3 100644 --- a/src/dials/algorithms/scaling/scaling_library.py +++ b/src/dials/algorithms/scaling/scaling_library.py @@ -522,7 +522,7 @@ def weighted_cchalf( sx = flex.sum(flex.pow2(dx) * norm_jw) sy = flex.sum(flex.pow2(dy) * norm_jw) if sx == 0.0 or sy == 0.0: - return [(None, 0)] + return [(None, 1)] # effective sample size of weighted sample # Kish, Leslie. 1965. Survey Sampling New York: Wiley. (R documentation) # neff = sum(w)^2 / sum(w^2). But sum(w) == 1 as normalised already From 76bcfba4d09ab8000890da65418bfccd0d06fbd2 Mon Sep 17 00:00:00 2001 From: DiamondLightSource-build-server Date: Tue, 21 May 2024 12:43:20 +0000 Subject: [PATCH 3/3] Rename newsfragments/XXX.bugfix to newsfragments/2668.bugfix --- newsfragments/{XXX.bugfix => 2668.bugfix} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename newsfragments/{XXX.bugfix => 2668.bugfix} (100%) diff --git a/newsfragments/XXX.bugfix b/newsfragments/2668.bugfix similarity index 100% rename from newsfragments/XXX.bugfix rename to newsfragments/2668.bugfix