DiamondLightSource / DiamondLightSource/fast-feedback-service

Reevaluate tie-breaking logic for peak signal selection in 3D reflections

Open
#58 0 comments 0 reactions 0 assignees View on GitHub
question
Dominant language
C++
Stars
3
Forks
3
Avg merge
17h 25m
Merged PRs (30d)
1

Description

In #55, I introduced a deterministic tie-breaking rule for selecting the peak signal in 3D reflections. This was part of a broader bugfix to resolve non-deterministic output resulting from incorrect assumptions I had made when adding 3d connect component analysis to the codebase.

The current tie-breaking approach selects the signal with the lowest z, then y, then x coordinate when multiple signals have the same maximum intensity. This mirrors DIALS behaviour and ensures consistency across runs, but - as brought up in discussion - this is not necessarily the "correct" method to use.

Some non-exhaustive alternatives include:
- Nearest peak to centroid distance
- Average peak to centroid distance
- Furthest peak to centroid distance

We should revisit whether the current z/y/x-based tie-breaking is justified - both here and in [DIALS](https://github.com/dials/dials) - or whether another method would yield more meaningful or robust results.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.