Status: To Do
Fix Version/s: None
Team:Data Release Production
There are occasional silent failures of the astrometry task in processCcd, that Dominique Boutigny has long complained about on Slack: e.g., https://lsstc.slack.com/archives/C978LTJGN/p1526484056000588 but that never got ticketed.
The gist of the problem is that sometimes the astrometry fails badly (in particular in many DESC DC2 u-band ccds, but there are probably other examples) but the fitter thinks everything is fine. This has led to Dominique Boutigny's script to check for these failures: https://github.com/LSSTDESC/ImageProcessingPipelines/blob/master/python/util/checkCcdAstrometry.py (see
DM-16301 for a ticket to add the logic from this script to processCcd).
Recent investigation (see, e.g., https://lsstc.slack.com/archives/C978LTJGN/p1543335472430300 and following) makes it seem like the culprit for most (all?) of these silent failures is that the fitter is trying to fit more SIP terms than there are constraints from the stars. When these stars are in only one section of the CCD, this leads to overfitting for the matched stars and wild extrapolations for other stars, leading to internal statistics from the fitter looking "good" but the overall fit being bad.
(In general, if the default order of the SIP fit is reduced to 2 this seems to greatly increase the success rate on simulated u-band images).
Specifically, for this ticket, I propose having the fitter raise an exception of there are not enough matched stars for the SIP order that was requested. This would turn silent failures into loud failures, as well as alerting the user of where things were going wrong.