Now, in isrTask, there is a doVignette config said to "Apply vignetting parameters", but I am very puzzled by this option. It fires only after all the other ISR operations have fired (so none of them would know about any effect this operation has). If True, it calls the VignetteTask in ip_isr, but that task returns None unless the config parameter doWriteVignettePolygon is True, in which case it returns a polygon. In other words, if doWriteVignettePolygon is False, the call to this function is a no-op, so why make it at all? Also, the function gets an exposure passed in as a required parameter, but as far as I can tell, it is not used (nor updated) in the function. If doWriteVignettePolygon is indeed True, then the validPolygon is attached to the exposure (but it doesn't seem that any mask bits are set...but that might be as intended).
This all seems to be a bit of a mess as one can have a validPolygon representing the vignetted region attached to an exposure, but this does not imply a mask bit will be set...
This purpose of this ticket is to clean up the logic surrounding the validPolygon setting and masking, and usage therein, of the vignetted region of a detector.