Closed julienguy closed 4 years ago
This looks good to me. To capture for the future, my current thoughts on next steps are:
RECENT_REHOME
condition automatically by inspecting the logs.EPSILON
functionality.
fithandler.py
, while simplifying fitter.py
.STATIC
, DYNAMIC
to:
HARDSTOPS
... uses only a single RECENT_REHOME
sequence. Key output is OFFSET_T
, P
. "Ignore" everything else (though of course still save everything to output file)
LENGTHS
... uses all data. Key output is LENGTH_R1
, R2
and OFFSET_X
, Y
SCALES
... uses all data. Key output is SCALE_T
and SCALE_P
FIT_TARGETS
, string, comma separated list from among LENGTH_R1, LENGTH_R2, OFFSET_X, OFFSET_Y, OFFSET_T, OFFSET_P, SCALE_T, SCALE_P
.FLAGS
Add option
--recent-rehome
to declare inget_posmoves
which calibration exposure(s) had a recent rehome. This sets to true the values in the columnRECENT_REHOME
for the moves of these exposures. Ex.Use this information in the fit: Add as many extra (nuisance) parameters
EPSILON_T,P_xxx
as there are sequences of "consistent POS_T,P" for which RECENT_REHOME=False. TheEPSILON_T,P
absorb the drifts ofPOS_T,P
such that the parametersOFFSET_T,P
only encode the actual orientation of the positioners in the petal.The fitter is now complex and really needs to be reorganized, but it would be useful to commit and tag the current version that is working, because it includes what we want (covariances, outlier rejection, flags and detection of failures, fit of OFFSET_T,P only on rehomed data).
Full example