Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR adds an
ok2move
script that identifies which positioners are likely ok to move based upon the geometry to their two nearest neighbors. This is intended to be used as part of the recovery for a collision incident where positioners can get trapped between others.ok2move
takes an input table of spots matched to positioners (e.g. using PR #102) and prints groups of positioners that are safe to move or optionally writes those lists to a file. It also optionally can output QA plots of the positioners in each group for a human double check before moving them (takes several minutes to generate all the plots at NERSC).The output text is intended for cutting-and-pasting to ICS
quick_move
, and is split into groups (adjustable with--groupsize
):Example output plots:
In the end, the intended procedure is that one would use this to identify positioners that could be safely moved, rehome those in groups, and then remeasure the location of all positioners and rerun
ok2move
to identify new positioners that are not safe to move.A potential improvement would be to identify which positioners are safe to move in +phi vs. -phi, but I'm starting with a PR for the minimally useful functionality, while trusting anti-collision checks to prevent further crashes; this PR just focuses the work on positioners that could move.