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).
(desi) [ok2move*] desimeter $ ok2move --help
usage: ok2move [options]
optional arguments:
-h, --help show this help message and exit
-i INPUT, --input INPUT
input table of spots matched to positioners
-o OUTPUT, --output OUTPUT
output file of positioners ok to move
-g GROUPSIZE, --groupsize GROUPSIZE
Size of groups of positioners for output [default 50]
--plotdir PLOTDIR base directory for QA plots (requires --fvcimage too)
--fvcimage FVCIMAGE input FVC image (required if --plotdir ...)
--extname EXTNAME extname of FVC file to use
The output text is intended for cutting-and-pasting to ICS quick_move, and is split into groups (adjustable with --groupsize):
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.
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.